1{
2    "smithy": "1.0",
3    "metadata": {
4        "suppressions": [
5            {
6                "id": "HttpMethodSemantics",
7                "namespace": "*"
8            },
9            {
10                "id": "HttpResponseCodeSemantics",
11                "namespace": "*"
12            },
13            {
14                "id": "PaginatedTrait",
15                "namespace": "*"
16            },
17            {
18                "id": "HttpHeaderTrait",
19                "namespace": "*"
20            },
21            {
22                "id": "HttpUriConflict",
23                "namespace": "*"
24            },
25            {
26                "id": "Service",
27                "namespace": "*"
28            }
29        ]
30    },
31    "shapes": {
32        "com.amazonaws.fis#Action": {
33            "type": "structure",
34            "members": {
35                "id": {
36                    "target": "com.amazonaws.fis#ActionId",
37                    "traits": {
38                        "smithy.api#documentation": "<p>The ID of the action.</p>"
39                    }
40                },
41                "description": {
42                    "target": "com.amazonaws.fis#ActionDescription",
43                    "traits": {
44                        "smithy.api#documentation": "<p>The description for the action.</p>"
45                    }
46                },
47                "parameters": {
48                    "target": "com.amazonaws.fis#ActionParameterMap",
49                    "traits": {
50                        "smithy.api#documentation": "<p>The action parameters, if applicable.</p>"
51                    }
52                },
53                "targets": {
54                    "target": "com.amazonaws.fis#ActionTargetMap",
55                    "traits": {
56                        "smithy.api#documentation": "<p>The supported targets for the action.</p>"
57                    }
58                },
59                "tags": {
60                    "target": "com.amazonaws.fis#TagMap",
61                    "traits": {
62                        "smithy.api#documentation": "<p>The tags for the action.</p>"
63                    }
64                }
65            },
66            "traits": {
67                "smithy.api#documentation": "<p>Describes an action. For more information, see <a href=\"https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html\">AWS FIS actions</a> \n         in the <i>AWS Fault Injection Simulator User Guide</i>.</p>"
68            }
69        },
70        "com.amazonaws.fis#ActionDescription": {
71            "type": "string",
72            "traits": {
73                "smithy.api#length": {
74                    "min": 0,
75                    "max": 512
76                },
77                "smithy.api#pattern": "[\\s\\S]+"
78            }
79        },
80        "com.amazonaws.fis#ActionId": {
81            "type": "string",
82            "traits": {
83                "smithy.api#length": {
84                    "min": 0,
85                    "max": 128
86                },
87                "smithy.api#pattern": "[\\S]+"
88            }
89        },
90        "com.amazonaws.fis#ActionParameter": {
91            "type": "structure",
92            "members": {
93                "description": {
94                    "target": "com.amazonaws.fis#ActionParameterDescription",
95                    "traits": {
96                        "smithy.api#documentation": "<p>The parameter description.</p>"
97                    }
98                },
99                "required": {
100                    "target": "com.amazonaws.fis#ActionParameterRequired",
101                    "traits": {
102                        "smithy.api#box": {},
103                        "smithy.api#documentation": "<p>Indicates whether the parameter is required.</p>"
104                    }
105                }
106            },
107            "traits": {
108                "smithy.api#documentation": "<p>Describes a parameter for an action.</p>"
109            }
110        },
111        "com.amazonaws.fis#ActionParameterDescription": {
112            "type": "string",
113            "traits": {
114                "smithy.api#length": {
115                    "min": 0,
116                    "max": 512
117                },
118                "smithy.api#pattern": "[\\s\\S]+"
119            }
120        },
121        "com.amazonaws.fis#ActionParameterMap": {
122            "type": "map",
123            "key": {
124                "target": "com.amazonaws.fis#ActionParameterName"
125            },
126            "value": {
127                "target": "com.amazonaws.fis#ActionParameter"
128            }
129        },
130        "com.amazonaws.fis#ActionParameterName": {
131            "type": "string",
132            "traits": {
133                "smithy.api#length": {
134                    "min": 0,
135                    "max": 64
136                },
137                "smithy.api#pattern": "[\\S]+"
138            }
139        },
140        "com.amazonaws.fis#ActionParameterRequired": {
141            "type": "boolean"
142        },
143        "com.amazonaws.fis#ActionSummary": {
144            "type": "structure",
145            "members": {
146                "id": {
147                    "target": "com.amazonaws.fis#ActionId",
148                    "traits": {
149                        "smithy.api#documentation": "<p>The ID of the action.</p>"
150                    }
151                },
152                "description": {
153                    "target": "com.amazonaws.fis#ActionDescription",
154                    "traits": {
155                        "smithy.api#documentation": "<p>The description for the action.</p>"
156                    }
157                },
158                "targets": {
159                    "target": "com.amazonaws.fis#ActionTargetMap",
160                    "traits": {
161                        "smithy.api#documentation": "<p>The targets for the action.</p>"
162                    }
163                },
164                "tags": {
165                    "target": "com.amazonaws.fis#TagMap",
166                    "traits": {
167                        "smithy.api#documentation": "<p>The tags for the action.</p>"
168                    }
169                }
170            },
171            "traits": {
172                "smithy.api#documentation": "<p>Provides a summary of an action.</p>"
173            }
174        },
175        "com.amazonaws.fis#ActionSummaryList": {
176            "type": "list",
177            "member": {
178                "target": "com.amazonaws.fis#ActionSummary"
179            }
180        },
181        "com.amazonaws.fis#ActionTarget": {
182            "type": "structure",
183            "members": {
184                "resourceType": {
185                    "target": "com.amazonaws.fis#TargetResourceType",
186                    "traits": {
187                        "smithy.api#documentation": "<p>The resource type of the target.</p>"
188                    }
189                }
190            },
191            "traits": {
192                "smithy.api#documentation": "<p>Describes a target for an action.</p>"
193            }
194        },
195        "com.amazonaws.fis#ActionTargetMap": {
196            "type": "map",
197            "key": {
198                "target": "com.amazonaws.fis#ActionTargetName"
199            },
200            "value": {
201                "target": "com.amazonaws.fis#ActionTarget"
202            }
203        },
204        "com.amazonaws.fis#ActionTargetName": {
205            "type": "string",
206            "traits": {
207                "smithy.api#length": {
208                    "min": 0,
209                    "max": 64
210                },
211                "smithy.api#pattern": "[\\S]+"
212            }
213        },
214        "com.amazonaws.fis#ClientToken": {
215            "type": "string",
216            "traits": {
217                "smithy.api#length": {
218                    "min": 1,
219                    "max": 1024
220                },
221                "smithy.api#pattern": "[\\S]+"
222            }
223        },
224        "com.amazonaws.fis#ConflictException": {
225            "type": "structure",
226            "members": {
227                "message": {
228                    "target": "com.amazonaws.fis#ExceptionMessage"
229                }
230            },
231            "traits": {
232                "smithy.api#documentation": "<p>The request could not be processed because of a conflict.</p>",
233                "smithy.api#error": "client",
234                "smithy.api#httpError": 409
235            }
236        },
237        "com.amazonaws.fis#CreateExperimentTemplate": {
238            "type": "operation",
239            "input": {
240                "target": "com.amazonaws.fis#CreateExperimentTemplateRequest"
241            },
242            "output": {
243                "target": "com.amazonaws.fis#CreateExperimentTemplateResponse"
244            },
245            "errors": [
246                {
247                    "target": "com.amazonaws.fis#ConflictException"
248                },
249                {
250                    "target": "com.amazonaws.fis#ResourceNotFoundException"
251                },
252                {
253                    "target": "com.amazonaws.fis#ServiceQuotaExceededException"
254                },
255                {
256                    "target": "com.amazonaws.fis#ValidationException"
257                }
258            ],
259            "traits": {
260                "smithy.api#documentation": "<p>Creates an experiment template. </p>\n         <p>To create a template, specify the following information: </p>\n         <ul>\n            <li>\n               <p>\n                  <b>Targets</b>: A target can be a specific resource\n               in your AWS environment, or one or more resources that match criteria that you\n               specify, for example, resources that have specific tags.</p>\n            </li>\n            <li>\n               <p>\n                  <b>Actions</b>: The actions to carry out on the\n               target. You can specify multiple actions, the duration of each action, and when to start each action during an experiment.</p>\n            </li>\n            <li>\n               <p>\n                  <b>Stop conditions</b>: If a stop condition is\n               triggered while an experiment is running, the experiment is automatically\n               stopped. You can define a stop condition as a CloudWatch alarm.</p>\n            </li>\n         </ul>\n         <p>For more information, see the <a href=\"https://docs.aws.amazon.com/fis/latest/userguide/\">AWS Fault Injection Simulator User Guide</a>.</p>",
261                "smithy.api#http": {
262                    "method": "POST",
263                    "uri": "/experimentTemplates",
264                    "code": 200
265                }
266            }
267        },
268        "com.amazonaws.fis#CreateExperimentTemplateActionInput": {
269            "type": "structure",
270            "members": {
271                "actionId": {
272                    "target": "com.amazonaws.fis#ActionId",
273                    "traits": {
274                        "smithy.api#documentation": "<p>The ID of the action.</p>",
275                        "smithy.api#required": {}
276                    }
277                },
278                "description": {
279                    "target": "com.amazonaws.fis#ExperimentTemplateActionDescription",
280                    "traits": {
281                        "smithy.api#documentation": "<p>A description for the action.</p>"
282                    }
283                },
284                "parameters": {
285                    "target": "com.amazonaws.fis#ExperimentTemplateActionParameterMap",
286                    "traits": {
287                        "smithy.api#documentation": "<p>The parameters for the action, if applicable.</p>"
288                    }
289                },
290                "targets": {
291                    "target": "com.amazonaws.fis#ExperimentTemplateActionTargetMap",
292                    "traits": {
293                        "smithy.api#documentation": "<p>The targets for the action.</p>"
294                    }
295                },
296                "startAfter": {
297                    "target": "com.amazonaws.fis#ExperimentTemplateActionStartAfterList",
298                    "traits": {
299                        "smithy.api#documentation": "<p>The name of the action that must be completed before the current action starts. Omit this parameter to run the action at the start of the experiment.</p>"
300                    }
301                }
302            },
303            "traits": {
304                "smithy.api#documentation": "<p>Specifies an action for an experiment template.</p>"
305            }
306        },
307        "com.amazonaws.fis#CreateExperimentTemplateActionInputMap": {
308            "type": "map",
309            "key": {
310                "target": "com.amazonaws.fis#ExperimentTemplateActionName"
311            },
312            "value": {
313                "target": "com.amazonaws.fis#CreateExperimentTemplateActionInput"
314            }
315        },
316        "com.amazonaws.fis#CreateExperimentTemplateRequest": {
317            "type": "structure",
318            "members": {
319                "clientToken": {
320                    "target": "com.amazonaws.fis#ClientToken",
321                    "traits": {
322                        "smithy.api#documentation": "<p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
323                        "smithy.api#idempotencyToken": {},
324                        "smithy.api#required": {}
325                    }
326                },
327                "description": {
328                    "target": "com.amazonaws.fis#ExperimentTemplateDescription",
329                    "traits": {
330                        "smithy.api#documentation": "<p>A description for the experiment template. Can contain up to 64 letters (A-Z and a-z).</p>",
331                        "smithy.api#required": {}
332                    }
333                },
334                "stopConditions": {
335                    "target": "com.amazonaws.fis#CreateExperimentTemplateStopConditionInputList",
336                    "traits": {
337                        "smithy.api#documentation": "<p>The stop conditions.</p>",
338                        "smithy.api#required": {}
339                    }
340                },
341                "targets": {
342                    "target": "com.amazonaws.fis#CreateExperimentTemplateTargetInputMap",
343                    "traits": {
344                        "smithy.api#documentation": "<p>The targets for the experiment.</p>"
345                    }
346                },
347                "actions": {
348                    "target": "com.amazonaws.fis#CreateExperimentTemplateActionInputMap",
349                    "traits": {
350                        "smithy.api#documentation": "<p>The actions for the experiment.</p>",
351                        "smithy.api#required": {}
352                    }
353                },
354                "roleArn": {
355                    "target": "com.amazonaws.fis#RoleArn",
356                    "traits": {
357                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.</p>",
358                        "smithy.api#required": {}
359                    }
360                },
361                "tags": {
362                    "target": "com.amazonaws.fis#TagMap",
363                    "traits": {
364                        "smithy.api#documentation": "<p>The tags to apply to the experiment template.</p>"
365                    }
366                }
367            }
368        },
369        "com.amazonaws.fis#CreateExperimentTemplateResponse": {
370            "type": "structure",
371            "members": {
372                "experimentTemplate": {
373                    "target": "com.amazonaws.fis#ExperimentTemplate",
374                    "traits": {
375                        "smithy.api#documentation": "<p>Information about the experiment template.</p>"
376                    }
377                }
378            }
379        },
380        "com.amazonaws.fis#CreateExperimentTemplateStopConditionInput": {
381            "type": "structure",
382            "members": {
383                "source": {
384                    "target": "com.amazonaws.fis#StopConditionSource",
385                    "traits": {
386                        "smithy.api#documentation": "<p>The source for the stop condition. Specify <code>aws:cloudwatch:alarm</code> if the stop\n         condition is defined by a CloudWatch alarm. Specify <code>none</code> if there is no stop\n         condition.</p>",
387                        "smithy.api#required": {}
388                    }
389                },
390                "value": {
391                    "target": "com.amazonaws.fis#StopConditionValue",
392                    "traits": {
393                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the CloudWatch alarm. This is required if the source is\n         a CloudWatch alarm.</p>"
394                    }
395                }
396            },
397            "traits": {
398                "smithy.api#documentation": "<p>Specifies a stop condition for an experiment template.</p>"
399            }
400        },
401        "com.amazonaws.fis#CreateExperimentTemplateStopConditionInputList": {
402            "type": "list",
403            "member": {
404                "target": "com.amazonaws.fis#CreateExperimentTemplateStopConditionInput"
405            }
406        },
407        "com.amazonaws.fis#CreateExperimentTemplateTargetInput": {
408            "type": "structure",
409            "members": {
410                "resourceType": {
411                    "target": "com.amazonaws.fis#ResourceType",
412                    "traits": {
413                        "smithy.api#documentation": "<p>The AWS resource type. The resource type must be supported for the specified action.</p>",
414                        "smithy.api#required": {}
415                    }
416                },
417                "resourceArns": {
418                    "target": "com.amazonaws.fis#ResourceArnList",
419                    "traits": {
420                        "smithy.api#documentation": "<p>The Amazon Resource Names (ARNs) of the resources.</p>"
421                    }
422                },
423                "resourceTags": {
424                    "target": "com.amazonaws.fis#TagMap",
425                    "traits": {
426                        "smithy.api#documentation": "<p>The tags for the target resources.</p>"
427                    }
428                },
429                "filters": {
430                    "target": "com.amazonaws.fis#ExperimentTemplateTargetFilterInputList",
431                    "traits": {
432                        "smithy.api#documentation": "<p>The filters to apply to identify target resources using specific attributes.</p>"
433                    }
434                },
435                "selectionMode": {
436                    "target": "com.amazonaws.fis#ExperimentTemplateTargetSelectionMode",
437                    "traits": {
438                        "smithy.api#documentation": "<p>Scopes the identified resources to a specific count of the resources at random, or a percentage of the resources. All identified resources are included in the target.</p>\n         <ul>\n            <li>\n               <p>ALL - Run the action on all identified targets. This is the default.</p>\n            </li>\n            <li>\n               <p>COUNT(n) - Run the action on the specified number of targets, chosen from the identified targets at random.\n                For example, COUNT(1) selects one of the targets.</p>\n            </li>\n            <li>\n               <p>PERCENT(n) - Run the action on the specified percentage of targets, chosen from the identified targets \n               at random. For example, PERCENT(25) selects 25% of the targets.</p>\n            </li>\n         </ul>",
439                        "smithy.api#required": {}
440                    }
441                }
442            },
443            "traits": {
444                "smithy.api#documentation": "<p>Specifies a target for an experiment. You must specify at least one Amazon Resource Name (ARN) or \n         at least one resource tag. You cannot specify both ARNs and tags.</p>"
445            }
446        },
447        "com.amazonaws.fis#CreateExperimentTemplateTargetInputMap": {
448            "type": "map",
449            "key": {
450                "target": "com.amazonaws.fis#ExperimentTemplateTargetName"
451            },
452            "value": {
453                "target": "com.amazonaws.fis#CreateExperimentTemplateTargetInput"
454            }
455        },
456        "com.amazonaws.fis#CreationTime": {
457            "type": "timestamp"
458        },
459        "com.amazonaws.fis#DeleteExperimentTemplate": {
460            "type": "operation",
461            "input": {
462                "target": "com.amazonaws.fis#DeleteExperimentTemplateRequest"
463            },
464            "output": {
465                "target": "com.amazonaws.fis#DeleteExperimentTemplateResponse"
466            },
467            "errors": [
468                {
469                    "target": "com.amazonaws.fis#ResourceNotFoundException"
470                },
471                {
472                    "target": "com.amazonaws.fis#ValidationException"
473                }
474            ],
475            "traits": {
476                "smithy.api#documentation": "<p>Deletes the specified experiment template.</p>",
477                "smithy.api#http": {
478                    "method": "DELETE",
479                    "uri": "/experimentTemplates/{id}",
480                    "code": 200
481                }
482            }
483        },
484        "com.amazonaws.fis#DeleteExperimentTemplateRequest": {
485            "type": "structure",
486            "members": {
487                "id": {
488                    "target": "com.amazonaws.fis#ExperimentTemplateId",
489                    "traits": {
490                        "smithy.api#documentation": "<p>The ID of the experiment template.</p>",
491                        "smithy.api#httpLabel": {},
492                        "smithy.api#required": {}
493                    }
494                }
495            }
496        },
497        "com.amazonaws.fis#DeleteExperimentTemplateResponse": {
498            "type": "structure",
499            "members": {
500                "experimentTemplate": {
501                    "target": "com.amazonaws.fis#ExperimentTemplate",
502                    "traits": {
503                        "smithy.api#documentation": "<p>Information about the experiment template.</p>"
504                    }
505                }
506            }
507        },
508        "com.amazonaws.fis#ExceptionMessage": {
509            "type": "string",
510            "traits": {
511                "smithy.api#length": {
512                    "min": 0,
513                    "max": 1024
514                },
515                "smithy.api#pattern": "[\\s\\S]+"
516            }
517        },
518        "com.amazonaws.fis#Experiment": {
519            "type": "structure",
520            "members": {
521                "id": {
522                    "target": "com.amazonaws.fis#ExperimentId",
523                    "traits": {
524                        "smithy.api#documentation": "<p>The ID of the experiment.</p>"
525                    }
526                },
527                "experimentTemplateId": {
528                    "target": "com.amazonaws.fis#ExperimentTemplateId",
529                    "traits": {
530                        "smithy.api#documentation": "<p>The ID of the experiment template.</p>"
531                    }
532                },
533                "roleArn": {
534                    "target": "com.amazonaws.fis#RoleArn",
535                    "traits": {
536                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.</p>"
537                    }
538                },
539                "state": {
540                    "target": "com.amazonaws.fis#ExperimentState",
541                    "traits": {
542                        "smithy.api#documentation": "<p>The state of the experiment.</p>"
543                    }
544                },
545                "targets": {
546                    "target": "com.amazonaws.fis#ExperimentTargetMap",
547                    "traits": {
548                        "smithy.api#documentation": "<p>The targets for the experiment.</p>"
549                    }
550                },
551                "actions": {
552                    "target": "com.amazonaws.fis#ExperimentActionMap",
553                    "traits": {
554                        "smithy.api#documentation": "<p>The actions for the experiment.</p>"
555                    }
556                },
557                "stopConditions": {
558                    "target": "com.amazonaws.fis#ExperimentStopConditionList",
559                    "traits": {
560                        "smithy.api#documentation": "<p>The stop conditions for the experiment.</p>"
561                    }
562                },
563                "creationTime": {
564                    "target": "com.amazonaws.fis#CreationTime",
565                    "traits": {
566                        "smithy.api#documentation": "<p>The time the experiment was created.</p>"
567                    }
568                },
569                "startTime": {
570                    "target": "com.amazonaws.fis#ExperimentStartTime",
571                    "traits": {
572                        "smithy.api#documentation": "<p>The time that the experiment was started.</p>"
573                    }
574                },
575                "endTime": {
576                    "target": "com.amazonaws.fis#ExperimentEndTime",
577                    "traits": {
578                        "smithy.api#documentation": "<p>The time that the experiment ended.</p>"
579                    }
580                },
581                "tags": {
582                    "target": "com.amazonaws.fis#TagMap",
583                    "traits": {
584                        "smithy.api#documentation": "<p>The tags for the experiment.</p>"
585                    }
586                }
587            },
588            "traits": {
589                "smithy.api#documentation": "<p>Describes an experiment.</p>"
590            }
591        },
592        "com.amazonaws.fis#ExperimentAction": {
593            "type": "structure",
594            "members": {
595                "actionId": {
596                    "target": "com.amazonaws.fis#ActionId",
597                    "traits": {
598                        "smithy.api#documentation": "<p>The ID of the action.</p>"
599                    }
600                },
601                "description": {
602                    "target": "com.amazonaws.fis#ExperimentActionDescription",
603                    "traits": {
604                        "smithy.api#documentation": "<p>The description for the action.</p>"
605                    }
606                },
607                "parameters": {
608                    "target": "com.amazonaws.fis#ExperimentActionParameterMap",
609                    "traits": {
610                        "smithy.api#documentation": "<p>The parameters for the action.</p>"
611                    }
612                },
613                "targets": {
614                    "target": "com.amazonaws.fis#ExperimentActionTargetMap",
615                    "traits": {
616                        "smithy.api#documentation": "<p>The targets for the action.</p>"
617                    }
618                },
619                "startAfter": {
620                    "target": "com.amazonaws.fis#ExperimentActionStartAfterList",
621                    "traits": {
622                        "smithy.api#documentation": "<p>The name of the action that must be completed before this action starts.</p>"
623                    }
624                },
625                "state": {
626                    "target": "com.amazonaws.fis#ExperimentActionState",
627                    "traits": {
628                        "smithy.api#documentation": "<p>The state of the action.</p>"
629                    }
630                }
631            },
632            "traits": {
633                "smithy.api#documentation": "<p>Describes the action for an experiment.</p>"
634            }
635        },
636        "com.amazonaws.fis#ExperimentActionDescription": {
637            "type": "string",
638            "traits": {
639                "smithy.api#length": {
640                    "min": 0,
641                    "max": 512
642                },
643                "smithy.api#pattern": "[\\s\\S]+"
644            }
645        },
646        "com.amazonaws.fis#ExperimentActionMap": {
647            "type": "map",
648            "key": {
649                "target": "com.amazonaws.fis#ExperimentActionName"
650            },
651            "value": {
652                "target": "com.amazonaws.fis#ExperimentAction"
653            }
654        },
655        "com.amazonaws.fis#ExperimentActionName": {
656            "type": "string",
657            "traits": {
658                "smithy.api#length": {
659                    "min": 0,
660                    "max": 64
661                },
662                "smithy.api#pattern": "[\\S]+"
663            }
664        },
665        "com.amazonaws.fis#ExperimentActionParameter": {
666            "type": "string",
667            "traits": {
668                "smithy.api#length": {
669                    "min": 0,
670                    "max": 1024
671                },
672                "smithy.api#pattern": "[\\S]+"
673            }
674        },
675        "com.amazonaws.fis#ExperimentActionParameterMap": {
676            "type": "map",
677            "key": {
678                "target": "com.amazonaws.fis#ExperimentActionParameterName"
679            },
680            "value": {
681                "target": "com.amazonaws.fis#ExperimentActionParameter"
682            }
683        },
684        "com.amazonaws.fis#ExperimentActionParameterName": {
685            "type": "string",
686            "traits": {
687                "smithy.api#length": {
688                    "min": 0,
689                    "max": 64
690                },
691                "smithy.api#pattern": "[\\S]+"
692            }
693        },
694        "com.amazonaws.fis#ExperimentActionStartAfter": {
695            "type": "string",
696            "traits": {
697                "smithy.api#length": {
698                    "min": 0,
699                    "max": 64
700                },
701                "smithy.api#pattern": "[\\S]+"
702            }
703        },
704        "com.amazonaws.fis#ExperimentActionStartAfterList": {
705            "type": "list",
706            "member": {
707                "target": "com.amazonaws.fis#ExperimentActionStartAfter"
708            }
709        },
710        "com.amazonaws.fis#ExperimentActionState": {
711            "type": "structure",
712            "members": {
713                "status": {
714                    "target": "com.amazonaws.fis#ExperimentActionStatus",
715                    "traits": {
716                        "smithy.api#documentation": "<p>The state of the action.</p>"
717                    }
718                },
719                "reason": {
720                    "target": "com.amazonaws.fis#ExperimentActionStatusReason",
721                    "traits": {
722                        "smithy.api#documentation": "<p>The reason for the state.</p>"
723                    }
724                }
725            },
726            "traits": {
727                "smithy.api#documentation": "<p>Describes the state of an action.</p>"
728            }
729        },
730        "com.amazonaws.fis#ExperimentActionStatus": {
731            "type": "string",
732            "traits": {
733                "smithy.api#enum": [
734                    {
735                        "value": "pending",
736                        "name": "pending"
737                    },
738                    {
739                        "value": "initiating",
740                        "name": "initiating"
741                    },
742                    {
743                        "value": "running",
744                        "name": "running"
745                    },
746                    {
747                        "value": "completed",
748                        "name": "completed"
749                    },
750                    {
751                        "value": "cancelled",
752                        "name": "cancelled"
753                    },
754                    {
755                        "value": "stopping",
756                        "name": "stopping"
757                    },
758                    {
759                        "value": "stopped",
760                        "name": "stopped"
761                    },
762                    {
763                        "value": "failed",
764                        "name": "failed"
765                    }
766                ]
767            }
768        },
769        "com.amazonaws.fis#ExperimentActionStatusReason": {
770            "type": "string",
771            "traits": {
772                "smithy.api#length": {
773                    "min": 0,
774                    "max": 512
775                },
776                "smithy.api#pattern": "[\\s\\S]+"
777            }
778        },
779        "com.amazonaws.fis#ExperimentActionTargetMap": {
780            "type": "map",
781            "key": {
782                "target": "com.amazonaws.fis#ExperimentActionTargetName"
783            },
784            "value": {
785                "target": "com.amazonaws.fis#ExperimentTargetName"
786            }
787        },
788        "com.amazonaws.fis#ExperimentActionTargetName": {
789            "type": "string",
790            "traits": {
791                "smithy.api#length": {
792                    "min": 0,
793                    "max": 64
794                },
795                "smithy.api#pattern": "[\\S]+"
796            }
797        },
798        "com.amazonaws.fis#ExperimentEndTime": {
799            "type": "timestamp"
800        },
801        "com.amazonaws.fis#ExperimentId": {
802            "type": "string",
803            "traits": {
804                "smithy.api#length": {
805                    "min": 0,
806                    "max": 64
807                },
808                "smithy.api#pattern": "[\\S]+"
809            }
810        },
811        "com.amazonaws.fis#ExperimentStartTime": {
812            "type": "timestamp"
813        },
814        "com.amazonaws.fis#ExperimentState": {
815            "type": "structure",
816            "members": {
817                "status": {
818                    "target": "com.amazonaws.fis#ExperimentStatus",
819                    "traits": {
820                        "smithy.api#documentation": "<p>The state of the experiment.</p>"
821                    }
822                },
823                "reason": {
824                    "target": "com.amazonaws.fis#ExperimentStatusReason",
825                    "traits": {
826                        "smithy.api#documentation": "<p>The reason for the state.</p>"
827                    }
828                }
829            },
830            "traits": {
831                "smithy.api#documentation": "<p>Describes the state of an experiment.</p>"
832            }
833        },
834        "com.amazonaws.fis#ExperimentStatus": {
835            "type": "string",
836            "traits": {
837                "smithy.api#enum": [
838                    {
839                        "value": "pending",
840                        "name": "pending"
841                    },
842                    {
843                        "value": "initiating",
844                        "name": "initiating"
845                    },
846                    {
847                        "value": "running",
848                        "name": "running"
849                    },
850                    {
851                        "value": "completed",
852                        "name": "completed"
853                    },
854                    {
855                        "value": "stopping",
856                        "name": "stopping"
857                    },
858                    {
859                        "value": "stopped",
860                        "name": "stopped"
861                    },
862                    {
863                        "value": "failed",
864                        "name": "failed"
865                    }
866                ]
867            }
868        },
869        "com.amazonaws.fis#ExperimentStatusReason": {
870            "type": "string",
871            "traits": {
872                "smithy.api#length": {
873                    "min": 0,
874                    "max": 512
875                },
876                "smithy.api#pattern": "[\\s\\S]+"
877            }
878        },
879        "com.amazonaws.fis#ExperimentStopCondition": {
880            "type": "structure",
881            "members": {
882                "source": {
883                    "target": "com.amazonaws.fis#StopConditionSource",
884                    "traits": {
885                        "smithy.api#documentation": "<p>The source for the stop condition.</p>"
886                    }
887                },
888                "value": {
889                    "target": "com.amazonaws.fis#StopConditionValue",
890                    "traits": {
891                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable.</p>"
892                    }
893                }
894            },
895            "traits": {
896                "smithy.api#documentation": "<p>Describes the stop condition for an experiment.</p>"
897            }
898        },
899        "com.amazonaws.fis#ExperimentStopConditionList": {
900            "type": "list",
901            "member": {
902                "target": "com.amazonaws.fis#ExperimentStopCondition"
903            }
904        },
905        "com.amazonaws.fis#ExperimentSummary": {
906            "type": "structure",
907            "members": {
908                "id": {
909                    "target": "com.amazonaws.fis#ExperimentId",
910                    "traits": {
911                        "smithy.api#documentation": "<p>The ID of the experiment.</p>"
912                    }
913                },
914                "experimentTemplateId": {
915                    "target": "com.amazonaws.fis#ExperimentTemplateId",
916                    "traits": {
917                        "smithy.api#documentation": "<p>The ID of the experiment template.</p>"
918                    }
919                },
920                "state": {
921                    "target": "com.amazonaws.fis#ExperimentState",
922                    "traits": {
923                        "smithy.api#documentation": "<p>The state of the experiment.</p>"
924                    }
925                },
926                "creationTime": {
927                    "target": "com.amazonaws.fis#CreationTime",
928                    "traits": {
929                        "smithy.api#documentation": "<p>The time that the experiment was created.</p>"
930                    }
931                },
932                "tags": {
933                    "target": "com.amazonaws.fis#TagMap",
934                    "traits": {
935                        "smithy.api#documentation": "<p>The tags for the experiment.</p>"
936                    }
937                }
938            },
939            "traits": {
940                "smithy.api#documentation": "<p>Provides a summary of an experiment.</p>"
941            }
942        },
943        "com.amazonaws.fis#ExperimentSummaryList": {
944            "type": "list",
945            "member": {
946                "target": "com.amazonaws.fis#ExperimentSummary"
947            }
948        },
949        "com.amazonaws.fis#ExperimentTarget": {
950            "type": "structure",
951            "members": {
952                "resourceType": {
953                    "target": "com.amazonaws.fis#ResourceType",
954                    "traits": {
955                        "smithy.api#documentation": "<p>The resource type.</p>"
956                    }
957                },
958                "resourceArns": {
959                    "target": "com.amazonaws.fis#ResourceArnList",
960                    "traits": {
961                        "smithy.api#documentation": "<p>The Amazon Resource Names (ARNs) of the resources.</p>"
962                    }
963                },
964                "resourceTags": {
965                    "target": "com.amazonaws.fis#TagMap",
966                    "traits": {
967                        "smithy.api#documentation": "<p>The tags for the target resources.</p>"
968                    }
969                },
970                "filters": {
971                    "target": "com.amazonaws.fis#ExperimentTargetFilterList",
972                    "traits": {
973                        "smithy.api#documentation": "<p>The filters to apply to identify target resources using specific attributes.</p>"
974                    }
975                },
976                "selectionMode": {
977                    "target": "com.amazonaws.fis#ExperimentTargetSelectionMode",
978                    "traits": {
979                        "smithy.api#documentation": "<p>Scopes the identified resources to a specific count or percentage.</p>"
980                    }
981                }
982            },
983            "traits": {
984                "smithy.api#documentation": "<p>Describes a target for an experiment.</p>"
985            }
986        },
987        "com.amazonaws.fis#ExperimentTargetFilter": {
988            "type": "structure",
989            "members": {
990                "path": {
991                    "target": "com.amazonaws.fis#ExperimentTargetFilterPath",
992                    "traits": {
993                        "smithy.api#documentation": "<p>The attribute path for the filter.</p>"
994                    }
995                },
996                "values": {
997                    "target": "com.amazonaws.fis#ExperimentTargetFilterValues",
998                    "traits": {
999                        "smithy.api#documentation": "<p>The attribute values for the filter.</p>"
1000                    }
1001                }
1002            },
1003            "traits": {
1004                "smithy.api#documentation": "<p>Describes a filter used for the target resources in an experiment.</p>"
1005            }
1006        },
1007        "com.amazonaws.fis#ExperimentTargetFilterList": {
1008            "type": "list",
1009            "member": {
1010                "target": "com.amazonaws.fis#ExperimentTargetFilter"
1011            }
1012        },
1013        "com.amazonaws.fis#ExperimentTargetFilterPath": {
1014            "type": "string",
1015            "traits": {
1016                "smithy.api#length": {
1017                    "min": 0,
1018                    "max": 256
1019                },
1020                "smithy.api#pattern": "[\\S]+"
1021            }
1022        },
1023        "com.amazonaws.fis#ExperimentTargetFilterValue": {
1024            "type": "string",
1025            "traits": {
1026                "smithy.api#length": {
1027                    "min": 0,
1028                    "max": 128
1029                },
1030                "smithy.api#pattern": "[\\S]+"
1031            }
1032        },
1033        "com.amazonaws.fis#ExperimentTargetFilterValues": {
1034            "type": "list",
1035            "member": {
1036                "target": "com.amazonaws.fis#ExperimentTargetFilterValue"
1037            }
1038        },
1039        "com.amazonaws.fis#ExperimentTargetMap": {
1040            "type": "map",
1041            "key": {
1042                "target": "com.amazonaws.fis#ExperimentTargetName"
1043            },
1044            "value": {
1045                "target": "com.amazonaws.fis#ExperimentTarget"
1046            }
1047        },
1048        "com.amazonaws.fis#ExperimentTargetName": {
1049            "type": "string",
1050            "traits": {
1051                "smithy.api#length": {
1052                    "min": 0,
1053                    "max": 64
1054                },
1055                "smithy.api#pattern": "[\\S]+"
1056            }
1057        },
1058        "com.amazonaws.fis#ExperimentTargetSelectionMode": {
1059            "type": "string",
1060            "traits": {
1061                "smithy.api#length": {
1062                    "min": 0,
1063                    "max": 64
1064                },
1065                "smithy.api#pattern": "[\\S]+"
1066            }
1067        },
1068        "com.amazonaws.fis#ExperimentTemplate": {
1069            "type": "structure",
1070            "members": {
1071                "id": {
1072                    "target": "com.amazonaws.fis#ExperimentTemplateId",
1073                    "traits": {
1074                        "smithy.api#documentation": "<p>The ID of the experiment template.</p>"
1075                    }
1076                },
1077                "description": {
1078                    "target": "com.amazonaws.fis#ExperimentTemplateDescription",
1079                    "traits": {
1080                        "smithy.api#documentation": "<p>The description for the experiment template.</p>"
1081                    }
1082                },
1083                "targets": {
1084                    "target": "com.amazonaws.fis#ExperimentTemplateTargetMap",
1085                    "traits": {
1086                        "smithy.api#documentation": "<p>The targets for the experiment.</p>"
1087                    }
1088                },
1089                "actions": {
1090                    "target": "com.amazonaws.fis#ExperimentTemplateActionMap",
1091                    "traits": {
1092                        "smithy.api#documentation": "<p>The actions for the experiment.</p>"
1093                    }
1094                },
1095                "stopConditions": {
1096                    "target": "com.amazonaws.fis#ExperimentTemplateStopConditionList",
1097                    "traits": {
1098                        "smithy.api#documentation": "<p>The stop conditions for the experiment.</p>"
1099                    }
1100                },
1101                "creationTime": {
1102                    "target": "com.amazonaws.fis#CreationTime",
1103                    "traits": {
1104                        "smithy.api#documentation": "<p>The time the experiment template was created.</p>"
1105                    }
1106                },
1107                "lastUpdateTime": {
1108                    "target": "com.amazonaws.fis#LastUpdateTime",
1109                    "traits": {
1110                        "smithy.api#documentation": "<p>The time the experiment template was last updated.</p>"
1111                    }
1112                },
1113                "roleArn": {
1114                    "target": "com.amazonaws.fis#RoleArn",
1115                    "traits": {
1116                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of an IAM role.</p>"
1117                    }
1118                },
1119                "tags": {
1120                    "target": "com.amazonaws.fis#TagMap",
1121                    "traits": {
1122                        "smithy.api#documentation": "<p>The tags for the experiment template.</p>"
1123                    }
1124                }
1125            },
1126            "traits": {
1127                "smithy.api#documentation": "<p>Describes an experiment template.</p>"
1128            }
1129        },
1130        "com.amazonaws.fis#ExperimentTemplateAction": {
1131            "type": "structure",
1132            "members": {
1133                "actionId": {
1134                    "target": "com.amazonaws.fis#ActionId",
1135                    "traits": {
1136                        "smithy.api#documentation": "<p>The ID of the action.</p>"
1137                    }
1138                },
1139                "description": {
1140                    "target": "com.amazonaws.fis#ExperimentTemplateActionDescription",
1141                    "traits": {
1142                        "smithy.api#documentation": "<p>A description for the action.</p>"
1143                    }
1144                },
1145                "parameters": {
1146                    "target": "com.amazonaws.fis#ExperimentTemplateActionParameterMap",
1147                    "traits": {
1148                        "smithy.api#documentation": "<p>The parameters for the action.</p>"
1149                    }
1150                },
1151                "targets": {
1152                    "target": "com.amazonaws.fis#ExperimentTemplateActionTargetMap",
1153                    "traits": {
1154                        "smithy.api#documentation": "<p>The targets for the action.</p>"
1155                    }
1156                },
1157                "startAfter": {
1158                    "target": "com.amazonaws.fis#ExperimentTemplateActionStartAfterList",
1159                    "traits": {
1160                        "smithy.api#documentation": "<p>The name of the action that must be completed before the current action starts.</p>"
1161                    }
1162                }
1163            },
1164            "traits": {
1165                "smithy.api#documentation": "<p>Describes an action for an experiment template.</p>"
1166            }
1167        },
1168        "com.amazonaws.fis#ExperimentTemplateActionDescription": {
1169            "type": "string",
1170            "traits": {
1171                "smithy.api#length": {
1172                    "min": 0,
1173                    "max": 512
1174                },
1175                "smithy.api#pattern": "[\\s\\S]+"
1176            }
1177        },
1178        "com.amazonaws.fis#ExperimentTemplateActionMap": {
1179            "type": "map",
1180            "key": {
1181                "target": "com.amazonaws.fis#ExperimentTemplateActionName"
1182            },
1183            "value": {
1184                "target": "com.amazonaws.fis#ExperimentTemplateAction"
1185            }
1186        },
1187        "com.amazonaws.fis#ExperimentTemplateActionName": {
1188            "type": "string",
1189            "traits": {
1190                "smithy.api#length": {
1191                    "min": 0,
1192                    "max": 64
1193                },
1194                "smithy.api#pattern": "[\\S]+"
1195            }
1196        },
1197        "com.amazonaws.fis#ExperimentTemplateActionParameter": {
1198            "type": "string",
1199            "traits": {
1200                "smithy.api#length": {
1201                    "min": 0,
1202                    "max": 1024
1203                },
1204                "smithy.api#pattern": "[\\S]+"
1205            }
1206        },
1207        "com.amazonaws.fis#ExperimentTemplateActionParameterMap": {
1208            "type": "map",
1209            "key": {
1210                "target": "com.amazonaws.fis#ExperimentTemplateActionParameterName"
1211            },
1212            "value": {
1213                "target": "com.amazonaws.fis#ExperimentTemplateActionParameter"
1214            }
1215        },
1216        "com.amazonaws.fis#ExperimentTemplateActionParameterName": {
1217            "type": "string",
1218            "traits": {
1219                "smithy.api#length": {
1220                    "min": 0,
1221                    "max": 64
1222                },
1223                "smithy.api#pattern": "[\\S]+"
1224            }
1225        },
1226        "com.amazonaws.fis#ExperimentTemplateActionStartAfter": {
1227            "type": "string",
1228            "traits": {
1229                "smithy.api#length": {
1230                    "min": 0,
1231                    "max": 64
1232                },
1233                "smithy.api#pattern": "[\\S]+"
1234            }
1235        },
1236        "com.amazonaws.fis#ExperimentTemplateActionStartAfterList": {
1237            "type": "list",
1238            "member": {
1239                "target": "com.amazonaws.fis#ExperimentTemplateActionStartAfter"
1240            }
1241        },
1242        "com.amazonaws.fis#ExperimentTemplateActionTargetMap": {
1243            "type": "map",
1244            "key": {
1245                "target": "com.amazonaws.fis#ExperimentTemplateActionTargetName"
1246            },
1247            "value": {
1248                "target": "com.amazonaws.fis#ExperimentTemplateTargetName"
1249            }
1250        },
1251        "com.amazonaws.fis#ExperimentTemplateActionTargetName": {
1252            "type": "string",
1253            "traits": {
1254                "smithy.api#length": {
1255                    "min": 0,
1256                    "max": 64
1257                },
1258                "smithy.api#pattern": "[\\S]+"
1259            }
1260        },
1261        "com.amazonaws.fis#ExperimentTemplateDescription": {
1262            "type": "string",
1263            "traits": {
1264                "smithy.api#length": {
1265                    "min": 0,
1266                    "max": 512
1267                },
1268                "smithy.api#pattern": "[\\s\\S]+"
1269            }
1270        },
1271        "com.amazonaws.fis#ExperimentTemplateId": {
1272            "type": "string",
1273            "traits": {
1274                "smithy.api#length": {
1275                    "min": 0,
1276                    "max": 64
1277                },
1278                "smithy.api#pattern": "[\\S]+"
1279            }
1280        },
1281        "com.amazonaws.fis#ExperimentTemplateStopCondition": {
1282            "type": "structure",
1283            "members": {
1284                "source": {
1285                    "target": "com.amazonaws.fis#StopConditionSource",
1286                    "traits": {
1287                        "smithy.api#documentation": "<p>The source for the stop condition.</p>"
1288                    }
1289                },
1290                "value": {
1291                    "target": "com.amazonaws.fis#StopConditionValue",
1292                    "traits": {
1293                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the CloudWatch alarm, if applicable.</p>"
1294                    }
1295                }
1296            },
1297            "traits": {
1298                "smithy.api#documentation": "<p>Describes a stop condition for an experiment template.</p>"
1299            }
1300        },
1301        "com.amazonaws.fis#ExperimentTemplateStopConditionList": {
1302            "type": "list",
1303            "member": {
1304                "target": "com.amazonaws.fis#ExperimentTemplateStopCondition"
1305            }
1306        },
1307        "com.amazonaws.fis#ExperimentTemplateSummary": {
1308            "type": "structure",
1309            "members": {
1310                "id": {
1311                    "target": "com.amazonaws.fis#ExperimentTemplateId",
1312                    "traits": {
1313                        "smithy.api#documentation": "<p>The ID of the experiment template.</p>"
1314                    }
1315                },
1316                "description": {
1317                    "target": "com.amazonaws.fis#ExperimentTemplateDescription",
1318                    "traits": {
1319                        "smithy.api#documentation": "<p>The description of the experiment template.</p>"
1320                    }
1321                },
1322                "creationTime": {
1323                    "target": "com.amazonaws.fis#CreationTime",
1324                    "traits": {
1325                        "smithy.api#documentation": "<p>The time that the experiment template was created.</p>"
1326                    }
1327                },
1328                "lastUpdateTime": {
1329                    "target": "com.amazonaws.fis#LastUpdateTime",
1330                    "traits": {
1331                        "smithy.api#documentation": "<p>The time that the experiment template was last updated.</p>"
1332                    }
1333                },
1334                "tags": {
1335                    "target": "com.amazonaws.fis#TagMap",
1336                    "traits": {
1337                        "smithy.api#documentation": "<p>The tags for the experiment template.</p>"
1338                    }
1339                }
1340            },
1341            "traits": {
1342                "smithy.api#documentation": "<p>Provides a summary of an experiment template.</p>"
1343            }
1344        },
1345        "com.amazonaws.fis#ExperimentTemplateSummaryList": {
1346            "type": "list",
1347            "member": {
1348                "target": "com.amazonaws.fis#ExperimentTemplateSummary"
1349            }
1350        },
1351        "com.amazonaws.fis#ExperimentTemplateTarget": {
1352            "type": "structure",
1353            "members": {
1354                "resourceType": {
1355                    "target": "com.amazonaws.fis#ResourceType",
1356                    "traits": {
1357                        "smithy.api#documentation": "<p>The resource type.</p>"
1358                    }
1359                },
1360                "resourceArns": {
1361                    "target": "com.amazonaws.fis#ResourceArnList",
1362                    "traits": {
1363                        "smithy.api#documentation": "<p>The Amazon Resource Names (ARNs) of the targets.</p>"
1364                    }
1365                },
1366                "resourceTags": {
1367                    "target": "com.amazonaws.fis#TagMap",
1368                    "traits": {
1369                        "smithy.api#documentation": "<p>The tags for the target resources.</p>"
1370                    }
1371                },
1372                "filters": {
1373                    "target": "com.amazonaws.fis#ExperimentTemplateTargetFilterList",
1374                    "traits": {
1375                        "smithy.api#documentation": "<p>The filters to apply to identify target resources using specific attributes.</p>"
1376                    }
1377                },
1378                "selectionMode": {
1379                    "target": "com.amazonaws.fis#ExperimentTemplateTargetSelectionMode",
1380                    "traits": {
1381                        "smithy.api#documentation": "<p>Scopes the identified resources to a specific count or percentage.</p>"
1382                    }
1383                }
1384            },
1385            "traits": {
1386                "smithy.api#documentation": "<p>Describes a target for an experiment template.</p>"
1387            }
1388        },
1389        "com.amazonaws.fis#ExperimentTemplateTargetFilter": {
1390            "type": "structure",
1391            "members": {
1392                "path": {
1393                    "target": "com.amazonaws.fis#ExperimentTemplateTargetFilterPath",
1394                    "traits": {
1395                        "smithy.api#documentation": "<p>The attribute path for the filter.</p>"
1396                    }
1397                },
1398                "values": {
1399                    "target": "com.amazonaws.fis#ExperimentTemplateTargetFilterValues",
1400                    "traits": {
1401                        "smithy.api#documentation": "<p>The attribute values for the filter.</p>"
1402                    }
1403                }
1404            },
1405            "traits": {
1406                "smithy.api#documentation": "<p>Describes a filter used for the target resources in an experiment template.</p>"
1407            }
1408        },
1409        "com.amazonaws.fis#ExperimentTemplateTargetFilterInputList": {
1410            "type": "list",
1411            "member": {
1412                "target": "com.amazonaws.fis#ExperimentTemplateTargetInputFilter"
1413            }
1414        },
1415        "com.amazonaws.fis#ExperimentTemplateTargetFilterList": {
1416            "type": "list",
1417            "member": {
1418                "target": "com.amazonaws.fis#ExperimentTemplateTargetFilter"
1419            }
1420        },
1421        "com.amazonaws.fis#ExperimentTemplateTargetFilterPath": {
1422            "type": "string",
1423            "traits": {
1424                "smithy.api#length": {
1425                    "min": 0,
1426                    "max": 256
1427                },
1428                "smithy.api#pattern": "[\\S]+"
1429            }
1430        },
1431        "com.amazonaws.fis#ExperimentTemplateTargetFilterValue": {
1432            "type": "string",
1433            "traits": {
1434                "smithy.api#length": {
1435                    "min": 0,
1436                    "max": 128
1437                },
1438                "smithy.api#pattern": "[\\S]+"
1439            }
1440        },
1441        "com.amazonaws.fis#ExperimentTemplateTargetFilterValues": {
1442            "type": "list",
1443            "member": {
1444                "target": "com.amazonaws.fis#ExperimentTemplateTargetFilterValue"
1445            }
1446        },
1447        "com.amazonaws.fis#ExperimentTemplateTargetInputFilter": {
1448            "type": "structure",
1449            "members": {
1450                "path": {
1451                    "target": "com.amazonaws.fis#ExperimentTemplateTargetFilterPath",
1452                    "traits": {
1453                        "smithy.api#documentation": "<p>The attribute path for the filter.</p>",
1454                        "smithy.api#required": {}
1455                    }
1456                },
1457                "values": {
1458                    "target": "com.amazonaws.fis#ExperimentTemplateTargetFilterValues",
1459                    "traits": {
1460                        "smithy.api#documentation": "<p>The attribute values for the filter.</p>",
1461                        "smithy.api#required": {}
1462                    }
1463                }
1464            },
1465            "traits": {
1466                "smithy.api#documentation": "<p>Describes a filter used for the target resource input in an experiment template.</p>"
1467            }
1468        },
1469        "com.amazonaws.fis#ExperimentTemplateTargetMap": {
1470            "type": "map",
1471            "key": {
1472                "target": "com.amazonaws.fis#ExperimentTemplateTargetName"
1473            },
1474            "value": {
1475                "target": "com.amazonaws.fis#ExperimentTemplateTarget"
1476            }
1477        },
1478        "com.amazonaws.fis#ExperimentTemplateTargetName": {
1479            "type": "string",
1480            "traits": {
1481                "smithy.api#length": {
1482                    "min": 0,
1483                    "max": 64
1484                },
1485                "smithy.api#pattern": "[\\S]+"
1486            }
1487        },
1488        "com.amazonaws.fis#ExperimentTemplateTargetSelectionMode": {
1489            "type": "string",
1490            "traits": {
1491                "smithy.api#length": {
1492                    "min": 0,
1493                    "max": 64
1494                },
1495                "smithy.api#pattern": "[\\S]+"
1496            }
1497        },
1498        "com.amazonaws.fis#FaultInjectionSimulator": {
1499            "type": "service",
1500            "version": "2020-12-01",
1501            "operations": [
1502                {
1503                    "target": "com.amazonaws.fis#CreateExperimentTemplate"
1504                },
1505                {
1506                    "target": "com.amazonaws.fis#DeleteExperimentTemplate"
1507                },
1508                {
1509                    "target": "com.amazonaws.fis#GetAction"
1510                },
1511                {
1512                    "target": "com.amazonaws.fis#GetExperiment"
1513                },
1514                {
1515                    "target": "com.amazonaws.fis#GetExperimentTemplate"
1516                },
1517                {
1518                    "target": "com.amazonaws.fis#ListActions"
1519                },
1520                {
1521                    "target": "com.amazonaws.fis#ListExperiments"
1522                },
1523                {
1524                    "target": "com.amazonaws.fis#ListExperimentTemplates"
1525                },
1526                {
1527                    "target": "com.amazonaws.fis#ListTagsForResource"
1528                },
1529                {
1530                    "target": "com.amazonaws.fis#StartExperiment"
1531                },
1532                {
1533                    "target": "com.amazonaws.fis#StopExperiment"
1534                },
1535                {
1536                    "target": "com.amazonaws.fis#TagResource"
1537                },
1538                {
1539                    "target": "com.amazonaws.fis#UntagResource"
1540                },
1541                {
1542                    "target": "com.amazonaws.fis#UpdateExperimentTemplate"
1543                }
1544            ],
1545            "traits": {
1546                "aws.api#service": {
1547                    "sdkId": "fis",
1548                    "arnNamespace": "fis",
1549                    "cloudFormationName": "Fis",
1550                    "cloudTrailEventSource": "fis.amazonaws.com",
1551                    "endpointPrefix": "fis"
1552                },
1553                "aws.auth#sigv4": {
1554                    "name": "fis"
1555                },
1556                "aws.protocols#restJson1": {},
1557                "smithy.api#documentation": "<p>AWS Fault Injection Simulator is a managed service that enables you to perform fault injection \n           experiments on your AWS workloads. For more information, see the <a href=\"https://docs.aws.amazon.com/fis/latest/userguide/\">AWS Fault Injection Simulator User Guide</a>.</p>",
1558                "smithy.api#title": "AWS Fault Injection Simulator"
1559            }
1560        },
1561        "com.amazonaws.fis#GetAction": {
1562            "type": "operation",
1563            "input": {
1564                "target": "com.amazonaws.fis#GetActionRequest"
1565            },
1566            "output": {
1567                "target": "com.amazonaws.fis#GetActionResponse"
1568            },
1569            "errors": [
1570                {
1571                    "target": "com.amazonaws.fis#ResourceNotFoundException"
1572                },
1573                {
1574                    "target": "com.amazonaws.fis#ValidationException"
1575                }
1576            ],
1577            "traits": {
1578                "smithy.api#documentation": "<p>Gets information about the specified AWS FIS action.</p>",
1579                "smithy.api#http": {
1580                    "method": "GET",
1581                    "uri": "/actions/{id}",
1582                    "code": 200
1583                }
1584            }
1585        },
1586        "com.amazonaws.fis#GetActionRequest": {
1587            "type": "structure",
1588            "members": {
1589                "id": {
1590                    "target": "com.amazonaws.fis#ActionId",
1591                    "traits": {
1592                        "smithy.api#documentation": "<p>The ID of the action.</p>",
1593                        "smithy.api#httpLabel": {},
1594                        "smithy.api#required": {}
1595                    }
1596                }
1597            }
1598        },
1599        "com.amazonaws.fis#GetActionResponse": {
1600            "type": "structure",
1601            "members": {
1602                "action": {
1603                    "target": "com.amazonaws.fis#Action",
1604                    "traits": {
1605                        "smithy.api#documentation": "<p>Information about the action.</p>"
1606                    }
1607                }
1608            }
1609        },
1610        "com.amazonaws.fis#GetExperiment": {
1611            "type": "operation",
1612            "input": {
1613                "target": "com.amazonaws.fis#GetExperimentRequest"
1614            },
1615            "output": {
1616                "target": "com.amazonaws.fis#GetExperimentResponse"
1617            },
1618            "errors": [
1619                {
1620                    "target": "com.amazonaws.fis#ResourceNotFoundException"
1621                },
1622                {
1623                    "target": "com.amazonaws.fis#ValidationException"
1624                }
1625            ],
1626            "traits": {
1627                "smithy.api#documentation": "<p>Gets information about the specified experiment.</p>",
1628                "smithy.api#http": {
1629                    "method": "GET",
1630                    "uri": "/experiments/{id}",
1631                    "code": 200
1632                }
1633            }
1634        },
1635        "com.amazonaws.fis#GetExperimentRequest": {
1636            "type": "structure",
1637            "members": {
1638                "id": {
1639                    "target": "com.amazonaws.fis#ExperimentId",
1640                    "traits": {
1641                        "smithy.api#documentation": "<p>The ID of the experiment.</p>",
1642                        "smithy.api#httpLabel": {},
1643                        "smithy.api#required": {}
1644                    }
1645                }
1646            }
1647        },
1648        "com.amazonaws.fis#GetExperimentResponse": {
1649            "type": "structure",
1650            "members": {
1651                "experiment": {
1652                    "target": "com.amazonaws.fis#Experiment",
1653                    "traits": {
1654                        "smithy.api#documentation": "<p>Information about the experiment.</p>"
1655                    }
1656                }
1657            }
1658        },
1659        "com.amazonaws.fis#GetExperimentTemplate": {
1660            "type": "operation",
1661            "input": {
1662                "target": "com.amazonaws.fis#GetExperimentTemplateRequest"
1663            },
1664            "output": {
1665                "target": "com.amazonaws.fis#GetExperimentTemplateResponse"
1666            },
1667            "errors": [
1668                {
1669                    "target": "com.amazonaws.fis#ResourceNotFoundException"
1670                },
1671                {
1672                    "target": "com.amazonaws.fis#ValidationException"
1673                }
1674            ],
1675            "traits": {
1676                "smithy.api#documentation": "<p>Gets information about the specified experiment template.</p>",
1677                "smithy.api#http": {
1678                    "method": "GET",
1679                    "uri": "/experimentTemplates/{id}",
1680                    "code": 200
1681                }
1682            }
1683        },
1684        "com.amazonaws.fis#GetExperimentTemplateRequest": {
1685            "type": "structure",
1686            "members": {
1687                "id": {
1688                    "target": "com.amazonaws.fis#ExperimentTemplateId",
1689                    "traits": {
1690                        "smithy.api#documentation": "<p>The ID of the experiment template.</p>",
1691                        "smithy.api#httpLabel": {},
1692                        "smithy.api#required": {}
1693                    }
1694                }
1695            }
1696        },
1697        "com.amazonaws.fis#GetExperimentTemplateResponse": {
1698            "type": "structure",
1699            "members": {
1700                "experimentTemplate": {
1701                    "target": "com.amazonaws.fis#ExperimentTemplate",
1702                    "traits": {
1703                        "smithy.api#documentation": "<p>Information about the experiment template.</p>"
1704                    }
1705                }
1706            }
1707        },
1708        "com.amazonaws.fis#LastUpdateTime": {
1709            "type": "timestamp"
1710        },
1711        "com.amazonaws.fis#ListActions": {
1712            "type": "operation",
1713            "input": {
1714                "target": "com.amazonaws.fis#ListActionsRequest"
1715            },
1716            "output": {
1717                "target": "com.amazonaws.fis#ListActionsResponse"
1718            },
1719            "errors": [
1720                {
1721                    "target": "com.amazonaws.fis#ValidationException"
1722                }
1723            ],
1724            "traits": {
1725                "smithy.api#documentation": "<p>Lists the available AWS FIS actions.</p>",
1726                "smithy.api#http": {
1727                    "method": "GET",
1728                    "uri": "/actions",
1729                    "code": 200
1730                },
1731                "smithy.api#paginated": {
1732                    "inputToken": "nextToken",
1733                    "outputToken": "nextToken",
1734                    "pageSize": "maxResults"
1735                }
1736            }
1737        },
1738        "com.amazonaws.fis#ListActionsMaxResults": {
1739            "type": "integer",
1740            "traits": {
1741                "smithy.api#range": {
1742                    "min": 1,
1743                    "max": 100
1744                }
1745            }
1746        },
1747        "com.amazonaws.fis#ListActionsRequest": {
1748            "type": "structure",
1749            "members": {
1750                "maxResults": {
1751                    "target": "com.amazonaws.fis#ListActionsMaxResults",
1752                    "traits": {
1753                        "smithy.api#box": {},
1754                        "smithy.api#documentation": "<p>The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</p>",
1755                        "smithy.api#httpQuery": "maxResults"
1756                    }
1757                },
1758                "nextToken": {
1759                    "target": "com.amazonaws.fis#NextToken",
1760                    "traits": {
1761                        "smithy.api#documentation": "<p>The token for the next page of results.</p>",
1762                        "smithy.api#httpQuery": "nextToken"
1763                    }
1764                }
1765            }
1766        },
1767        "com.amazonaws.fis#ListActionsResponse": {
1768            "type": "structure",
1769            "members": {
1770                "actions": {
1771                    "target": "com.amazonaws.fis#ActionSummaryList",
1772                    "traits": {
1773                        "smithy.api#documentation": "<p>The actions.</p>"
1774                    }
1775                },
1776                "nextToken": {
1777                    "target": "com.amazonaws.fis#NextToken",
1778                    "traits": {
1779                        "smithy.api#documentation": "<p>The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return.</p>"
1780                    }
1781                }
1782            }
1783        },
1784        "com.amazonaws.fis#ListExperimentTemplates": {
1785            "type": "operation",
1786            "input": {
1787                "target": "com.amazonaws.fis#ListExperimentTemplatesRequest"
1788            },
1789            "output": {
1790                "target": "com.amazonaws.fis#ListExperimentTemplatesResponse"
1791            },
1792            "errors": [
1793                {
1794                    "target": "com.amazonaws.fis#ValidationException"
1795                }
1796            ],
1797            "traits": {
1798                "smithy.api#documentation": "<p>Lists your experiment templates.</p>",
1799                "smithy.api#http": {
1800                    "method": "GET",
1801                    "uri": "/experimentTemplates",
1802                    "code": 200
1803                },
1804                "smithy.api#paginated": {
1805                    "inputToken": "nextToken",
1806                    "outputToken": "nextToken",
1807                    "pageSize": "maxResults"
1808                }
1809            }
1810        },
1811        "com.amazonaws.fis#ListExperimentTemplatesMaxResults": {
1812            "type": "integer",
1813            "traits": {
1814                "smithy.api#range": {
1815                    "min": 1,
1816                    "max": 100
1817                }
1818            }
1819        },
1820        "com.amazonaws.fis#ListExperimentTemplatesRequest": {
1821            "type": "structure",
1822            "members": {
1823                "maxResults": {
1824                    "target": "com.amazonaws.fis#ListExperimentTemplatesMaxResults",
1825                    "traits": {
1826                        "smithy.api#box": {},
1827                        "smithy.api#documentation": "<p>The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</p>",
1828                        "smithy.api#httpQuery": "maxResults"
1829                    }
1830                },
1831                "nextToken": {
1832                    "target": "com.amazonaws.fis#NextToken",
1833                    "traits": {
1834                        "smithy.api#documentation": "<p>The token for the next page of results.</p>",
1835                        "smithy.api#httpQuery": "nextToken"
1836                    }
1837                }
1838            }
1839        },
1840        "com.amazonaws.fis#ListExperimentTemplatesResponse": {
1841            "type": "structure",
1842            "members": {
1843                "experimentTemplates": {
1844                    "target": "com.amazonaws.fis#ExperimentTemplateSummaryList",
1845                    "traits": {
1846                        "smithy.api#documentation": "<p>The experiment templates.</p>"
1847                    }
1848                },
1849                "nextToken": {
1850                    "target": "com.amazonaws.fis#NextToken",
1851                    "traits": {
1852                        "smithy.api#documentation": "<p>The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return.</p>"
1853                    }
1854                }
1855            }
1856        },
1857        "com.amazonaws.fis#ListExperiments": {
1858            "type": "operation",
1859            "input": {
1860                "target": "com.amazonaws.fis#ListExperimentsRequest"
1861            },
1862            "output": {
1863                "target": "com.amazonaws.fis#ListExperimentsResponse"
1864            },
1865            "errors": [
1866                {
1867                    "target": "com.amazonaws.fis#ValidationException"
1868                }
1869            ],
1870            "traits": {
1871                "smithy.api#documentation": "<p>Lists your experiments.</p>",
1872                "smithy.api#http": {
1873                    "method": "GET",
1874                    "uri": "/experiments",
1875                    "code": 200
1876                },
1877                "smithy.api#paginated": {
1878                    "inputToken": "nextToken",
1879                    "outputToken": "nextToken",
1880                    "pageSize": "maxResults"
1881                }
1882            }
1883        },
1884        "com.amazonaws.fis#ListExperimentsMaxResults": {
1885            "type": "integer",
1886            "traits": {
1887                "smithy.api#range": {
1888                    "min": 1,
1889                    "max": 100
1890                }
1891            }
1892        },
1893        "com.amazonaws.fis#ListExperimentsRequest": {
1894            "type": "structure",
1895            "members": {
1896                "maxResults": {
1897                    "target": "com.amazonaws.fis#ListExperimentsMaxResults",
1898                    "traits": {
1899                        "smithy.api#box": {},
1900                        "smithy.api#documentation": "<p>The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</p>",
1901                        "smithy.api#httpQuery": "maxResults"
1902                    }
1903                },
1904                "nextToken": {
1905                    "target": "com.amazonaws.fis#NextToken",
1906                    "traits": {
1907                        "smithy.api#documentation": "<p>The token for the next page of results.</p>",
1908                        "smithy.api#httpQuery": "nextToken"
1909                    }
1910                }
1911            }
1912        },
1913        "com.amazonaws.fis#ListExperimentsResponse": {
1914            "type": "structure",
1915            "members": {
1916                "experiments": {
1917                    "target": "com.amazonaws.fis#ExperimentSummaryList",
1918                    "traits": {
1919                        "smithy.api#documentation": "<p>The experiments.</p>"
1920                    }
1921                },
1922                "nextToken": {
1923                    "target": "com.amazonaws.fis#NextToken",
1924                    "traits": {
1925                        "smithy.api#documentation": "<p>The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return.</p>"
1926                    }
1927                }
1928            }
1929        },
1930        "com.amazonaws.fis#ListTagsForResource": {
1931            "type": "operation",
1932            "input": {
1933                "target": "com.amazonaws.fis#ListTagsForResourceRequest"
1934            },
1935            "output": {
1936                "target": "com.amazonaws.fis#ListTagsForResourceResponse"
1937            },
1938            "traits": {
1939                "smithy.api#documentation": "<p>Lists the tags for the specified resource.</p>",
1940                "smithy.api#http": {
1941                    "method": "GET",
1942                    "uri": "/tags/{resourceArn}",
1943                    "code": 200
1944                }
1945            }
1946        },
1947        "com.amazonaws.fis#ListTagsForResourceRequest": {
1948            "type": "structure",
1949            "members": {
1950                "resourceArn": {
1951                    "target": "com.amazonaws.fis#ResourceArn",
1952                    "traits": {
1953                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the resource.</p>",
1954                        "smithy.api#httpLabel": {},
1955                        "smithy.api#required": {}
1956                    }
1957                }
1958            }
1959        },
1960        "com.amazonaws.fis#ListTagsForResourceResponse": {
1961            "type": "structure",
1962            "members": {
1963                "tags": {
1964                    "target": "com.amazonaws.fis#TagMap",
1965                    "traits": {
1966                        "smithy.api#documentation": "<p>The tags for the resource.</p>"
1967                    }
1968                }
1969            }
1970        },
1971        "com.amazonaws.fis#NextToken": {
1972            "type": "string",
1973            "traits": {
1974                "smithy.api#length": {
1975                    "min": 1,
1976                    "max": 1024
1977                },
1978                "smithy.api#pattern": "[\\S]+"
1979            }
1980        },
1981        "com.amazonaws.fis#ResourceArn": {
1982            "type": "string",
1983            "traits": {
1984                "smithy.api#length": {
1985                    "min": 20,
1986                    "max": 2048
1987                },
1988                "smithy.api#pattern": "[\\S]+"
1989            }
1990        },
1991        "com.amazonaws.fis#ResourceArnList": {
1992            "type": "list",
1993            "member": {
1994                "target": "com.amazonaws.fis#ResourceArn"
1995            },
1996            "traits": {
1997                "smithy.api#length": {
1998                    "min": 0,
1999                    "max": 5
2000                }
2001            }
2002        },
2003        "com.amazonaws.fis#ResourceNotFoundException": {
2004            "type": "structure",
2005            "members": {
2006                "message": {
2007                    "target": "com.amazonaws.fis#ExceptionMessage"
2008                }
2009            },
2010            "traits": {
2011                "smithy.api#documentation": "<p>The specified resource cannot be found.</p>",
2012                "smithy.api#error": "client",
2013                "smithy.api#httpError": 404
2014            }
2015        },
2016        "com.amazonaws.fis#ResourceType": {
2017            "type": "string",
2018            "traits": {
2019                "smithy.api#length": {
2020                    "min": 0,
2021                    "max": 64
2022                },
2023                "smithy.api#pattern": "[\\S]+"
2024            }
2025        },
2026        "com.amazonaws.fis#RoleArn": {
2027            "type": "string",
2028            "traits": {
2029                "smithy.api#length": {
2030                    "min": 20,
2031                    "max": 2048
2032                },
2033                "smithy.api#pattern": "[\\S]+"
2034            }
2035        },
2036        "com.amazonaws.fis#ServiceQuotaExceededException": {
2037            "type": "structure",
2038            "members": {
2039                "message": {
2040                    "target": "com.amazonaws.fis#ExceptionMessage"
2041                }
2042            },
2043            "traits": {
2044                "smithy.api#documentation": "<p>You have exceeded your service quota.</p>",
2045                "smithy.api#error": "client",
2046                "smithy.api#httpError": 402
2047            }
2048        },
2049        "com.amazonaws.fis#StartExperiment": {
2050            "type": "operation",
2051            "input": {
2052                "target": "com.amazonaws.fis#StartExperimentRequest"
2053            },
2054            "output": {
2055                "target": "com.amazonaws.fis#StartExperimentResponse"
2056            },
2057            "errors": [
2058                {
2059                    "target": "com.amazonaws.fis#ConflictException"
2060                },
2061                {
2062                    "target": "com.amazonaws.fis#ResourceNotFoundException"
2063                },
2064                {
2065                    "target": "com.amazonaws.fis#ServiceQuotaExceededException"
2066                },
2067                {
2068                    "target": "com.amazonaws.fis#ValidationException"
2069                }
2070            ],
2071            "traits": {
2072                "smithy.api#documentation": "<p>Starts running an experiment from the specified experiment template.</p>",
2073                "smithy.api#http": {
2074                    "method": "POST",
2075                    "uri": "/experiments",
2076                    "code": 200
2077                }
2078            }
2079        },
2080        "com.amazonaws.fis#StartExperimentRequest": {
2081            "type": "structure",
2082            "members": {
2083                "clientToken": {
2084                    "target": "com.amazonaws.fis#ClientToken",
2085                    "traits": {
2086                        "smithy.api#documentation": "<p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>",
2087                        "smithy.api#idempotencyToken": {},
2088                        "smithy.api#required": {}
2089                    }
2090                },
2091                "experimentTemplateId": {
2092                    "target": "com.amazonaws.fis#ExperimentTemplateId",
2093                    "traits": {
2094                        "smithy.api#documentation": "<p>The ID of the experiment template.</p>",
2095                        "smithy.api#required": {}
2096                    }
2097                },
2098                "tags": {
2099                    "target": "com.amazonaws.fis#TagMap",
2100                    "traits": {
2101                        "smithy.api#documentation": "<p>The tags to apply to the experiment.</p>"
2102                    }
2103                }
2104            }
2105        },
2106        "com.amazonaws.fis#StartExperimentResponse": {
2107            "type": "structure",
2108            "members": {
2109                "experiment": {
2110                    "target": "com.amazonaws.fis#Experiment",
2111                    "traits": {
2112                        "smithy.api#documentation": "<p>Information about the experiment.</p>"
2113                    }
2114                }
2115            }
2116        },
2117        "com.amazonaws.fis#StopConditionSource": {
2118            "type": "string",
2119            "traits": {
2120                "smithy.api#length": {
2121                    "min": 0,
2122                    "max": 64
2123                },
2124                "smithy.api#pattern": "[\\S]+"
2125            }
2126        },
2127        "com.amazonaws.fis#StopConditionValue": {
2128            "type": "string",
2129            "traits": {
2130                "smithy.api#length": {
2131                    "min": 20,
2132                    "max": 2048
2133                },
2134                "smithy.api#pattern": "[\\s\\S]+"
2135            }
2136        },
2137        "com.amazonaws.fis#StopExperiment": {
2138            "type": "operation",
2139            "input": {
2140                "target": "com.amazonaws.fis#StopExperimentRequest"
2141            },
2142            "output": {
2143                "target": "com.amazonaws.fis#StopExperimentResponse"
2144            },
2145            "errors": [
2146                {
2147                    "target": "com.amazonaws.fis#ResourceNotFoundException"
2148                },
2149                {
2150                    "target": "com.amazonaws.fis#ValidationException"
2151                }
2152            ],
2153            "traits": {
2154                "smithy.api#documentation": "<p>Stops the specified experiment.</p>",
2155                "smithy.api#http": {
2156                    "method": "DELETE",
2157                    "uri": "/experiments/{id}",
2158                    "code": 200
2159                }
2160            }
2161        },
2162        "com.amazonaws.fis#StopExperimentRequest": {
2163            "type": "structure",
2164            "members": {
2165                "id": {
2166                    "target": "com.amazonaws.fis#ExperimentId",
2167                    "traits": {
2168                        "smithy.api#documentation": "<p>The ID of the experiment.</p>",
2169                        "smithy.api#httpLabel": {},
2170                        "smithy.api#required": {}
2171                    }
2172                }
2173            }
2174        },
2175        "com.amazonaws.fis#StopExperimentResponse": {
2176            "type": "structure",
2177            "members": {
2178                "experiment": {
2179                    "target": "com.amazonaws.fis#Experiment",
2180                    "traits": {
2181                        "smithy.api#documentation": "<p>Information about the experiment.</p>"
2182                    }
2183                }
2184            }
2185        },
2186        "com.amazonaws.fis#TagKey": {
2187            "type": "string",
2188            "traits": {
2189                "smithy.api#length": {
2190                    "min": 0,
2191                    "max": 128
2192                },
2193                "smithy.api#pattern": "[\\s\\S]+"
2194            }
2195        },
2196        "com.amazonaws.fis#TagKeyList": {
2197            "type": "list",
2198            "member": {
2199                "target": "com.amazonaws.fis#TagKey"
2200            }
2201        },
2202        "com.amazonaws.fis#TagMap": {
2203            "type": "map",
2204            "key": {
2205                "target": "com.amazonaws.fis#TagKey"
2206            },
2207            "value": {
2208                "target": "com.amazonaws.fis#TagValue"
2209            },
2210            "traits": {
2211                "smithy.api#length": {
2212                    "min": 0,
2213                    "max": 50
2214                }
2215            }
2216        },
2217        "com.amazonaws.fis#TagResource": {
2218            "type": "operation",
2219            "input": {
2220                "target": "com.amazonaws.fis#TagResourceRequest"
2221            },
2222            "output": {
2223                "target": "com.amazonaws.fis#TagResourceResponse"
2224            },
2225            "traits": {
2226                "smithy.api#documentation": "<p>Applies the specified tags to the specified resource.</p>",
2227                "smithy.api#http": {
2228                    "method": "POST",
2229                    "uri": "/tags/{resourceArn}",
2230                    "code": 200
2231                }
2232            }
2233        },
2234        "com.amazonaws.fis#TagResourceRequest": {
2235            "type": "structure",
2236            "members": {
2237                "resourceArn": {
2238                    "target": "com.amazonaws.fis#ResourceArn",
2239                    "traits": {
2240                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the resource.</p>",
2241                        "smithy.api#httpLabel": {},
2242                        "smithy.api#required": {}
2243                    }
2244                },
2245                "tags": {
2246                    "target": "com.amazonaws.fis#TagMap",
2247                    "traits": {
2248                        "smithy.api#documentation": "<p>The tags for the resource.</p>",
2249                        "smithy.api#required": {}
2250                    }
2251                }
2252            }
2253        },
2254        "com.amazonaws.fis#TagResourceResponse": {
2255            "type": "structure",
2256            "members": {}
2257        },
2258        "com.amazonaws.fis#TagValue": {
2259            "type": "string",
2260            "traits": {
2261                "smithy.api#length": {
2262                    "min": 0,
2263                    "max": 256
2264                },
2265                "smithy.api#pattern": "[\\s\\S]*"
2266            }
2267        },
2268        "com.amazonaws.fis#TargetResourceType": {
2269            "type": "string",
2270            "traits": {
2271                "smithy.api#length": {
2272                    "min": 0,
2273                    "max": 128
2274                },
2275                "smithy.api#pattern": "[\\S]+"
2276            }
2277        },
2278        "com.amazonaws.fis#UntagResource": {
2279            "type": "operation",
2280            "input": {
2281                "target": "com.amazonaws.fis#UntagResourceRequest"
2282            },
2283            "output": {
2284                "target": "com.amazonaws.fis#UntagResourceResponse"
2285            },
2286            "traits": {
2287                "smithy.api#documentation": "<p>Removes the specified tags from the specified resource.</p>",
2288                "smithy.api#http": {
2289                    "method": "DELETE",
2290                    "uri": "/tags/{resourceArn}",
2291                    "code": 200
2292                }
2293            }
2294        },
2295        "com.amazonaws.fis#UntagResourceRequest": {
2296            "type": "structure",
2297            "members": {
2298                "resourceArn": {
2299                    "target": "com.amazonaws.fis#ResourceArn",
2300                    "traits": {
2301                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the resource.</p>",
2302                        "smithy.api#httpLabel": {},
2303                        "smithy.api#required": {}
2304                    }
2305                },
2306                "tagKeys": {
2307                    "target": "com.amazonaws.fis#TagKeyList",
2308                    "traits": {
2309                        "smithy.api#documentation": "<p>The tag keys to remove.</p>",
2310                        "smithy.api#httpQuery": "tagKeys"
2311                    }
2312                }
2313            }
2314        },
2315        "com.amazonaws.fis#UntagResourceResponse": {
2316            "type": "structure",
2317            "members": {}
2318        },
2319        "com.amazonaws.fis#UpdateExperimentTemplate": {
2320            "type": "operation",
2321            "input": {
2322                "target": "com.amazonaws.fis#UpdateExperimentTemplateRequest"
2323            },
2324            "output": {
2325                "target": "com.amazonaws.fis#UpdateExperimentTemplateResponse"
2326            },
2327            "errors": [
2328                {
2329                    "target": "com.amazonaws.fis#ResourceNotFoundException"
2330                },
2331                {
2332                    "target": "com.amazonaws.fis#ServiceQuotaExceededException"
2333                },
2334                {
2335                    "target": "com.amazonaws.fis#ValidationException"
2336                }
2337            ],
2338            "traits": {
2339                "smithy.api#documentation": "<p>Updates the specified experiment template.</p>",
2340                "smithy.api#http": {
2341                    "method": "PATCH",
2342                    "uri": "/experimentTemplates/{id}",
2343                    "code": 200
2344                }
2345            }
2346        },
2347        "com.amazonaws.fis#UpdateExperimentTemplateActionInputItem": {
2348            "type": "structure",
2349            "members": {
2350                "actionId": {
2351                    "target": "com.amazonaws.fis#ActionId",
2352                    "traits": {
2353                        "smithy.api#documentation": "<p>The ID of the action.</p>"
2354                    }
2355                },
2356                "description": {
2357                    "target": "com.amazonaws.fis#ExperimentTemplateActionDescription",
2358                    "traits": {
2359                        "smithy.api#documentation": "<p>A description for the action.</p>"
2360                    }
2361                },
2362                "parameters": {
2363                    "target": "com.amazonaws.fis#ExperimentTemplateActionParameterMap",
2364                    "traits": {
2365                        "smithy.api#documentation": "<p>The parameters for the action, if applicable.</p>"
2366                    }
2367                },
2368                "targets": {
2369                    "target": "com.amazonaws.fis#ExperimentTemplateActionTargetMap",
2370                    "traits": {
2371                        "smithy.api#documentation": "<p>The targets for the action.</p>"
2372                    }
2373                },
2374                "startAfter": {
2375                    "target": "com.amazonaws.fis#ExperimentTemplateActionStartAfterList",
2376                    "traits": {
2377                        "smithy.api#documentation": "<p>The name of the action that must be completed before the current action starts. Omit this parameter to run the action at the start of the experiment.</p>"
2378                    }
2379                }
2380            },
2381            "traits": {
2382                "smithy.api#documentation": "<p>Specifies an action for an experiment template.</p>"
2383            }
2384        },
2385        "com.amazonaws.fis#UpdateExperimentTemplateActionInputMap": {
2386            "type": "map",
2387            "key": {
2388                "target": "com.amazonaws.fis#ExperimentTemplateActionName"
2389            },
2390            "value": {
2391                "target": "com.amazonaws.fis#UpdateExperimentTemplateActionInputItem"
2392            }
2393        },
2394        "com.amazonaws.fis#UpdateExperimentTemplateRequest": {
2395            "type": "structure",
2396            "members": {
2397                "id": {
2398                    "target": "com.amazonaws.fis#ExperimentTemplateId",
2399                    "traits": {
2400                        "smithy.api#documentation": "<p>The ID of the experiment template.</p>",
2401                        "smithy.api#httpLabel": {},
2402                        "smithy.api#required": {}
2403                    }
2404                },
2405                "description": {
2406                    "target": "com.amazonaws.fis#ExperimentTemplateDescription",
2407                    "traits": {
2408                        "smithy.api#documentation": "<p>A description for the template.</p>"
2409                    }
2410                },
2411                "stopConditions": {
2412                    "target": "com.amazonaws.fis#UpdateExperimentTemplateStopConditionInputList",
2413                    "traits": {
2414                        "smithy.api#documentation": "<p>The stop conditions for the experiment.</p>"
2415                    }
2416                },
2417                "targets": {
2418                    "target": "com.amazonaws.fis#UpdateExperimentTemplateTargetInputMap",
2419                    "traits": {
2420                        "smithy.api#documentation": "<p>The targets for the experiment.</p>"
2421                    }
2422                },
2423                "actions": {
2424                    "target": "com.amazonaws.fis#UpdateExperimentTemplateActionInputMap",
2425                    "traits": {
2426                        "smithy.api#documentation": "<p>The actions for the experiment.</p>"
2427                    }
2428                },
2429                "roleArn": {
2430                    "target": "com.amazonaws.fis#RoleArn",
2431                    "traits": {
2432                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of an IAM role that grants the AWS FIS service permission to perform service actions on your behalf.</p>"
2433                    }
2434                }
2435            }
2436        },
2437        "com.amazonaws.fis#UpdateExperimentTemplateResponse": {
2438            "type": "structure",
2439            "members": {
2440                "experimentTemplate": {
2441                    "target": "com.amazonaws.fis#ExperimentTemplate",
2442                    "traits": {
2443                        "smithy.api#documentation": "<p>Information about the experiment template.</p>"
2444                    }
2445                }
2446            }
2447        },
2448        "com.amazonaws.fis#UpdateExperimentTemplateStopConditionInput": {
2449            "type": "structure",
2450            "members": {
2451                "source": {
2452                    "target": "com.amazonaws.fis#StopConditionSource",
2453                    "traits": {
2454                        "smithy.api#documentation": "<p>The source for the stop condition. Specify <code>aws:cloudwatch:alarm</code> if the stop\n         condition is defined by a CloudWatch alarm. Specify <code>none</code> if there is no stop\n         condition.</p>",
2455                        "smithy.api#required": {}
2456                    }
2457                },
2458                "value": {
2459                    "target": "com.amazonaws.fis#StopConditionValue",
2460                    "traits": {
2461                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the CloudWatch alarm.</p>"
2462                    }
2463                }
2464            },
2465            "traits": {
2466                "smithy.api#documentation": "<p>Specifies a stop condition for an experiment. You can define a stop condition as a CloudWatch alarm.</p>"
2467            }
2468        },
2469        "com.amazonaws.fis#UpdateExperimentTemplateStopConditionInputList": {
2470            "type": "list",
2471            "member": {
2472                "target": "com.amazonaws.fis#UpdateExperimentTemplateStopConditionInput"
2473            }
2474        },
2475        "com.amazonaws.fis#UpdateExperimentTemplateTargetInput": {
2476            "type": "structure",
2477            "members": {
2478                "resourceType": {
2479                    "target": "com.amazonaws.fis#ResourceType",
2480                    "traits": {
2481                        "smithy.api#documentation": "<p>The AWS resource type. The resource type must be supported for the specified action.</p>",
2482                        "smithy.api#required": {}
2483                    }
2484                },
2485                "resourceArns": {
2486                    "target": "com.amazonaws.fis#ResourceArnList",
2487                    "traits": {
2488                        "smithy.api#documentation": "<p>The Amazon Resource Names (ARNs) of the targets.</p>"
2489                    }
2490                },
2491                "resourceTags": {
2492                    "target": "com.amazonaws.fis#TagMap",
2493                    "traits": {
2494                        "smithy.api#documentation": "<p>The tags for the target resources.</p>"
2495                    }
2496                },
2497                "filters": {
2498                    "target": "com.amazonaws.fis#ExperimentTemplateTargetFilterInputList",
2499                    "traits": {
2500                        "smithy.api#documentation": "<p>The filters to apply to identify target resources using specific attributes.</p>"
2501                    }
2502                },
2503                "selectionMode": {
2504                    "target": "com.amazonaws.fis#ExperimentTemplateTargetSelectionMode",
2505                    "traits": {
2506                        "smithy.api#documentation": "<p>Scopes the identified resources to a specific count or percentage.</p>",
2507                        "smithy.api#required": {}
2508                    }
2509                }
2510            },
2511            "traits": {
2512                "smithy.api#documentation": "<p>Specifies a target for an experiment. You must specify at least one Amazon Resource Name (ARN) or at least one resource tag. You cannot specify both.</p>"
2513            }
2514        },
2515        "com.amazonaws.fis#UpdateExperimentTemplateTargetInputMap": {
2516            "type": "map",
2517            "key": {
2518                "target": "com.amazonaws.fis#ExperimentTemplateTargetName"
2519            },
2520            "value": {
2521                "target": "com.amazonaws.fis#UpdateExperimentTemplateTargetInput"
2522            }
2523        },
2524        "com.amazonaws.fis#ValidationException": {
2525            "type": "structure",
2526            "members": {
2527                "message": {
2528                    "target": "com.amazonaws.fis#ExceptionMessage"
2529                }
2530            },
2531            "traits": {
2532                "smithy.api#documentation": "<p>The specified input is not valid, or fails to satisfy the constraints for the request.</p>",
2533                "smithy.api#error": "client",
2534                "smithy.api#httpError": 400
2535            }
2536        }
2537    }
2538}
2539