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