1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Represents the different branches of a repository for building, deploying, and
10// hosting an Amplify app.
11type App struct {
12
13	// The Amazon Resource Name (ARN) of the Amplify app.
14	//
15	// This member is required.
16	AppArn *string
17
18	// The unique ID of the Amplify app.
19	//
20	// This member is required.
21	AppId *string
22
23	// Creates a date and time for the Amplify app.
24	//
25	// This member is required.
26	CreateTime *time.Time
27
28	// The default domain for the Amplify app.
29	//
30	// This member is required.
31	DefaultDomain *string
32
33	// The description for the Amplify app.
34	//
35	// This member is required.
36	Description *string
37
38	// Enables basic authorization for the Amplify app's branches.
39	//
40	// This member is required.
41	EnableBasicAuth *bool
42
43	// Enables the auto-building of branches for the Amplify app.
44	//
45	// This member is required.
46	EnableBranchAutoBuild *bool
47
48	// The environment variables for the Amplify app.
49	//
50	// This member is required.
51	EnvironmentVariables map[string]string
52
53	// The name for the Amplify app.
54	//
55	// This member is required.
56	Name *string
57
58	// The platform for the Amplify app.
59	//
60	// This member is required.
61	Platform Platform
62
63	// The repository for the Amplify app.
64	//
65	// This member is required.
66	Repository *string
67
68	// Updates the date and time for the Amplify app.
69	//
70	// This member is required.
71	UpdateTime *time.Time
72
73	// Describes the automated branch creation configuration for the Amplify app.
74	AutoBranchCreationConfig *AutoBranchCreationConfig
75
76	// Describes the automated branch creation glob patterns for the Amplify app.
77	AutoBranchCreationPatterns []string
78
79	// The basic authorization credentials for branches for the Amplify app.
80	BasicAuthCredentials *string
81
82	// Describes the content of the build specification (build spec) for the Amplify
83	// app.
84	BuildSpec *string
85
86	// Describes the custom HTTP headers for the Amplify app.
87	CustomHeaders *string
88
89	// Describes the custom redirect and rewrite rules for the Amplify app.
90	CustomRules []CustomRule
91
92	// Enables automated branch creation for the Amplify app.
93	EnableAutoBranchCreation *bool
94
95	// Automatically disconnect a branch in the Amplify Console when you delete a
96	// branch from your Git repository.
97	EnableBranchAutoDeletion *bool
98
99	// The AWS Identity and Access Management (IAM) service role for the Amazon
100	// Resource Name (ARN) of the Amplify app.
101	IamServiceRoleArn *string
102
103	// Describes the information about a production branch of the Amplify app.
104	ProductionBranch *ProductionBranch
105
106	// The tag for the Amplify app.
107	Tags map[string]string
108}
109
110// Describes an artifact.
111type Artifact struct {
112
113	// The file name for the artifact.
114	//
115	// This member is required.
116	ArtifactFileName *string
117
118	// The unique ID for the artifact.
119	//
120	// This member is required.
121	ArtifactId *string
122}
123
124// Describes the automated branch creation configuration.
125type AutoBranchCreationConfig struct {
126
127	// The basic authorization credentials for the autocreated branch.
128	BasicAuthCredentials *string
129
130	// The build specification (build spec) for the autocreated branch.
131	BuildSpec *string
132
133	// Enables auto building for the autocreated branch.
134	EnableAutoBuild *bool
135
136	// Enables basic authorization for the autocreated branch.
137	EnableBasicAuth *bool
138
139	// Enables performance mode for the branch. Performance mode optimizes for faster
140	// hosting performance by keeping content cached at the edge for a longer interval.
141	// When performance mode is enabled, hosting configuration or code changes can take
142	// up to 10 minutes to roll out.
143	EnablePerformanceMode *bool
144
145	// Enables pull request previews for the autocreated branch.
146	EnablePullRequestPreview *bool
147
148	// The environment variables for the autocreated branch.
149	EnvironmentVariables map[string]string
150
151	// The framework for the autocreated branch.
152	Framework *string
153
154	// The Amplify environment name for the pull request.
155	PullRequestEnvironmentName *string
156
157	// Describes the current stage for the autocreated branch.
158	Stage Stage
159}
160
161// Describes the backend environment for an Amplify app.
162type BackendEnvironment struct {
163
164	// The Amazon Resource Name (ARN) for a backend environment that is part of an
165	// Amplify app.
166	//
167	// This member is required.
168	BackendEnvironmentArn *string
169
170	// The creation date and time for a backend environment that is part of an Amplify
171	// app.
172	//
173	// This member is required.
174	CreateTime *time.Time
175
176	// The name for a backend environment that is part of an Amplify app.
177	//
178	// This member is required.
179	EnvironmentName *string
180
181	// The last updated date and time for a backend environment that is part of an
182	// Amplify app.
183	//
184	// This member is required.
185	UpdateTime *time.Time
186
187	// The name of deployment artifacts.
188	DeploymentArtifacts *string
189
190	// The AWS CloudFormation stack name of a backend environment.
191	StackName *string
192}
193
194// The branch for an Amplify app, which maps to a third-party repository branch.
195type Branch struct {
196
197	// The ID of the active job for a branch of an Amplify app.
198	//
199	// This member is required.
200	ActiveJobId *string
201
202	// The Amazon Resource Name (ARN) for a branch that is part of an Amplify app.
203	//
204	// This member is required.
205	BranchArn *string
206
207	// The name for the branch that is part of an Amplify app.
208	//
209	// This member is required.
210	BranchName *string
211
212	// The creation date and time for a branch that is part of an Amplify app.
213	//
214	// This member is required.
215	CreateTime *time.Time
216
217	// The custom domains for a branch of an Amplify app.
218	//
219	// This member is required.
220	CustomDomains []string
221
222	// The description for the branch that is part of an Amplify app.
223	//
224	// This member is required.
225	Description *string
226
227	// The display name for the branch. This is used as the default domain prefix.
228	//
229	// This member is required.
230	DisplayName *string
231
232	// Enables auto-building on push for a branch of an Amplify app.
233	//
234	// This member is required.
235	EnableAutoBuild *bool
236
237	// Enables basic authorization for a branch of an Amplify app.
238	//
239	// This member is required.
240	EnableBasicAuth *bool
241
242	// Enables notifications for a branch that is part of an Amplify app.
243	//
244	// This member is required.
245	EnableNotification *bool
246
247	// Enables pull request previews for the branch.
248	//
249	// This member is required.
250	EnablePullRequestPreview *bool
251
252	// The environment variables specific to a branch of an Amplify app.
253	//
254	// This member is required.
255	EnvironmentVariables map[string]string
256
257	// The framework for a branch of an Amplify app.
258	//
259	// This member is required.
260	Framework *string
261
262	// The current stage for the branch that is part of an Amplify app.
263	//
264	// This member is required.
265	Stage Stage
266
267	// The total number of jobs that are part of an Amplify app.
268	//
269	// This member is required.
270	TotalNumberOfJobs *string
271
272	// The content Time to Live (TTL) for the website in seconds.
273	//
274	// This member is required.
275	Ttl *string
276
277	// The last updated date and time for a branch that is part of an Amplify app.
278	//
279	// This member is required.
280	UpdateTime *time.Time
281
282	// A list of custom resources that are linked to this branch.
283	AssociatedResources []string
284
285	// The Amazon Resource Name (ARN) for a backend environment that is part of an
286	// Amplify app.
287	BackendEnvironmentArn *string
288
289	// The basic authorization credentials for a branch of an Amplify app.
290	BasicAuthCredentials *string
291
292	// The build specification (build spec) content for the branch of an Amplify app.
293	BuildSpec *string
294
295	// The destination branch if the branch is a pull request branch.
296	DestinationBranch *string
297
298	// Enables performance mode for the branch. Performance mode optimizes for faster
299	// hosting performance by keeping content cached at the edge for a longer interval.
300	// When performance mode is enabled, hosting configuration or code changes can take
301	// up to 10 minutes to roll out.
302	EnablePerformanceMode *bool
303
304	// The Amplify environment name for the pull request.
305	PullRequestEnvironmentName *string
306
307	// The source branch if the branch is a pull request branch.
308	SourceBranch *string
309
310	// The tag for the branch of an Amplify app.
311	Tags map[string]string
312
313	// The thumbnail URL for the branch of an Amplify app.
314	ThumbnailUrl *string
315}
316
317// Describes a custom rewrite or redirect rule.
318type CustomRule struct {
319
320	// The source pattern for a URL rewrite or redirect rule.
321	//
322	// This member is required.
323	Source *string
324
325	// The target pattern for a URL rewrite or redirect rule.
326	//
327	// This member is required.
328	Target *string
329
330	// The condition for a URL rewrite or redirect rule, such as a country code.
331	Condition *string
332
333	// The status code for a URL rewrite or redirect rule. 200 Represents a 200 rewrite
334	// rule. 301 Represents a 301 (moved pemanently) redirect rule. This and all future
335	// requests should be directed to the target URL. 302 Represents a 302 temporary
336	// redirect rule. 404 Represents a 404 redirect rule. 404-200 Represents a 404
337	// rewrite rule.
338	Status *string
339}
340
341// Describes a domain association that associates a custom domain with an Amplify
342// app.
343type DomainAssociation struct {
344
345	// The Amazon Resource Name (ARN) for the domain association.
346	//
347	// This member is required.
348	DomainAssociationArn *string
349
350	// The name of the domain.
351	//
352	// This member is required.
353	DomainName *string
354
355	// The current status of the domain association.
356	//
357	// This member is required.
358	DomainStatus DomainStatus
359
360	// Enables the automated creation of subdomains for branches.
361	//
362	// This member is required.
363	EnableAutoSubDomain *bool
364
365	// The reason for the current status of the domain association.
366	//
367	// This member is required.
368	StatusReason *string
369
370	// The subdomains for the domain association.
371	//
372	// This member is required.
373	SubDomains []SubDomain
374
375	// Sets branch patterns for automatic subdomain creation.
376	AutoSubDomainCreationPatterns []string
377
378	// The required AWS Identity and Access Management (IAM) service role for the
379	// Amazon Resource Name (ARN) for automatically creating subdomains.
380	AutoSubDomainIAMRole *string
381
382	// The DNS record for certificate verification.
383	CertificateVerificationDNSRecord *string
384}
385
386// Describes an execution job for an Amplify app.
387type Job struct {
388
389	// The execution steps for an execution job, for an Amplify app.
390	//
391	// This member is required.
392	Steps []Step
393
394	// Describes the summary for an execution job for an Amplify app.
395	//
396	// This member is required.
397	Summary *JobSummary
398}
399
400// Describes the summary for an execution job for an Amplify app.
401type JobSummary struct {
402
403	// The commit ID from a third-party repository provider for the job.
404	//
405	// This member is required.
406	CommitId *string
407
408	// The commit message from a third-party repository provider for the job.
409	//
410	// This member is required.
411	CommitMessage *string
412
413	// The commit date and time for the job.
414	//
415	// This member is required.
416	CommitTime *time.Time
417
418	// The Amazon Resource Name (ARN) for the job.
419	//
420	// This member is required.
421	JobArn *string
422
423	// The unique ID for the job.
424	//
425	// This member is required.
426	JobId *string
427
428	// The type for the job. If the value is RELEASE, the job was manually released
429	// from its source by using the StartJob API. If the value is RETRY, the job was
430	// manually retried using the StartJob API. If the value is WEB_HOOK, the job was
431	// automatically triggered by webhooks.
432	//
433	// This member is required.
434	JobType JobType
435
436	// The start date and time for the job.
437	//
438	// This member is required.
439	StartTime *time.Time
440
441	// The current status for the job.
442	//
443	// This member is required.
444	Status JobStatus
445
446	// The end date and time for the job.
447	EndTime *time.Time
448}
449
450// Describes the information about a production branch for an Amplify app.
451type ProductionBranch struct {
452
453	// The branch name for the production branch.
454	BranchName *string
455
456	// The last deploy time of the production branch.
457	LastDeployTime *time.Time
458
459	// The status of the production branch.
460	Status *string
461
462	// The thumbnail URL for the production branch.
463	ThumbnailUrl *string
464}
465
466// Describes an execution step, for an execution job, for an Amplify app.
467type Step struct {
468
469	// The end date and time of the execution step.
470	//
471	// This member is required.
472	EndTime *time.Time
473
474	// The start date and time of the execution step.
475	//
476	// This member is required.
477	StartTime *time.Time
478
479	// The status of the execution step.
480	//
481	// This member is required.
482	Status JobStatus
483
484	// The name of the execution step.
485	//
486	// This member is required.
487	StepName *string
488
489	// The URL to the artifact for the execution step.
490	ArtifactsUrl *string
491
492	// The context for the current step. Includes a build image if the step is build.
493	Context *string
494
495	// The URL to the logs for the execution step.
496	LogUrl *string
497
498	// The list of screenshot URLs for the execution step, if relevant.
499	Screenshots map[string]string
500
501	// The reason for the current step status.
502	StatusReason *string
503
504	// The URL to the test artifact for the execution step.
505	TestArtifactsUrl *string
506
507	// The URL to the test configuration for the execution step.
508	TestConfigUrl *string
509}
510
511// The subdomain for the domain association.
512type SubDomain struct {
513
514	// The DNS record for the subdomain.
515	//
516	// This member is required.
517	DnsRecord *string
518
519	// Describes the settings for the subdomain.
520	//
521	// This member is required.
522	SubDomainSetting *SubDomainSetting
523
524	// The verified status of the subdomain
525	//
526	// This member is required.
527	Verified *bool
528}
529
530// Describes the settings for the subdomain.
531type SubDomainSetting struct {
532
533	// The branch name setting for the subdomain.
534	//
535	// This member is required.
536	BranchName *string
537
538	// The prefix setting for the subdomain.
539	//
540	// This member is required.
541	Prefix *string
542}
543
544// Describes a webhook that connects repository events to an Amplify app.
545type Webhook struct {
546
547	// The name for a branch that is part of an Amplify app.
548	//
549	// This member is required.
550	BranchName *string
551
552	// The create date and time for a webhook.
553	//
554	// This member is required.
555	CreateTime *time.Time
556
557	// The description for a webhook.
558	//
559	// This member is required.
560	Description *string
561
562	// Updates the date and time for a webhook.
563	//
564	// This member is required.
565	UpdateTime *time.Time
566
567	// The Amazon Resource Name (ARN) for the webhook.
568	//
569	// This member is required.
570	WebhookArn *string
571
572	// The ID of the webhook.
573	//
574	// This member is required.
575	WebhookId *string
576
577	// The URL of the webhook.
578	//
579	// This member is required.
580	WebhookUrl *string
581}
582