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