1{
2  "version":"2.0",
3  "metadata":{
4    "apiVersion":"2017-07-25",
5    "endpointPrefix":"amplify",
6    "jsonVersion":"1.1",
7    "protocol":"rest-json",
8    "serviceAbbreviation":"Amplify",
9    "serviceFullName":"AWS Amplify",
10    "serviceId":"Amplify",
11    "signatureVersion":"v4",
12    "signingName":"amplify",
13    "uid":"amplify-2017-07-25"
14  },
15  "operations":{
16    "CreateApp":{
17      "name":"CreateApp",
18      "http":{
19        "method":"POST",
20        "requestUri":"/apps"
21      },
22      "input":{"shape":"CreateAppRequest"},
23      "output":{"shape":"CreateAppResult"},
24      "errors":[
25        {"shape":"BadRequestException"},
26        {"shape":"UnauthorizedException"},
27        {"shape":"InternalFailureException"},
28        {"shape":"LimitExceededException"},
29        {"shape":"DependentServiceFailureException"}
30      ]
31    },
32    "CreateBackendEnvironment":{
33      "name":"CreateBackendEnvironment",
34      "http":{
35        "method":"POST",
36        "requestUri":"/apps/{appId}/backendenvironments"
37      },
38      "input":{"shape":"CreateBackendEnvironmentRequest"},
39      "output":{"shape":"CreateBackendEnvironmentResult"},
40      "errors":[
41        {"shape":"BadRequestException"},
42        {"shape":"UnauthorizedException"},
43        {"shape":"NotFoundException"},
44        {"shape":"InternalFailureException"},
45        {"shape":"LimitExceededException"}
46      ]
47    },
48    "CreateBranch":{
49      "name":"CreateBranch",
50      "http":{
51        "method":"POST",
52        "requestUri":"/apps/{appId}/branches"
53      },
54      "input":{"shape":"CreateBranchRequest"},
55      "output":{"shape":"CreateBranchResult"},
56      "errors":[
57        {"shape":"BadRequestException"},
58        {"shape":"UnauthorizedException"},
59        {"shape":"NotFoundException"},
60        {"shape":"InternalFailureException"},
61        {"shape":"LimitExceededException"},
62        {"shape":"DependentServiceFailureException"}
63      ]
64    },
65    "CreateDeployment":{
66      "name":"CreateDeployment",
67      "http":{
68        "method":"POST",
69        "requestUri":"/apps/{appId}/branches/{branchName}/deployments"
70      },
71      "input":{"shape":"CreateDeploymentRequest"},
72      "output":{"shape":"CreateDeploymentResult"},
73      "errors":[
74        {"shape":"BadRequestException"},
75        {"shape":"UnauthorizedException"},
76        {"shape":"InternalFailureException"},
77        {"shape":"LimitExceededException"}
78      ]
79    },
80    "CreateDomainAssociation":{
81      "name":"CreateDomainAssociation",
82      "http":{
83        "method":"POST",
84        "requestUri":"/apps/{appId}/domains"
85      },
86      "input":{"shape":"CreateDomainAssociationRequest"},
87      "output":{"shape":"CreateDomainAssociationResult"},
88      "errors":[
89        {"shape":"BadRequestException"},
90        {"shape":"UnauthorizedException"},
91        {"shape":"NotFoundException"},
92        {"shape":"InternalFailureException"},
93        {"shape":"LimitExceededException"},
94        {"shape":"DependentServiceFailureException"}
95      ]
96    },
97    "CreateWebhook":{
98      "name":"CreateWebhook",
99      "http":{
100        "method":"POST",
101        "requestUri":"/apps/{appId}/webhooks"
102      },
103      "input":{"shape":"CreateWebhookRequest"},
104      "output":{"shape":"CreateWebhookResult"},
105      "errors":[
106        {"shape":"BadRequestException"},
107        {"shape":"UnauthorizedException"},
108        {"shape":"NotFoundException"},
109        {"shape":"InternalFailureException"},
110        {"shape":"LimitExceededException"},
111        {"shape":"DependentServiceFailureException"}
112      ]
113    },
114    "DeleteApp":{
115      "name":"DeleteApp",
116      "http":{
117        "method":"DELETE",
118        "requestUri":"/apps/{appId}"
119      },
120      "input":{"shape":"DeleteAppRequest"},
121      "output":{"shape":"DeleteAppResult"},
122      "errors":[
123        {"shape":"BadRequestException"},
124        {"shape":"NotFoundException"},
125        {"shape":"UnauthorizedException"},
126        {"shape":"InternalFailureException"},
127        {"shape":"DependentServiceFailureException"}
128      ]
129    },
130    "DeleteBackendEnvironment":{
131      "name":"DeleteBackendEnvironment",
132      "http":{
133        "method":"DELETE",
134        "requestUri":"/apps/{appId}/backendenvironments/{environmentName}"
135      },
136      "input":{"shape":"DeleteBackendEnvironmentRequest"},
137      "output":{"shape":"DeleteBackendEnvironmentResult"},
138      "errors":[
139        {"shape":"BadRequestException"},
140        {"shape":"UnauthorizedException"},
141        {"shape":"NotFoundException"},
142        {"shape":"InternalFailureException"},
143        {"shape":"DependentServiceFailureException"}
144      ]
145    },
146    "DeleteBranch":{
147      "name":"DeleteBranch",
148      "http":{
149        "method":"DELETE",
150        "requestUri":"/apps/{appId}/branches/{branchName}"
151      },
152      "input":{"shape":"DeleteBranchRequest"},
153      "output":{"shape":"DeleteBranchResult"},
154      "errors":[
155        {"shape":"BadRequestException"},
156        {"shape":"UnauthorizedException"},
157        {"shape":"NotFoundException"},
158        {"shape":"InternalFailureException"},
159        {"shape":"DependentServiceFailureException"}
160      ]
161    },
162    "DeleteDomainAssociation":{
163      "name":"DeleteDomainAssociation",
164      "http":{
165        "method":"DELETE",
166        "requestUri":"/apps/{appId}/domains/{domainName}"
167      },
168      "input":{"shape":"DeleteDomainAssociationRequest"},
169      "output":{"shape":"DeleteDomainAssociationResult"},
170      "errors":[
171        {"shape":"BadRequestException"},
172        {"shape":"UnauthorizedException"},
173        {"shape":"NotFoundException"},
174        {"shape":"InternalFailureException"},
175        {"shape":"DependentServiceFailureException"}
176      ]
177    },
178    "DeleteJob":{
179      "name":"DeleteJob",
180      "http":{
181        "method":"DELETE",
182        "requestUri":"/apps/{appId}/branches/{branchName}/jobs/{jobId}"
183      },
184      "input":{"shape":"DeleteJobRequest"},
185      "output":{"shape":"DeleteJobResult"},
186      "errors":[
187        {"shape":"BadRequestException"},
188        {"shape":"UnauthorizedException"},
189        {"shape":"InternalFailureException"},
190        {"shape":"NotFoundException"},
191        {"shape":"LimitExceededException"}
192      ]
193    },
194    "DeleteWebhook":{
195      "name":"DeleteWebhook",
196      "http":{
197        "method":"DELETE",
198        "requestUri":"/webhooks/{webhookId}"
199      },
200      "input":{"shape":"DeleteWebhookRequest"},
201      "output":{"shape":"DeleteWebhookResult"},
202      "errors":[
203        {"shape":"BadRequestException"},
204        {"shape":"UnauthorizedException"},
205        {"shape":"InternalFailureException"},
206        {"shape":"NotFoundException"},
207        {"shape":"LimitExceededException"}
208      ]
209    },
210    "GenerateAccessLogs":{
211      "name":"GenerateAccessLogs",
212      "http":{
213        "method":"POST",
214        "requestUri":"/apps/{appId}/accesslogs"
215      },
216      "input":{"shape":"GenerateAccessLogsRequest"},
217      "output":{"shape":"GenerateAccessLogsResult"},
218      "errors":[
219        {"shape":"NotFoundException"},
220        {"shape":"BadRequestException"},
221        {"shape":"UnauthorizedException"},
222        {"shape":"InternalFailureException"}
223      ]
224    },
225    "GetApp":{
226      "name":"GetApp",
227      "http":{
228        "method":"GET",
229        "requestUri":"/apps/{appId}"
230      },
231      "input":{"shape":"GetAppRequest"},
232      "output":{"shape":"GetAppResult"},
233      "errors":[
234        {"shape":"BadRequestException"},
235        {"shape":"NotFoundException"},
236        {"shape":"UnauthorizedException"},
237        {"shape":"InternalFailureException"}
238      ]
239    },
240    "GetArtifactUrl":{
241      "name":"GetArtifactUrl",
242      "http":{
243        "method":"GET",
244        "requestUri":"/artifacts/{artifactId}"
245      },
246      "input":{"shape":"GetArtifactUrlRequest"},
247      "output":{"shape":"GetArtifactUrlResult"},
248      "errors":[
249        {"shape":"BadRequestException"},
250        {"shape":"UnauthorizedException"},
251        {"shape":"InternalFailureException"},
252        {"shape":"NotFoundException"},
253        {"shape":"LimitExceededException"}
254      ]
255    },
256    "GetBackendEnvironment":{
257      "name":"GetBackendEnvironment",
258      "http":{
259        "method":"GET",
260        "requestUri":"/apps/{appId}/backendenvironments/{environmentName}"
261      },
262      "input":{"shape":"GetBackendEnvironmentRequest"},
263      "output":{"shape":"GetBackendEnvironmentResult"},
264      "errors":[
265        {"shape":"BadRequestException"},
266        {"shape":"UnauthorizedException"},
267        {"shape":"NotFoundException"},
268        {"shape":"InternalFailureException"}
269      ]
270    },
271    "GetBranch":{
272      "name":"GetBranch",
273      "http":{
274        "method":"GET",
275        "requestUri":"/apps/{appId}/branches/{branchName}"
276      },
277      "input":{"shape":"GetBranchRequest"},
278      "output":{"shape":"GetBranchResult"},
279      "errors":[
280        {"shape":"BadRequestException"},
281        {"shape":"UnauthorizedException"},
282        {"shape":"NotFoundException"},
283        {"shape":"InternalFailureException"}
284      ]
285    },
286    "GetDomainAssociation":{
287      "name":"GetDomainAssociation",
288      "http":{
289        "method":"GET",
290        "requestUri":"/apps/{appId}/domains/{domainName}"
291      },
292      "input":{"shape":"GetDomainAssociationRequest"},
293      "output":{"shape":"GetDomainAssociationResult"},
294      "errors":[
295        {"shape":"BadRequestException"},
296        {"shape":"UnauthorizedException"},
297        {"shape":"NotFoundException"},
298        {"shape":"InternalFailureException"}
299      ]
300    },
301    "GetJob":{
302      "name":"GetJob",
303      "http":{
304        "method":"GET",
305        "requestUri":"/apps/{appId}/branches/{branchName}/jobs/{jobId}"
306      },
307      "input":{"shape":"GetJobRequest"},
308      "output":{"shape":"GetJobResult"},
309      "errors":[
310        {"shape":"BadRequestException"},
311        {"shape":"UnauthorizedException"},
312        {"shape":"InternalFailureException"},
313        {"shape":"NotFoundException"},
314        {"shape":"LimitExceededException"}
315      ]
316    },
317    "GetWebhook":{
318      "name":"GetWebhook",
319      "http":{
320        "method":"GET",
321        "requestUri":"/webhooks/{webhookId}"
322      },
323      "input":{"shape":"GetWebhookRequest"},
324      "output":{"shape":"GetWebhookResult"},
325      "errors":[
326        {"shape":"BadRequestException"},
327        {"shape":"UnauthorizedException"},
328        {"shape":"InternalFailureException"},
329        {"shape":"NotFoundException"},
330        {"shape":"LimitExceededException"}
331      ]
332    },
333    "ListApps":{
334      "name":"ListApps",
335      "http":{
336        "method":"GET",
337        "requestUri":"/apps"
338      },
339      "input":{"shape":"ListAppsRequest"},
340      "output":{"shape":"ListAppsResult"},
341      "errors":[
342        {"shape":"BadRequestException"},
343        {"shape":"UnauthorizedException"},
344        {"shape":"InternalFailureException"}
345      ]
346    },
347    "ListArtifacts":{
348      "name":"ListArtifacts",
349      "http":{
350        "method":"GET",
351        "requestUri":"/apps/{appId}/branches/{branchName}/jobs/{jobId}/artifacts"
352      },
353      "input":{"shape":"ListArtifactsRequest"},
354      "output":{"shape":"ListArtifactsResult"},
355      "errors":[
356        {"shape":"BadRequestException"},
357        {"shape":"UnauthorizedException"},
358        {"shape":"InternalFailureException"},
359        {"shape":"LimitExceededException"}
360      ]
361    },
362    "ListBackendEnvironments":{
363      "name":"ListBackendEnvironments",
364      "http":{
365        "method":"GET",
366        "requestUri":"/apps/{appId}/backendenvironments"
367      },
368      "input":{"shape":"ListBackendEnvironmentsRequest"},
369      "output":{"shape":"ListBackendEnvironmentsResult"},
370      "errors":[
371        {"shape":"BadRequestException"},
372        {"shape":"UnauthorizedException"},
373        {"shape":"InternalFailureException"}
374      ]
375    },
376    "ListBranches":{
377      "name":"ListBranches",
378      "http":{
379        "method":"GET",
380        "requestUri":"/apps/{appId}/branches"
381      },
382      "input":{"shape":"ListBranchesRequest"},
383      "output":{"shape":"ListBranchesResult"},
384      "errors":[
385        {"shape":"BadRequestException"},
386        {"shape":"UnauthorizedException"},
387        {"shape":"InternalFailureException"}
388      ]
389    },
390    "ListDomainAssociations":{
391      "name":"ListDomainAssociations",
392      "http":{
393        "method":"GET",
394        "requestUri":"/apps/{appId}/domains"
395      },
396      "input":{"shape":"ListDomainAssociationsRequest"},
397      "output":{"shape":"ListDomainAssociationsResult"},
398      "errors":[
399        {"shape":"BadRequestException"},
400        {"shape":"UnauthorizedException"},
401        {"shape":"InternalFailureException"}
402      ]
403    },
404    "ListJobs":{
405      "name":"ListJobs",
406      "http":{
407        "method":"GET",
408        "requestUri":"/apps/{appId}/branches/{branchName}/jobs"
409      },
410      "input":{"shape":"ListJobsRequest"},
411      "output":{"shape":"ListJobsResult"},
412      "errors":[
413        {"shape":"BadRequestException"},
414        {"shape":"UnauthorizedException"},
415        {"shape":"InternalFailureException"},
416        {"shape":"LimitExceededException"}
417      ]
418    },
419    "ListTagsForResource":{
420      "name":"ListTagsForResource",
421      "http":{
422        "method":"GET",
423        "requestUri":"/tags/{resourceArn}"
424      },
425      "input":{"shape":"ListTagsForResourceRequest"},
426      "output":{"shape":"ListTagsForResourceResponse"},
427      "errors":[
428        {"shape":"InternalFailureException"},
429        {"shape":"BadRequestException"},
430        {"shape":"ResourceNotFoundException"}
431      ]
432    },
433    "ListWebhooks":{
434      "name":"ListWebhooks",
435      "http":{
436        "method":"GET",
437        "requestUri":"/apps/{appId}/webhooks"
438      },
439      "input":{"shape":"ListWebhooksRequest"},
440      "output":{"shape":"ListWebhooksResult"},
441      "errors":[
442        {"shape":"BadRequestException"},
443        {"shape":"UnauthorizedException"},
444        {"shape":"InternalFailureException"},
445        {"shape":"LimitExceededException"}
446      ]
447    },
448    "StartDeployment":{
449      "name":"StartDeployment",
450      "http":{
451        "method":"POST",
452        "requestUri":"/apps/{appId}/branches/{branchName}/deployments/start"
453      },
454      "input":{"shape":"StartDeploymentRequest"},
455      "output":{"shape":"StartDeploymentResult"},
456      "errors":[
457        {"shape":"BadRequestException"},
458        {"shape":"UnauthorizedException"},
459        {"shape":"InternalFailureException"},
460        {"shape":"NotFoundException"},
461        {"shape":"LimitExceededException"}
462      ]
463    },
464    "StartJob":{
465      "name":"StartJob",
466      "http":{
467        "method":"POST",
468        "requestUri":"/apps/{appId}/branches/{branchName}/jobs"
469      },
470      "input":{"shape":"StartJobRequest"},
471      "output":{"shape":"StartJobResult"},
472      "errors":[
473        {"shape":"BadRequestException"},
474        {"shape":"UnauthorizedException"},
475        {"shape":"InternalFailureException"},
476        {"shape":"NotFoundException"},
477        {"shape":"LimitExceededException"}
478      ]
479    },
480    "StopJob":{
481      "name":"StopJob",
482      "http":{
483        "method":"DELETE",
484        "requestUri":"/apps/{appId}/branches/{branchName}/jobs/{jobId}/stop"
485      },
486      "input":{"shape":"StopJobRequest"},
487      "output":{"shape":"StopJobResult"},
488      "errors":[
489        {"shape":"BadRequestException"},
490        {"shape":"UnauthorizedException"},
491        {"shape":"InternalFailureException"},
492        {"shape":"NotFoundException"},
493        {"shape":"LimitExceededException"}
494      ]
495    },
496    "TagResource":{
497      "name":"TagResource",
498      "http":{
499        "method":"POST",
500        "requestUri":"/tags/{resourceArn}"
501      },
502      "input":{"shape":"TagResourceRequest"},
503      "output":{"shape":"TagResourceResponse"},
504      "errors":[
505        {"shape":"InternalFailureException"},
506        {"shape":"BadRequestException"},
507        {"shape":"ResourceNotFoundException"}
508      ]
509    },
510    "UntagResource":{
511      "name":"UntagResource",
512      "http":{
513        "method":"DELETE",
514        "requestUri":"/tags/{resourceArn}"
515      },
516      "input":{"shape":"UntagResourceRequest"},
517      "output":{"shape":"UntagResourceResponse"},
518      "errors":[
519        {"shape":"InternalFailureException"},
520        {"shape":"BadRequestException"},
521        {"shape":"ResourceNotFoundException"}
522      ]
523    },
524    "UpdateApp":{
525      "name":"UpdateApp",
526      "http":{
527        "method":"POST",
528        "requestUri":"/apps/{appId}"
529      },
530      "input":{"shape":"UpdateAppRequest"},
531      "output":{"shape":"UpdateAppResult"},
532      "errors":[
533        {"shape":"BadRequestException"},
534        {"shape":"NotFoundException"},
535        {"shape":"UnauthorizedException"},
536        {"shape":"InternalFailureException"}
537      ]
538    },
539    "UpdateBranch":{
540      "name":"UpdateBranch",
541      "http":{
542        "method":"POST",
543        "requestUri":"/apps/{appId}/branches/{branchName}"
544      },
545      "input":{"shape":"UpdateBranchRequest"},
546      "output":{"shape":"UpdateBranchResult"},
547      "errors":[
548        {"shape":"BadRequestException"},
549        {"shape":"UnauthorizedException"},
550        {"shape":"NotFoundException"},
551        {"shape":"InternalFailureException"},
552        {"shape":"DependentServiceFailureException"}
553      ]
554    },
555    "UpdateDomainAssociation":{
556      "name":"UpdateDomainAssociation",
557      "http":{
558        "method":"POST",
559        "requestUri":"/apps/{appId}/domains/{domainName}"
560      },
561      "input":{"shape":"UpdateDomainAssociationRequest"},
562      "output":{"shape":"UpdateDomainAssociationResult"},
563      "errors":[
564        {"shape":"BadRequestException"},
565        {"shape":"UnauthorizedException"},
566        {"shape":"NotFoundException"},
567        {"shape":"InternalFailureException"},
568        {"shape":"DependentServiceFailureException"}
569      ]
570    },
571    "UpdateWebhook":{
572      "name":"UpdateWebhook",
573      "http":{
574        "method":"POST",
575        "requestUri":"/webhooks/{webhookId}"
576      },
577      "input":{"shape":"UpdateWebhookRequest"},
578      "output":{"shape":"UpdateWebhookResult"},
579      "errors":[
580        {"shape":"BadRequestException"},
581        {"shape":"UnauthorizedException"},
582        {"shape":"NotFoundException"},
583        {"shape":"InternalFailureException"},
584        {"shape":"DependentServiceFailureException"}
585      ]
586    }
587  },
588  "shapes":{
589    "AccessToken":{
590      "type":"string",
591      "max":255,
592      "min":1,
593      "sensitive":true
594    },
595    "ActiveJobId":{
596      "type":"string",
597      "max":1000
598    },
599    "App":{
600      "type":"structure",
601      "required":[
602        "appId",
603        "appArn",
604        "name",
605        "description",
606        "repository",
607        "platform",
608        "createTime",
609        "updateTime",
610        "environmentVariables",
611        "defaultDomain",
612        "enableBranchAutoBuild",
613        "enableBasicAuth"
614      ],
615      "members":{
616        "appId":{"shape":"AppId"},
617        "appArn":{"shape":"AppArn"},
618        "name":{"shape":"Name"},
619        "tags":{"shape":"TagMap"},
620        "description":{"shape":"Description"},
621        "repository":{"shape":"Repository"},
622        "platform":{"shape":"Platform"},
623        "createTime":{"shape":"CreateTime"},
624        "updateTime":{"shape":"UpdateTime"},
625        "iamServiceRoleArn":{"shape":"ServiceRoleArn"},
626        "environmentVariables":{"shape":"EnvironmentVariables"},
627        "defaultDomain":{"shape":"DefaultDomain"},
628        "enableBranchAutoBuild":{"shape":"EnableBranchAutoBuild"},
629        "enableBranchAutoDeletion":{"shape":"EnableBranchAutoDeletion"},
630        "enableBasicAuth":{"shape":"EnableBasicAuth"},
631        "basicAuthCredentials":{"shape":"BasicAuthCredentials"},
632        "customRules":{"shape":"CustomRules"},
633        "productionBranch":{"shape":"ProductionBranch"},
634        "buildSpec":{"shape":"BuildSpec"},
635        "customHeaders":{"shape":"CustomHeaders"},
636        "enableAutoBranchCreation":{"shape":"EnableAutoBranchCreation"},
637        "autoBranchCreationPatterns":{"shape":"AutoBranchCreationPatterns"},
638        "autoBranchCreationConfig":{"shape":"AutoBranchCreationConfig"}
639      }
640    },
641    "AppArn":{
642      "type":"string",
643      "max":1000
644    },
645    "AppId":{
646      "type":"string",
647      "max":20,
648      "min":1,
649      "pattern":"d[a-z0-9]+"
650    },
651    "Apps":{
652      "type":"list",
653      "member":{"shape":"App"}
654    },
655    "Artifact":{
656      "type":"structure",
657      "required":[
658        "artifactFileName",
659        "artifactId"
660      ],
661      "members":{
662        "artifactFileName":{"shape":"ArtifactFileName"},
663        "artifactId":{"shape":"ArtifactId"}
664      }
665    },
666    "ArtifactFileName":{
667      "type":"string",
668      "max":1000
669    },
670    "ArtifactId":{
671      "type":"string",
672      "max":255
673    },
674    "ArtifactUrl":{
675      "type":"string",
676      "max":1000
677    },
678    "Artifacts":{
679      "type":"list",
680      "member":{"shape":"Artifact"}
681    },
682    "ArtifactsUrl":{
683      "type":"string",
684      "max":1000
685    },
686    "AssociatedResource":{
687      "type":"string",
688      "max":2048,
689      "min":1
690    },
691    "AssociatedResources":{
692      "type":"list",
693      "member":{"shape":"AssociatedResource"}
694    },
695    "AutoBranchCreationConfig":{
696      "type":"structure",
697      "members":{
698        "stage":{"shape":"Stage"},
699        "framework":{"shape":"Framework"},
700        "enableAutoBuild":{"shape":"EnableAutoBuild"},
701        "environmentVariables":{"shape":"EnvironmentVariables"},
702        "basicAuthCredentials":{"shape":"BasicAuthCredentials"},
703        "enableBasicAuth":{"shape":"EnableBasicAuth"},
704        "enablePerformanceMode":{"shape":"EnablePerformanceMode"},
705        "buildSpec":{"shape":"BuildSpec"},
706        "enablePullRequestPreview":{"shape":"EnablePullRequestPreview"},
707        "pullRequestEnvironmentName":{"shape":"PullRequestEnvironmentName"}
708      }
709    },
710    "AutoBranchCreationPattern":{
711      "type":"string",
712      "max":2048,
713      "min":1
714    },
715    "AutoBranchCreationPatterns":{
716      "type":"list",
717      "member":{"shape":"AutoBranchCreationPattern"}
718    },
719    "AutoSubDomainCreationPattern":{
720      "type":"string",
721      "max":2048,
722      "min":1
723    },
724    "AutoSubDomainCreationPatterns":{
725      "type":"list",
726      "member":{"shape":"AutoSubDomainCreationPattern"}
727    },
728    "AutoSubDomainIAMRole":{
729      "type":"string",
730      "max":1000,
731      "pattern":"^$|^arn:aws:iam::\\d{12}:role.+"
732    },
733    "BackendEnvironment":{
734      "type":"structure",
735      "required":[
736        "backendEnvironmentArn",
737        "environmentName",
738        "createTime",
739        "updateTime"
740      ],
741      "members":{
742        "backendEnvironmentArn":{"shape":"BackendEnvironmentArn"},
743        "environmentName":{"shape":"EnvironmentName"},
744        "stackName":{"shape":"StackName"},
745        "deploymentArtifacts":{"shape":"DeploymentArtifacts"},
746        "createTime":{"shape":"CreateTime"},
747        "updateTime":{"shape":"UpdateTime"}
748      }
749    },
750    "BackendEnvironmentArn":{
751      "type":"string",
752      "max":1000,
753      "min":1
754    },
755    "BackendEnvironments":{
756      "type":"list",
757      "member":{"shape":"BackendEnvironment"}
758    },
759    "BadRequestException":{
760      "type":"structure",
761      "members":{
762        "message":{"shape":"ErrorMessage"}
763      },
764      "error":{"httpStatusCode":400},
765      "exception":true
766    },
767    "BasicAuthCredentials":{
768      "type":"string",
769      "max":2000,
770      "sensitive":true
771    },
772    "Branch":{
773      "type":"structure",
774      "required":[
775        "branchArn",
776        "branchName",
777        "description",
778        "stage",
779        "displayName",
780        "enableNotification",
781        "createTime",
782        "updateTime",
783        "environmentVariables",
784        "enableAutoBuild",
785        "customDomains",
786        "framework",
787        "activeJobId",
788        "totalNumberOfJobs",
789        "enableBasicAuth",
790        "ttl",
791        "enablePullRequestPreview"
792      ],
793      "members":{
794        "branchArn":{"shape":"BranchArn"},
795        "branchName":{"shape":"BranchName"},
796        "description":{"shape":"Description"},
797        "tags":{"shape":"TagMap"},
798        "stage":{"shape":"Stage"},
799        "displayName":{"shape":"DisplayName"},
800        "enableNotification":{"shape":"EnableNotification"},
801        "createTime":{"shape":"CreateTime"},
802        "updateTime":{"shape":"UpdateTime"},
803        "environmentVariables":{"shape":"EnvironmentVariables"},
804        "enableAutoBuild":{"shape":"EnableAutoBuild"},
805        "customDomains":{"shape":"CustomDomains"},
806        "framework":{"shape":"Framework"},
807        "activeJobId":{"shape":"ActiveJobId"},
808        "totalNumberOfJobs":{"shape":"TotalNumberOfJobs"},
809        "enableBasicAuth":{"shape":"EnableBasicAuth"},
810        "enablePerformanceMode":{"shape":"EnablePerformanceMode"},
811        "thumbnailUrl":{"shape":"ThumbnailUrl"},
812        "basicAuthCredentials":{"shape":"BasicAuthCredentials"},
813        "buildSpec":{"shape":"BuildSpec"},
814        "ttl":{"shape":"TTL"},
815        "associatedResources":{"shape":"AssociatedResources"},
816        "enablePullRequestPreview":{"shape":"EnablePullRequestPreview"},
817        "pullRequestEnvironmentName":{"shape":"PullRequestEnvironmentName"},
818        "destinationBranch":{"shape":"BranchName"},
819        "sourceBranch":{"shape":"BranchName"},
820        "backendEnvironmentArn":{"shape":"BackendEnvironmentArn"}
821      }
822    },
823    "BranchArn":{
824      "type":"string",
825      "max":1000
826    },
827    "BranchName":{
828      "type":"string",
829      "max":255,
830      "min":1
831    },
832    "Branches":{
833      "type":"list",
834      "member":{"shape":"Branch"},
835      "max":255
836    },
837    "BuildSpec":{
838      "type":"string",
839      "max":25000,
840      "min":1
841    },
842    "CertificateVerificationDNSRecord":{
843      "type":"string",
844      "max":1000
845    },
846    "Code":{"type":"string"},
847    "CommitId":{
848      "type":"string",
849      "max":255
850    },
851    "CommitMessage":{
852      "type":"string",
853      "max":10000
854    },
855    "CommitTime":{"type":"timestamp"},
856    "Condition":{
857      "type":"string",
858      "max":2048,
859      "min":1
860    },
861    "Context":{"type":"string"},
862    "CreateAppRequest":{
863      "type":"structure",
864      "required":["name"],
865      "members":{
866        "name":{"shape":"Name"},
867        "description":{"shape":"Description"},
868        "repository":{"shape":"Repository"},
869        "platform":{"shape":"Platform"},
870        "iamServiceRoleArn":{"shape":"ServiceRoleArn"},
871        "oauthToken":{"shape":"OauthToken"},
872        "accessToken":{"shape":"AccessToken"},
873        "environmentVariables":{"shape":"EnvironmentVariables"},
874        "enableBranchAutoBuild":{"shape":"EnableBranchAutoBuild"},
875        "enableBranchAutoDeletion":{"shape":"EnableBranchAutoDeletion"},
876        "enableBasicAuth":{"shape":"EnableBasicAuth"},
877        "basicAuthCredentials":{"shape":"BasicAuthCredentials"},
878        "customRules":{"shape":"CustomRules"},
879        "tags":{"shape":"TagMap"},
880        "buildSpec":{"shape":"BuildSpec"},
881        "customHeaders":{"shape":"CustomHeaders"},
882        "enableAutoBranchCreation":{"shape":"EnableAutoBranchCreation"},
883        "autoBranchCreationPatterns":{"shape":"AutoBranchCreationPatterns"},
884        "autoBranchCreationConfig":{"shape":"AutoBranchCreationConfig"}
885      }
886    },
887    "CreateAppResult":{
888      "type":"structure",
889      "required":["app"],
890      "members":{
891        "app":{"shape":"App"}
892      }
893    },
894    "CreateBackendEnvironmentRequest":{
895      "type":"structure",
896      "required":[
897        "appId",
898        "environmentName"
899      ],
900      "members":{
901        "appId":{
902          "shape":"AppId",
903          "location":"uri",
904          "locationName":"appId"
905        },
906        "environmentName":{"shape":"EnvironmentName"},
907        "stackName":{"shape":"StackName"},
908        "deploymentArtifacts":{"shape":"DeploymentArtifacts"}
909      }
910    },
911    "CreateBackendEnvironmentResult":{
912      "type":"structure",
913      "required":["backendEnvironment"],
914      "members":{
915        "backendEnvironment":{"shape":"BackendEnvironment"}
916      }
917    },
918    "CreateBranchRequest":{
919      "type":"structure",
920      "required":[
921        "appId",
922        "branchName"
923      ],
924      "members":{
925        "appId":{
926          "shape":"AppId",
927          "location":"uri",
928          "locationName":"appId"
929        },
930        "branchName":{"shape":"BranchName"},
931        "description":{"shape":"Description"},
932        "stage":{"shape":"Stage"},
933        "framework":{"shape":"Framework"},
934        "enableNotification":{"shape":"EnableNotification"},
935        "enableAutoBuild":{"shape":"EnableAutoBuild"},
936        "environmentVariables":{"shape":"EnvironmentVariables"},
937        "basicAuthCredentials":{"shape":"BasicAuthCredentials"},
938        "enableBasicAuth":{"shape":"EnableBasicAuth"},
939        "enablePerformanceMode":{"shape":"EnablePerformanceMode"},
940        "tags":{"shape":"TagMap"},
941        "buildSpec":{"shape":"BuildSpec"},
942        "ttl":{"shape":"TTL"},
943        "displayName":{"shape":"DisplayName"},
944        "enablePullRequestPreview":{"shape":"EnablePullRequestPreview"},
945        "pullRequestEnvironmentName":{"shape":"PullRequestEnvironmentName"},
946        "backendEnvironmentArn":{"shape":"BackendEnvironmentArn"}
947      }
948    },
949    "CreateBranchResult":{
950      "type":"structure",
951      "required":["branch"],
952      "members":{
953        "branch":{"shape":"Branch"}
954      }
955    },
956    "CreateDeploymentRequest":{
957      "type":"structure",
958      "required":[
959        "appId",
960        "branchName"
961      ],
962      "members":{
963        "appId":{
964          "shape":"AppId",
965          "location":"uri",
966          "locationName":"appId"
967        },
968        "branchName":{
969          "shape":"BranchName",
970          "location":"uri",
971          "locationName":"branchName"
972        },
973        "fileMap":{"shape":"FileMap"}
974      }
975    },
976    "CreateDeploymentResult":{
977      "type":"structure",
978      "required":[
979        "fileUploadUrls",
980        "zipUploadUrl"
981      ],
982      "members":{
983        "jobId":{"shape":"JobId"},
984        "fileUploadUrls":{"shape":"FileUploadUrls"},
985        "zipUploadUrl":{"shape":"UploadUrl"}
986      }
987    },
988    "CreateDomainAssociationRequest":{
989      "type":"structure",
990      "required":[
991        "appId",
992        "domainName",
993        "subDomainSettings"
994      ],
995      "members":{
996        "appId":{
997          "shape":"AppId",
998          "location":"uri",
999          "locationName":"appId"
1000        },
1001        "domainName":{"shape":"DomainName"},
1002        "enableAutoSubDomain":{"shape":"EnableAutoSubDomain"},
1003        "subDomainSettings":{"shape":"SubDomainSettings"},
1004        "autoSubDomainCreationPatterns":{"shape":"AutoSubDomainCreationPatterns"},
1005        "autoSubDomainIAMRole":{"shape":"AutoSubDomainIAMRole"}
1006      }
1007    },
1008    "CreateDomainAssociationResult":{
1009      "type":"structure",
1010      "required":["domainAssociation"],
1011      "members":{
1012        "domainAssociation":{"shape":"DomainAssociation"}
1013      }
1014    },
1015    "CreateTime":{"type":"timestamp"},
1016    "CreateWebhookRequest":{
1017      "type":"structure",
1018      "required":[
1019        "appId",
1020        "branchName"
1021      ],
1022      "members":{
1023        "appId":{
1024          "shape":"AppId",
1025          "location":"uri",
1026          "locationName":"appId"
1027        },
1028        "branchName":{"shape":"BranchName"},
1029        "description":{"shape":"Description"}
1030      }
1031    },
1032    "CreateWebhookResult":{
1033      "type":"structure",
1034      "required":["webhook"],
1035      "members":{
1036        "webhook":{"shape":"Webhook"}
1037      }
1038    },
1039    "CustomDomain":{
1040      "type":"string",
1041      "max":255
1042    },
1043    "CustomDomains":{
1044      "type":"list",
1045      "member":{"shape":"CustomDomain"},
1046      "max":255
1047    },
1048    "CustomHeaders":{
1049      "type":"string",
1050      "max":25000,
1051      "min":1
1052    },
1053    "CustomRule":{
1054      "type":"structure",
1055      "required":[
1056        "source",
1057        "target"
1058      ],
1059      "members":{
1060        "source":{"shape":"Source"},
1061        "target":{"shape":"Target"},
1062        "status":{"shape":"Status"},
1063        "condition":{"shape":"Condition"}
1064      }
1065    },
1066    "CustomRules":{
1067      "type":"list",
1068      "member":{"shape":"CustomRule"}
1069    },
1070    "DNSRecord":{
1071      "type":"string",
1072      "max":1000
1073    },
1074    "DefaultDomain":{
1075      "type":"string",
1076      "max":1000,
1077      "min":1
1078    },
1079    "DeleteAppRequest":{
1080      "type":"structure",
1081      "required":["appId"],
1082      "members":{
1083        "appId":{
1084          "shape":"AppId",
1085          "location":"uri",
1086          "locationName":"appId"
1087        }
1088      }
1089    },
1090    "DeleteAppResult":{
1091      "type":"structure",
1092      "required":["app"],
1093      "members":{
1094        "app":{"shape":"App"}
1095      }
1096    },
1097    "DeleteBackendEnvironmentRequest":{
1098      "type":"structure",
1099      "required":[
1100        "appId",
1101        "environmentName"
1102      ],
1103      "members":{
1104        "appId":{
1105          "shape":"AppId",
1106          "location":"uri",
1107          "locationName":"appId"
1108        },
1109        "environmentName":{
1110          "shape":"EnvironmentName",
1111          "location":"uri",
1112          "locationName":"environmentName"
1113        }
1114      }
1115    },
1116    "DeleteBackendEnvironmentResult":{
1117      "type":"structure",
1118      "required":["backendEnvironment"],
1119      "members":{
1120        "backendEnvironment":{"shape":"BackendEnvironment"}
1121      }
1122    },
1123    "DeleteBranchRequest":{
1124      "type":"structure",
1125      "required":[
1126        "appId",
1127        "branchName"
1128      ],
1129      "members":{
1130        "appId":{
1131          "shape":"AppId",
1132          "location":"uri",
1133          "locationName":"appId"
1134        },
1135        "branchName":{
1136          "shape":"BranchName",
1137          "location":"uri",
1138          "locationName":"branchName"
1139        }
1140      }
1141    },
1142    "DeleteBranchResult":{
1143      "type":"structure",
1144      "required":["branch"],
1145      "members":{
1146        "branch":{"shape":"Branch"}
1147      }
1148    },
1149    "DeleteDomainAssociationRequest":{
1150      "type":"structure",
1151      "required":[
1152        "appId",
1153        "domainName"
1154      ],
1155      "members":{
1156        "appId":{
1157          "shape":"AppId",
1158          "location":"uri",
1159          "locationName":"appId"
1160        },
1161        "domainName":{
1162          "shape":"DomainName",
1163          "location":"uri",
1164          "locationName":"domainName"
1165        }
1166      }
1167    },
1168    "DeleteDomainAssociationResult":{
1169      "type":"structure",
1170      "required":["domainAssociation"],
1171      "members":{
1172        "domainAssociation":{"shape":"DomainAssociation"}
1173      }
1174    },
1175    "DeleteJobRequest":{
1176      "type":"structure",
1177      "required":[
1178        "appId",
1179        "branchName",
1180        "jobId"
1181      ],
1182      "members":{
1183        "appId":{
1184          "shape":"AppId",
1185          "location":"uri",
1186          "locationName":"appId"
1187        },
1188        "branchName":{
1189          "shape":"BranchName",
1190          "location":"uri",
1191          "locationName":"branchName"
1192        },
1193        "jobId":{
1194          "shape":"JobId",
1195          "location":"uri",
1196          "locationName":"jobId"
1197        }
1198      }
1199    },
1200    "DeleteJobResult":{
1201      "type":"structure",
1202      "required":["jobSummary"],
1203      "members":{
1204        "jobSummary":{"shape":"JobSummary"}
1205      }
1206    },
1207    "DeleteWebhookRequest":{
1208      "type":"structure",
1209      "required":["webhookId"],
1210      "members":{
1211        "webhookId":{
1212          "shape":"WebhookId",
1213          "location":"uri",
1214          "locationName":"webhookId"
1215        }
1216      }
1217    },
1218    "DeleteWebhookResult":{
1219      "type":"structure",
1220      "required":["webhook"],
1221      "members":{
1222        "webhook":{"shape":"Webhook"}
1223      }
1224    },
1225    "DependentServiceFailureException":{
1226      "type":"structure",
1227      "members":{
1228        "message":{"shape":"ErrorMessage"}
1229      },
1230      "error":{"httpStatusCode":503},
1231      "exception":true
1232    },
1233    "DeploymentArtifacts":{
1234      "type":"string",
1235      "max":1000,
1236      "min":1
1237    },
1238    "Description":{
1239      "type":"string",
1240      "max":1000
1241    },
1242    "DisplayName":{
1243      "type":"string",
1244      "max":255
1245    },
1246    "DomainAssociation":{
1247      "type":"structure",
1248      "required":[
1249        "domainAssociationArn",
1250        "domainName",
1251        "enableAutoSubDomain",
1252        "domainStatus",
1253        "statusReason",
1254        "subDomains"
1255      ],
1256      "members":{
1257        "domainAssociationArn":{"shape":"DomainAssociationArn"},
1258        "domainName":{"shape":"DomainName"},
1259        "enableAutoSubDomain":{"shape":"EnableAutoSubDomain"},
1260        "autoSubDomainCreationPatterns":{"shape":"AutoSubDomainCreationPatterns"},
1261        "autoSubDomainIAMRole":{"shape":"AutoSubDomainIAMRole"},
1262        "domainStatus":{"shape":"DomainStatus"},
1263        "statusReason":{"shape":"StatusReason"},
1264        "certificateVerificationDNSRecord":{"shape":"CertificateVerificationDNSRecord"},
1265        "subDomains":{"shape":"SubDomains"}
1266      }
1267    },
1268    "DomainAssociationArn":{
1269      "type":"string",
1270      "max":1000
1271    },
1272    "DomainAssociations":{
1273      "type":"list",
1274      "member":{"shape":"DomainAssociation"},
1275      "max":255
1276    },
1277    "DomainName":{
1278      "type":"string",
1279      "max":255
1280    },
1281    "DomainPrefix":{
1282      "type":"string",
1283      "max":255
1284    },
1285    "DomainStatus":{
1286      "type":"string",
1287      "enum":[
1288        "PENDING_VERIFICATION",
1289        "IN_PROGRESS",
1290        "AVAILABLE",
1291        "PENDING_DEPLOYMENT",
1292        "FAILED",
1293        "CREATING",
1294        "REQUESTING_CERTIFICATE",
1295        "UPDATING"
1296      ]
1297    },
1298    "EnableAutoBranchCreation":{"type":"boolean"},
1299    "EnableAutoBuild":{"type":"boolean"},
1300    "EnableAutoSubDomain":{"type":"boolean"},
1301    "EnableBasicAuth":{"type":"boolean"},
1302    "EnableBranchAutoBuild":{"type":"boolean"},
1303    "EnableBranchAutoDeletion":{"type":"boolean"},
1304    "EnableNotification":{"type":"boolean"},
1305    "EnablePerformanceMode":{"type":"boolean"},
1306    "EnablePullRequestPreview":{"type":"boolean"},
1307    "EndTime":{"type":"timestamp"},
1308    "EnvKey":{
1309      "type":"string",
1310      "max":255
1311    },
1312    "EnvValue":{
1313      "type":"string",
1314      "max":1000
1315    },
1316    "EnvironmentName":{
1317      "type":"string",
1318      "max":255,
1319      "min":1
1320    },
1321    "EnvironmentVariables":{
1322      "type":"map",
1323      "key":{"shape":"EnvKey"},
1324      "value":{"shape":"EnvValue"}
1325    },
1326    "ErrorMessage":{
1327      "type":"string",
1328      "max":255
1329    },
1330    "FileMap":{
1331      "type":"map",
1332      "key":{"shape":"FileName"},
1333      "value":{"shape":"MD5Hash"}
1334    },
1335    "FileName":{
1336      "type":"string",
1337      "max":255
1338    },
1339    "FileUploadUrls":{
1340      "type":"map",
1341      "key":{"shape":"FileName"},
1342      "value":{"shape":"UploadUrl"}
1343    },
1344    "Framework":{
1345      "type":"string",
1346      "max":255
1347    },
1348    "GenerateAccessLogsRequest":{
1349      "type":"structure",
1350      "required":[
1351        "domainName",
1352        "appId"
1353      ],
1354      "members":{
1355        "startTime":{"shape":"StartTime"},
1356        "endTime":{"shape":"EndTime"},
1357        "domainName":{"shape":"DomainName"},
1358        "appId":{
1359          "shape":"AppId",
1360          "location":"uri",
1361          "locationName":"appId"
1362        }
1363      }
1364    },
1365    "GenerateAccessLogsResult":{
1366      "type":"structure",
1367      "members":{
1368        "logUrl":{"shape":"LogUrl"}
1369      }
1370    },
1371    "GetAppRequest":{
1372      "type":"structure",
1373      "required":["appId"],
1374      "members":{
1375        "appId":{
1376          "shape":"AppId",
1377          "location":"uri",
1378          "locationName":"appId"
1379        }
1380      }
1381    },
1382    "GetAppResult":{
1383      "type":"structure",
1384      "required":["app"],
1385      "members":{
1386        "app":{"shape":"App"}
1387      }
1388    },
1389    "GetArtifactUrlRequest":{
1390      "type":"structure",
1391      "required":["artifactId"],
1392      "members":{
1393        "artifactId":{
1394          "shape":"ArtifactId",
1395          "location":"uri",
1396          "locationName":"artifactId"
1397        }
1398      }
1399    },
1400    "GetArtifactUrlResult":{
1401      "type":"structure",
1402      "required":[
1403        "artifactId",
1404        "artifactUrl"
1405      ],
1406      "members":{
1407        "artifactId":{"shape":"ArtifactId"},
1408        "artifactUrl":{"shape":"ArtifactUrl"}
1409      }
1410    },
1411    "GetBackendEnvironmentRequest":{
1412      "type":"structure",
1413      "required":[
1414        "appId",
1415        "environmentName"
1416      ],
1417      "members":{
1418        "appId":{
1419          "shape":"AppId",
1420          "location":"uri",
1421          "locationName":"appId"
1422        },
1423        "environmentName":{
1424          "shape":"EnvironmentName",
1425          "location":"uri",
1426          "locationName":"environmentName"
1427        }
1428      }
1429    },
1430    "GetBackendEnvironmentResult":{
1431      "type":"structure",
1432      "required":["backendEnvironment"],
1433      "members":{
1434        "backendEnvironment":{"shape":"BackendEnvironment"}
1435      }
1436    },
1437    "GetBranchRequest":{
1438      "type":"structure",
1439      "required":[
1440        "appId",
1441        "branchName"
1442      ],
1443      "members":{
1444        "appId":{
1445          "shape":"AppId",
1446          "location":"uri",
1447          "locationName":"appId"
1448        },
1449        "branchName":{
1450          "shape":"BranchName",
1451          "location":"uri",
1452          "locationName":"branchName"
1453        }
1454      }
1455    },
1456    "GetBranchResult":{
1457      "type":"structure",
1458      "required":["branch"],
1459      "members":{
1460        "branch":{"shape":"Branch"}
1461      }
1462    },
1463    "GetDomainAssociationRequest":{
1464      "type":"structure",
1465      "required":[
1466        "appId",
1467        "domainName"
1468      ],
1469      "members":{
1470        "appId":{
1471          "shape":"AppId",
1472          "location":"uri",
1473          "locationName":"appId"
1474        },
1475        "domainName":{
1476          "shape":"DomainName",
1477          "location":"uri",
1478          "locationName":"domainName"
1479        }
1480      }
1481    },
1482    "GetDomainAssociationResult":{
1483      "type":"structure",
1484      "required":["domainAssociation"],
1485      "members":{
1486        "domainAssociation":{"shape":"DomainAssociation"}
1487      }
1488    },
1489    "GetJobRequest":{
1490      "type":"structure",
1491      "required":[
1492        "appId",
1493        "branchName",
1494        "jobId"
1495      ],
1496      "members":{
1497        "appId":{
1498          "shape":"AppId",
1499          "location":"uri",
1500          "locationName":"appId"
1501        },
1502        "branchName":{
1503          "shape":"BranchName",
1504          "location":"uri",
1505          "locationName":"branchName"
1506        },
1507        "jobId":{
1508          "shape":"JobId",
1509          "location":"uri",
1510          "locationName":"jobId"
1511        }
1512      }
1513    },
1514    "GetJobResult":{
1515      "type":"structure",
1516      "required":["job"],
1517      "members":{
1518        "job":{"shape":"Job"}
1519      }
1520    },
1521    "GetWebhookRequest":{
1522      "type":"structure",
1523      "required":["webhookId"],
1524      "members":{
1525        "webhookId":{
1526          "shape":"WebhookId",
1527          "location":"uri",
1528          "locationName":"webhookId"
1529        }
1530      }
1531    },
1532    "GetWebhookResult":{
1533      "type":"structure",
1534      "required":["webhook"],
1535      "members":{
1536        "webhook":{"shape":"Webhook"}
1537      }
1538    },
1539    "InternalFailureException":{
1540      "type":"structure",
1541      "members":{
1542        "message":{"shape":"ErrorMessage"}
1543      },
1544      "error":{"httpStatusCode":500},
1545      "exception":true,
1546      "fault":true
1547    },
1548    "Job":{
1549      "type":"structure",
1550      "required":[
1551        "summary",
1552        "steps"
1553      ],
1554      "members":{
1555        "summary":{"shape":"JobSummary"},
1556        "steps":{"shape":"Steps"}
1557      }
1558    },
1559    "JobArn":{
1560      "type":"string",
1561      "max":1000
1562    },
1563    "JobId":{
1564      "type":"string",
1565      "max":255
1566    },
1567    "JobReason":{
1568      "type":"string",
1569      "max":255
1570    },
1571    "JobStatus":{
1572      "type":"string",
1573      "enum":[
1574        "PENDING",
1575        "PROVISIONING",
1576        "RUNNING",
1577        "FAILED",
1578        "SUCCEED",
1579        "CANCELLING",
1580        "CANCELLED"
1581      ]
1582    },
1583    "JobSummaries":{
1584      "type":"list",
1585      "member":{"shape":"JobSummary"}
1586    },
1587    "JobSummary":{
1588      "type":"structure",
1589      "required":[
1590        "jobArn",
1591        "jobId",
1592        "commitId",
1593        "commitMessage",
1594        "commitTime",
1595        "startTime",
1596        "status",
1597        "jobType"
1598      ],
1599      "members":{
1600        "jobArn":{"shape":"JobArn"},
1601        "jobId":{"shape":"JobId"},
1602        "commitId":{"shape":"CommitId"},
1603        "commitMessage":{"shape":"CommitMessage"},
1604        "commitTime":{"shape":"CommitTime"},
1605        "startTime":{"shape":"StartTime"},
1606        "status":{"shape":"JobStatus"},
1607        "endTime":{"shape":"EndTime"},
1608        "jobType":{"shape":"JobType"}
1609      }
1610    },
1611    "JobType":{
1612      "type":"string",
1613      "enum":[
1614        "RELEASE",
1615        "RETRY",
1616        "MANUAL",
1617        "WEB_HOOK"
1618      ],
1619      "max":10
1620    },
1621    "LastDeployTime":{"type":"timestamp"},
1622    "LimitExceededException":{
1623      "type":"structure",
1624      "members":{
1625        "message":{"shape":"ErrorMessage"}
1626      },
1627      "error":{"httpStatusCode":429},
1628      "exception":true
1629    },
1630    "ListAppsRequest":{
1631      "type":"structure",
1632      "members":{
1633        "nextToken":{
1634          "shape":"NextToken",
1635          "location":"querystring",
1636          "locationName":"nextToken"
1637        },
1638        "maxResults":{
1639          "shape":"MaxResults",
1640          "location":"querystring",
1641          "locationName":"maxResults"
1642        }
1643      }
1644    },
1645    "ListAppsResult":{
1646      "type":"structure",
1647      "required":["apps"],
1648      "members":{
1649        "apps":{"shape":"Apps"},
1650        "nextToken":{"shape":"NextToken"}
1651      }
1652    },
1653    "ListArtifactsRequest":{
1654      "type":"structure",
1655      "required":[
1656        "appId",
1657        "branchName",
1658        "jobId"
1659      ],
1660      "members":{
1661        "appId":{
1662          "shape":"AppId",
1663          "location":"uri",
1664          "locationName":"appId"
1665        },
1666        "branchName":{
1667          "shape":"BranchName",
1668          "location":"uri",
1669          "locationName":"branchName"
1670        },
1671        "jobId":{
1672          "shape":"JobId",
1673          "location":"uri",
1674          "locationName":"jobId"
1675        },
1676        "nextToken":{
1677          "shape":"NextToken",
1678          "location":"querystring",
1679          "locationName":"nextToken"
1680        },
1681        "maxResults":{
1682          "shape":"MaxResults",
1683          "location":"querystring",
1684          "locationName":"maxResults"
1685        }
1686      }
1687    },
1688    "ListArtifactsResult":{
1689      "type":"structure",
1690      "required":["artifacts"],
1691      "members":{
1692        "artifacts":{"shape":"Artifacts"},
1693        "nextToken":{"shape":"NextToken"}
1694      }
1695    },
1696    "ListBackendEnvironmentsRequest":{
1697      "type":"structure",
1698      "required":["appId"],
1699      "members":{
1700        "appId":{
1701          "shape":"AppId",
1702          "location":"uri",
1703          "locationName":"appId"
1704        },
1705        "environmentName":{
1706          "shape":"EnvironmentName",
1707          "location":"querystring",
1708          "locationName":"environmentName"
1709        },
1710        "nextToken":{
1711          "shape":"NextToken",
1712          "location":"querystring",
1713          "locationName":"nextToken"
1714        },
1715        "maxResults":{
1716          "shape":"MaxResults",
1717          "location":"querystring",
1718          "locationName":"maxResults"
1719        }
1720      }
1721    },
1722    "ListBackendEnvironmentsResult":{
1723      "type":"structure",
1724      "required":["backendEnvironments"],
1725      "members":{
1726        "backendEnvironments":{"shape":"BackendEnvironments"},
1727        "nextToken":{"shape":"NextToken"}
1728      }
1729    },
1730    "ListBranchesRequest":{
1731      "type":"structure",
1732      "required":["appId"],
1733      "members":{
1734        "appId":{
1735          "shape":"AppId",
1736          "location":"uri",
1737          "locationName":"appId"
1738        },
1739        "nextToken":{
1740          "shape":"NextToken",
1741          "location":"querystring",
1742          "locationName":"nextToken"
1743        },
1744        "maxResults":{
1745          "shape":"MaxResults",
1746          "location":"querystring",
1747          "locationName":"maxResults"
1748        }
1749      }
1750    },
1751    "ListBranchesResult":{
1752      "type":"structure",
1753      "required":["branches"],
1754      "members":{
1755        "branches":{"shape":"Branches"},
1756        "nextToken":{"shape":"NextToken"}
1757      }
1758    },
1759    "ListDomainAssociationsRequest":{
1760      "type":"structure",
1761      "required":["appId"],
1762      "members":{
1763        "appId":{
1764          "shape":"AppId",
1765          "location":"uri",
1766          "locationName":"appId"
1767        },
1768        "nextToken":{
1769          "shape":"NextToken",
1770          "location":"querystring",
1771          "locationName":"nextToken"
1772        },
1773        "maxResults":{
1774          "shape":"MaxResults",
1775          "location":"querystring",
1776          "locationName":"maxResults"
1777        }
1778      }
1779    },
1780    "ListDomainAssociationsResult":{
1781      "type":"structure",
1782      "required":["domainAssociations"],
1783      "members":{
1784        "domainAssociations":{"shape":"DomainAssociations"},
1785        "nextToken":{"shape":"NextToken"}
1786      }
1787    },
1788    "ListJobsRequest":{
1789      "type":"structure",
1790      "required":[
1791        "appId",
1792        "branchName"
1793      ],
1794      "members":{
1795        "appId":{
1796          "shape":"AppId",
1797          "location":"uri",
1798          "locationName":"appId"
1799        },
1800        "branchName":{
1801          "shape":"BranchName",
1802          "location":"uri",
1803          "locationName":"branchName"
1804        },
1805        "nextToken":{
1806          "shape":"NextToken",
1807          "location":"querystring",
1808          "locationName":"nextToken"
1809        },
1810        "maxResults":{
1811          "shape":"MaxResults",
1812          "location":"querystring",
1813          "locationName":"maxResults"
1814        }
1815      }
1816    },
1817    "ListJobsResult":{
1818      "type":"structure",
1819      "required":["jobSummaries"],
1820      "members":{
1821        "jobSummaries":{"shape":"JobSummaries"},
1822        "nextToken":{"shape":"NextToken"}
1823      }
1824    },
1825    "ListTagsForResourceRequest":{
1826      "type":"structure",
1827      "required":["resourceArn"],
1828      "members":{
1829        "resourceArn":{
1830          "shape":"ResourceArn",
1831          "location":"uri",
1832          "locationName":"resourceArn"
1833        }
1834      }
1835    },
1836    "ListTagsForResourceResponse":{
1837      "type":"structure",
1838      "members":{
1839        "tags":{"shape":"TagMap"}
1840      }
1841    },
1842    "ListWebhooksRequest":{
1843      "type":"structure",
1844      "required":["appId"],
1845      "members":{
1846        "appId":{
1847          "shape":"AppId",
1848          "location":"uri",
1849          "locationName":"appId"
1850        },
1851        "nextToken":{
1852          "shape":"NextToken",
1853          "location":"querystring",
1854          "locationName":"nextToken"
1855        },
1856        "maxResults":{
1857          "shape":"MaxResults",
1858          "location":"querystring",
1859          "locationName":"maxResults"
1860        }
1861      }
1862    },
1863    "ListWebhooksResult":{
1864      "type":"structure",
1865      "required":["webhooks"],
1866      "members":{
1867        "webhooks":{"shape":"Webhooks"},
1868        "nextToken":{"shape":"NextToken"}
1869      }
1870    },
1871    "LogUrl":{
1872      "type":"string",
1873      "max":1000
1874    },
1875    "MD5Hash":{
1876      "type":"string",
1877      "max":32
1878    },
1879    "MaxResults":{
1880      "type":"integer",
1881      "max":100,
1882      "min":0
1883    },
1884    "Name":{
1885      "type":"string",
1886      "max":255,
1887      "min":1
1888    },
1889    "NextToken":{
1890      "type":"string",
1891      "max":2000
1892    },
1893    "NotFoundException":{
1894      "type":"structure",
1895      "members":{
1896        "message":{"shape":"ErrorMessage"}
1897      },
1898      "error":{"httpStatusCode":404},
1899      "exception":true
1900    },
1901    "OauthToken":{
1902      "type":"string",
1903      "max":1000,
1904      "sensitive":true
1905    },
1906    "Platform":{
1907      "type":"string",
1908      "enum":["WEB"]
1909    },
1910    "ProductionBranch":{
1911      "type":"structure",
1912      "members":{
1913        "lastDeployTime":{"shape":"LastDeployTime"},
1914        "status":{"shape":"Status"},
1915        "thumbnailUrl":{"shape":"ThumbnailUrl"},
1916        "branchName":{"shape":"BranchName"}
1917      }
1918    },
1919    "PullRequestEnvironmentName":{
1920      "type":"string",
1921      "max":20
1922    },
1923    "Repository":{
1924      "type":"string",
1925      "max":1000
1926    },
1927    "ResourceArn":{
1928      "type":"string",
1929      "pattern":"^arn:aws:amplify:.*"
1930    },
1931    "ResourceNotFoundException":{
1932      "type":"structure",
1933      "required":[
1934        "code",
1935        "message"
1936      ],
1937      "members":{
1938        "code":{"shape":"Code"},
1939        "message":{"shape":"ErrorMessage"}
1940      },
1941      "error":{"httpStatusCode":404},
1942      "exception":true
1943    },
1944    "Screenshots":{
1945      "type":"map",
1946      "key":{"shape":"ThumbnailName"},
1947      "value":{"shape":"ThumbnailUrl"}
1948    },
1949    "ServiceRoleArn":{
1950      "type":"string",
1951      "max":1000,
1952      "min":1
1953    },
1954    "Source":{
1955      "type":"string",
1956      "max":2048,
1957      "min":1
1958    },
1959    "SourceUrl":{
1960      "type":"string",
1961      "max":1000
1962    },
1963    "StackName":{
1964      "type":"string",
1965      "max":255,
1966      "min":1
1967    },
1968    "Stage":{
1969      "type":"string",
1970      "enum":[
1971        "PRODUCTION",
1972        "BETA",
1973        "DEVELOPMENT",
1974        "EXPERIMENTAL",
1975        "PULL_REQUEST"
1976      ]
1977    },
1978    "StartDeploymentRequest":{
1979      "type":"structure",
1980      "required":[
1981        "appId",
1982        "branchName"
1983      ],
1984      "members":{
1985        "appId":{
1986          "shape":"AppId",
1987          "location":"uri",
1988          "locationName":"appId"
1989        },
1990        "branchName":{
1991          "shape":"BranchName",
1992          "location":"uri",
1993          "locationName":"branchName"
1994        },
1995        "jobId":{"shape":"JobId"},
1996        "sourceUrl":{"shape":"SourceUrl"}
1997      }
1998    },
1999    "StartDeploymentResult":{
2000      "type":"structure",
2001      "required":["jobSummary"],
2002      "members":{
2003        "jobSummary":{"shape":"JobSummary"}
2004      }
2005    },
2006    "StartJobRequest":{
2007      "type":"structure",
2008      "required":[
2009        "appId",
2010        "branchName",
2011        "jobType"
2012      ],
2013      "members":{
2014        "appId":{
2015          "shape":"AppId",
2016          "location":"uri",
2017          "locationName":"appId"
2018        },
2019        "branchName":{
2020          "shape":"BranchName",
2021          "location":"uri",
2022          "locationName":"branchName"
2023        },
2024        "jobId":{"shape":"JobId"},
2025        "jobType":{"shape":"JobType"},
2026        "jobReason":{"shape":"JobReason"},
2027        "commitId":{"shape":"CommitId"},
2028        "commitMessage":{"shape":"CommitMessage"},
2029        "commitTime":{"shape":"CommitTime"}
2030      }
2031    },
2032    "StartJobResult":{
2033      "type":"structure",
2034      "required":["jobSummary"],
2035      "members":{
2036        "jobSummary":{"shape":"JobSummary"}
2037      }
2038    },
2039    "StartTime":{"type":"timestamp"},
2040    "Status":{
2041      "type":"string",
2042      "max":7,
2043      "min":3
2044    },
2045    "StatusReason":{
2046      "type":"string",
2047      "max":1000
2048    },
2049    "Step":{
2050      "type":"structure",
2051      "required":[
2052        "stepName",
2053        "startTime",
2054        "status",
2055        "endTime"
2056      ],
2057      "members":{
2058        "stepName":{"shape":"StepName"},
2059        "startTime":{"shape":"StartTime"},
2060        "status":{"shape":"JobStatus"},
2061        "endTime":{"shape":"EndTime"},
2062        "logUrl":{"shape":"LogUrl"},
2063        "artifactsUrl":{"shape":"ArtifactsUrl"},
2064        "testArtifactsUrl":{"shape":"TestArtifactsUrl"},
2065        "testConfigUrl":{"shape":"TestConfigUrl"},
2066        "screenshots":{"shape":"Screenshots"},
2067        "statusReason":{"shape":"StatusReason"},
2068        "context":{"shape":"Context"}
2069      }
2070    },
2071    "StepName":{
2072      "type":"string",
2073      "max":255
2074    },
2075    "Steps":{
2076      "type":"list",
2077      "member":{"shape":"Step"}
2078    },
2079    "StopJobRequest":{
2080      "type":"structure",
2081      "required":[
2082        "appId",
2083        "branchName",
2084        "jobId"
2085      ],
2086      "members":{
2087        "appId":{
2088          "shape":"AppId",
2089          "location":"uri",
2090          "locationName":"appId"
2091        },
2092        "branchName":{
2093          "shape":"BranchName",
2094          "location":"uri",
2095          "locationName":"branchName"
2096        },
2097        "jobId":{
2098          "shape":"JobId",
2099          "location":"uri",
2100          "locationName":"jobId"
2101        }
2102      }
2103    },
2104    "StopJobResult":{
2105      "type":"structure",
2106      "required":["jobSummary"],
2107      "members":{
2108        "jobSummary":{"shape":"JobSummary"}
2109      }
2110    },
2111    "SubDomain":{
2112      "type":"structure",
2113      "required":[
2114        "subDomainSetting",
2115        "verified",
2116        "dnsRecord"
2117      ],
2118      "members":{
2119        "subDomainSetting":{"shape":"SubDomainSetting"},
2120        "verified":{"shape":"Verified"},
2121        "dnsRecord":{"shape":"DNSRecord"}
2122      }
2123    },
2124    "SubDomainSetting":{
2125      "type":"structure",
2126      "required":[
2127        "prefix",
2128        "branchName"
2129      ],
2130      "members":{
2131        "prefix":{"shape":"DomainPrefix"},
2132        "branchName":{"shape":"BranchName"}
2133      }
2134    },
2135    "SubDomainSettings":{
2136      "type":"list",
2137      "member":{"shape":"SubDomainSetting"},
2138      "max":255
2139    },
2140    "SubDomains":{
2141      "type":"list",
2142      "member":{"shape":"SubDomain"},
2143      "max":255
2144    },
2145    "TTL":{"type":"string"},
2146    "TagKey":{
2147      "type":"string",
2148      "max":128,
2149      "min":1,
2150      "pattern":"^(?!aws:)[a-zA-Z+-=._:/]+$"
2151    },
2152    "TagKeyList":{
2153      "type":"list",
2154      "member":{"shape":"TagKey"},
2155      "max":50,
2156      "min":1
2157    },
2158    "TagMap":{
2159      "type":"map",
2160      "key":{"shape":"TagKey"},
2161      "value":{"shape":"TagValue"},
2162      "max":50,
2163      "min":1
2164    },
2165    "TagResourceRequest":{
2166      "type":"structure",
2167      "required":[
2168        "resourceArn",
2169        "tags"
2170      ],
2171      "members":{
2172        "resourceArn":{
2173          "shape":"ResourceArn",
2174          "location":"uri",
2175          "locationName":"resourceArn"
2176        },
2177        "tags":{"shape":"TagMap"}
2178      }
2179    },
2180    "TagResourceResponse":{
2181      "type":"structure",
2182      "members":{
2183      }
2184    },
2185    "TagValue":{
2186      "type":"string",
2187      "max":256
2188    },
2189    "Target":{
2190      "type":"string",
2191      "max":2048,
2192      "min":1
2193    },
2194    "TestArtifactsUrl":{
2195      "type":"string",
2196      "max":1000
2197    },
2198    "TestConfigUrl":{
2199      "type":"string",
2200      "max":1000
2201    },
2202    "ThumbnailName":{
2203      "type":"string",
2204      "max":256
2205    },
2206    "ThumbnailUrl":{
2207      "type":"string",
2208      "max":2000,
2209      "min":1
2210    },
2211    "TotalNumberOfJobs":{
2212      "type":"string",
2213      "max":1000
2214    },
2215    "UnauthorizedException":{
2216      "type":"structure",
2217      "members":{
2218        "message":{"shape":"ErrorMessage"}
2219      },
2220      "error":{"httpStatusCode":401},
2221      "exception":true
2222    },
2223    "UntagResourceRequest":{
2224      "type":"structure",
2225      "required":[
2226        "resourceArn",
2227        "tagKeys"
2228      ],
2229      "members":{
2230        "resourceArn":{
2231          "shape":"ResourceArn",
2232          "location":"uri",
2233          "locationName":"resourceArn"
2234        },
2235        "tagKeys":{
2236          "shape":"TagKeyList",
2237          "location":"querystring",
2238          "locationName":"tagKeys"
2239        }
2240      }
2241    },
2242    "UntagResourceResponse":{
2243      "type":"structure",
2244      "members":{
2245      }
2246    },
2247    "UpdateAppRequest":{
2248      "type":"structure",
2249      "required":["appId"],
2250      "members":{
2251        "appId":{
2252          "shape":"AppId",
2253          "location":"uri",
2254          "locationName":"appId"
2255        },
2256        "name":{"shape":"Name"},
2257        "description":{"shape":"Description"},
2258        "platform":{"shape":"Platform"},
2259        "iamServiceRoleArn":{"shape":"ServiceRoleArn"},
2260        "environmentVariables":{"shape":"EnvironmentVariables"},
2261        "enableBranchAutoBuild":{"shape":"EnableAutoBuild"},
2262        "enableBranchAutoDeletion":{"shape":"EnableBranchAutoDeletion"},
2263        "enableBasicAuth":{"shape":"EnableBasicAuth"},
2264        "basicAuthCredentials":{"shape":"BasicAuthCredentials"},
2265        "customRules":{"shape":"CustomRules"},
2266        "buildSpec":{"shape":"BuildSpec"},
2267        "customHeaders":{"shape":"CustomHeaders"},
2268        "enableAutoBranchCreation":{"shape":"EnableAutoBranchCreation"},
2269        "autoBranchCreationPatterns":{"shape":"AutoBranchCreationPatterns"},
2270        "autoBranchCreationConfig":{"shape":"AutoBranchCreationConfig"},
2271        "repository":{"shape":"Repository"},
2272        "oauthToken":{"shape":"OauthToken"},
2273        "accessToken":{"shape":"AccessToken"}
2274      }
2275    },
2276    "UpdateAppResult":{
2277      "type":"structure",
2278      "required":["app"],
2279      "members":{
2280        "app":{"shape":"App"}
2281      }
2282    },
2283    "UpdateBranchRequest":{
2284      "type":"structure",
2285      "required":[
2286        "appId",
2287        "branchName"
2288      ],
2289      "members":{
2290        "appId":{
2291          "shape":"AppId",
2292          "location":"uri",
2293          "locationName":"appId"
2294        },
2295        "branchName":{
2296          "shape":"BranchName",
2297          "location":"uri",
2298          "locationName":"branchName"
2299        },
2300        "description":{"shape":"Description"},
2301        "framework":{"shape":"Framework"},
2302        "stage":{"shape":"Stage"},
2303        "enableNotification":{"shape":"EnableNotification"},
2304        "enableAutoBuild":{"shape":"EnableAutoBuild"},
2305        "environmentVariables":{"shape":"EnvironmentVariables"},
2306        "basicAuthCredentials":{"shape":"BasicAuthCredentials"},
2307        "enableBasicAuth":{"shape":"EnableBasicAuth"},
2308        "enablePerformanceMode":{"shape":"EnablePerformanceMode"},
2309        "buildSpec":{"shape":"BuildSpec"},
2310        "ttl":{"shape":"TTL"},
2311        "displayName":{"shape":"DisplayName"},
2312        "enablePullRequestPreview":{"shape":"EnablePullRequestPreview"},
2313        "pullRequestEnvironmentName":{"shape":"PullRequestEnvironmentName"},
2314        "backendEnvironmentArn":{"shape":"BackendEnvironmentArn"}
2315      }
2316    },
2317    "UpdateBranchResult":{
2318      "type":"structure",
2319      "required":["branch"],
2320      "members":{
2321        "branch":{"shape":"Branch"}
2322      }
2323    },
2324    "UpdateDomainAssociationRequest":{
2325      "type":"structure",
2326      "required":[
2327        "appId",
2328        "domainName",
2329        "subDomainSettings"
2330      ],
2331      "members":{
2332        "appId":{
2333          "shape":"AppId",
2334          "location":"uri",
2335          "locationName":"appId"
2336        },
2337        "domainName":{
2338          "shape":"DomainName",
2339          "location":"uri",
2340          "locationName":"domainName"
2341        },
2342        "enableAutoSubDomain":{"shape":"EnableAutoSubDomain"},
2343        "subDomainSettings":{"shape":"SubDomainSettings"},
2344        "autoSubDomainCreationPatterns":{"shape":"AutoSubDomainCreationPatterns"},
2345        "autoSubDomainIAMRole":{"shape":"AutoSubDomainIAMRole"}
2346      }
2347    },
2348    "UpdateDomainAssociationResult":{
2349      "type":"structure",
2350      "required":["domainAssociation"],
2351      "members":{
2352        "domainAssociation":{"shape":"DomainAssociation"}
2353      }
2354    },
2355    "UpdateTime":{"type":"timestamp"},
2356    "UpdateWebhookRequest":{
2357      "type":"structure",
2358      "required":["webhookId"],
2359      "members":{
2360        "webhookId":{
2361          "shape":"WebhookId",
2362          "location":"uri",
2363          "locationName":"webhookId"
2364        },
2365        "branchName":{"shape":"BranchName"},
2366        "description":{"shape":"Description"}
2367      }
2368    },
2369    "UpdateWebhookResult":{
2370      "type":"structure",
2371      "required":["webhook"],
2372      "members":{
2373        "webhook":{"shape":"Webhook"}
2374      }
2375    },
2376    "UploadUrl":{
2377      "type":"string",
2378      "max":1000
2379    },
2380    "Verified":{"type":"boolean"},
2381    "Webhook":{
2382      "type":"structure",
2383      "required":[
2384        "webhookArn",
2385        "webhookId",
2386        "webhookUrl",
2387        "branchName",
2388        "description",
2389        "createTime",
2390        "updateTime"
2391      ],
2392      "members":{
2393        "webhookArn":{"shape":"WebhookArn"},
2394        "webhookId":{"shape":"WebhookId"},
2395        "webhookUrl":{"shape":"WebhookUrl"},
2396        "branchName":{"shape":"BranchName"},
2397        "description":{"shape":"Description"},
2398        "createTime":{"shape":"CreateTime"},
2399        "updateTime":{"shape":"UpdateTime"}
2400      }
2401    },
2402    "WebhookArn":{
2403      "type":"string",
2404      "max":1000
2405    },
2406    "WebhookId":{
2407      "type":"string",
2408      "max":255
2409    },
2410    "WebhookUrl":{
2411      "type":"string",
2412      "max":1000
2413    },
2414    "Webhooks":{
2415      "type":"list",
2416      "member":{"shape":"Webhook"}
2417    }
2418  }
2419}
2420