1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package codebuild
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opBatchDeleteBuilds = "BatchDeleteBuilds"
17
18// BatchDeleteBuildsRequest generates a "aws/request.Request" representing the
19// client's request for the BatchDeleteBuilds operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See BatchDeleteBuilds for more information on using the BatchDeleteBuilds
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the BatchDeleteBuildsRequest method.
34//    req, resp := client.BatchDeleteBuildsRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchDeleteBuilds
42func (c *CodeBuild) BatchDeleteBuildsRequest(input *BatchDeleteBuildsInput) (req *request.Request, output *BatchDeleteBuildsOutput) {
43	op := &request.Operation{
44		Name:       opBatchDeleteBuilds,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &BatchDeleteBuildsInput{}
51	}
52
53	output = &BatchDeleteBuildsOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// BatchDeleteBuilds API operation for AWS CodeBuild.
59//
60// Deletes one or more builds.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for AWS CodeBuild's
67// API operation BatchDeleteBuilds for usage and error information.
68//
69// Returned Error Codes:
70//   * ErrCodeInvalidInputException "InvalidInputException"
71//   The input value that was provided is not valid.
72//
73// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchDeleteBuilds
74func (c *CodeBuild) BatchDeleteBuilds(input *BatchDeleteBuildsInput) (*BatchDeleteBuildsOutput, error) {
75	req, out := c.BatchDeleteBuildsRequest(input)
76	return out, req.Send()
77}
78
79// BatchDeleteBuildsWithContext is the same as BatchDeleteBuilds with the addition of
80// the ability to pass a context and additional request options.
81//
82// See BatchDeleteBuilds for details on how to use this API operation.
83//
84// The context must be non-nil and will be used for request cancellation. If
85// the context is nil a panic will occur. In the future the SDK may create
86// sub-contexts for http.Requests. See https://golang.org/pkg/context/
87// for more information on using Contexts.
88func (c *CodeBuild) BatchDeleteBuildsWithContext(ctx aws.Context, input *BatchDeleteBuildsInput, opts ...request.Option) (*BatchDeleteBuildsOutput, error) {
89	req, out := c.BatchDeleteBuildsRequest(input)
90	req.SetContext(ctx)
91	req.ApplyOptions(opts...)
92	return out, req.Send()
93}
94
95const opBatchGetBuilds = "BatchGetBuilds"
96
97// BatchGetBuildsRequest generates a "aws/request.Request" representing the
98// client's request for the BatchGetBuilds operation. The "output" return
99// value will be populated with the request's response once the request completes
100// successfully.
101//
102// Use "Send" method on the returned Request to send the API call to the service.
103// the "output" return value is not valid until after Send returns without error.
104//
105// See BatchGetBuilds for more information on using the BatchGetBuilds
106// API call, and error handling.
107//
108// This method is useful when you want to inject custom logic or configuration
109// into the SDK's request lifecycle. Such as custom headers, or retry logic.
110//
111//
112//    // Example sending a request using the BatchGetBuildsRequest method.
113//    req, resp := client.BatchGetBuildsRequest(params)
114//
115//    err := req.Send()
116//    if err == nil { // resp is now filled
117//        fmt.Println(resp)
118//    }
119//
120// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetBuilds
121func (c *CodeBuild) BatchGetBuildsRequest(input *BatchGetBuildsInput) (req *request.Request, output *BatchGetBuildsOutput) {
122	op := &request.Operation{
123		Name:       opBatchGetBuilds,
124		HTTPMethod: "POST",
125		HTTPPath:   "/",
126	}
127
128	if input == nil {
129		input = &BatchGetBuildsInput{}
130	}
131
132	output = &BatchGetBuildsOutput{}
133	req = c.newRequest(op, input, output)
134	return
135}
136
137// BatchGetBuilds API operation for AWS CodeBuild.
138//
139// Gets information about one or more builds.
140//
141// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
142// with awserr.Error's Code and Message methods to get detailed information about
143// the error.
144//
145// See the AWS API reference guide for AWS CodeBuild's
146// API operation BatchGetBuilds for usage and error information.
147//
148// Returned Error Codes:
149//   * ErrCodeInvalidInputException "InvalidInputException"
150//   The input value that was provided is not valid.
151//
152// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetBuilds
153func (c *CodeBuild) BatchGetBuilds(input *BatchGetBuildsInput) (*BatchGetBuildsOutput, error) {
154	req, out := c.BatchGetBuildsRequest(input)
155	return out, req.Send()
156}
157
158// BatchGetBuildsWithContext is the same as BatchGetBuilds with the addition of
159// the ability to pass a context and additional request options.
160//
161// See BatchGetBuilds for details on how to use this API operation.
162//
163// The context must be non-nil and will be used for request cancellation. If
164// the context is nil a panic will occur. In the future the SDK may create
165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
166// for more information on using Contexts.
167func (c *CodeBuild) BatchGetBuildsWithContext(ctx aws.Context, input *BatchGetBuildsInput, opts ...request.Option) (*BatchGetBuildsOutput, error) {
168	req, out := c.BatchGetBuildsRequest(input)
169	req.SetContext(ctx)
170	req.ApplyOptions(opts...)
171	return out, req.Send()
172}
173
174const opBatchGetProjects = "BatchGetProjects"
175
176// BatchGetProjectsRequest generates a "aws/request.Request" representing the
177// client's request for the BatchGetProjects operation. The "output" return
178// value will be populated with the request's response once the request completes
179// successfully.
180//
181// Use "Send" method on the returned Request to send the API call to the service.
182// the "output" return value is not valid until after Send returns without error.
183//
184// See BatchGetProjects for more information on using the BatchGetProjects
185// API call, and error handling.
186//
187// This method is useful when you want to inject custom logic or configuration
188// into the SDK's request lifecycle. Such as custom headers, or retry logic.
189//
190//
191//    // Example sending a request using the BatchGetProjectsRequest method.
192//    req, resp := client.BatchGetProjectsRequest(params)
193//
194//    err := req.Send()
195//    if err == nil { // resp is now filled
196//        fmt.Println(resp)
197//    }
198//
199// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetProjects
200func (c *CodeBuild) BatchGetProjectsRequest(input *BatchGetProjectsInput) (req *request.Request, output *BatchGetProjectsOutput) {
201	op := &request.Operation{
202		Name:       opBatchGetProjects,
203		HTTPMethod: "POST",
204		HTTPPath:   "/",
205	}
206
207	if input == nil {
208		input = &BatchGetProjectsInput{}
209	}
210
211	output = &BatchGetProjectsOutput{}
212	req = c.newRequest(op, input, output)
213	return
214}
215
216// BatchGetProjects API operation for AWS CodeBuild.
217//
218// Gets information about one or more build projects.
219//
220// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
221// with awserr.Error's Code and Message methods to get detailed information about
222// the error.
223//
224// See the AWS API reference guide for AWS CodeBuild's
225// API operation BatchGetProjects for usage and error information.
226//
227// Returned Error Codes:
228//   * ErrCodeInvalidInputException "InvalidInputException"
229//   The input value that was provided is not valid.
230//
231// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetProjects
232func (c *CodeBuild) BatchGetProjects(input *BatchGetProjectsInput) (*BatchGetProjectsOutput, error) {
233	req, out := c.BatchGetProjectsRequest(input)
234	return out, req.Send()
235}
236
237// BatchGetProjectsWithContext is the same as BatchGetProjects with the addition of
238// the ability to pass a context and additional request options.
239//
240// See BatchGetProjects for details on how to use this API operation.
241//
242// The context must be non-nil and will be used for request cancellation. If
243// the context is nil a panic will occur. In the future the SDK may create
244// sub-contexts for http.Requests. See https://golang.org/pkg/context/
245// for more information on using Contexts.
246func (c *CodeBuild) BatchGetProjectsWithContext(ctx aws.Context, input *BatchGetProjectsInput, opts ...request.Option) (*BatchGetProjectsOutput, error) {
247	req, out := c.BatchGetProjectsRequest(input)
248	req.SetContext(ctx)
249	req.ApplyOptions(opts...)
250	return out, req.Send()
251}
252
253const opBatchGetReportGroups = "BatchGetReportGroups"
254
255// BatchGetReportGroupsRequest generates a "aws/request.Request" representing the
256// client's request for the BatchGetReportGroups operation. The "output" return
257// value will be populated with the request's response once the request completes
258// successfully.
259//
260// Use "Send" method on the returned Request to send the API call to the service.
261// the "output" return value is not valid until after Send returns without error.
262//
263// See BatchGetReportGroups for more information on using the BatchGetReportGroups
264// API call, and error handling.
265//
266// This method is useful when you want to inject custom logic or configuration
267// into the SDK's request lifecycle. Such as custom headers, or retry logic.
268//
269//
270//    // Example sending a request using the BatchGetReportGroupsRequest method.
271//    req, resp := client.BatchGetReportGroupsRequest(params)
272//
273//    err := req.Send()
274//    if err == nil { // resp is now filled
275//        fmt.Println(resp)
276//    }
277//
278// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReportGroups
279func (c *CodeBuild) BatchGetReportGroupsRequest(input *BatchGetReportGroupsInput) (req *request.Request, output *BatchGetReportGroupsOutput) {
280	op := &request.Operation{
281		Name:       opBatchGetReportGroups,
282		HTTPMethod: "POST",
283		HTTPPath:   "/",
284	}
285
286	if input == nil {
287		input = &BatchGetReportGroupsInput{}
288	}
289
290	output = &BatchGetReportGroupsOutput{}
291	req = c.newRequest(op, input, output)
292	return
293}
294
295// BatchGetReportGroups API operation for AWS CodeBuild.
296//
297// Returns an array of report groups.
298//
299// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
300// with awserr.Error's Code and Message methods to get detailed information about
301// the error.
302//
303// See the AWS API reference guide for AWS CodeBuild's
304// API operation BatchGetReportGroups for usage and error information.
305//
306// Returned Error Codes:
307//   * ErrCodeInvalidInputException "InvalidInputException"
308//   The input value that was provided is not valid.
309//
310// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReportGroups
311func (c *CodeBuild) BatchGetReportGroups(input *BatchGetReportGroupsInput) (*BatchGetReportGroupsOutput, error) {
312	req, out := c.BatchGetReportGroupsRequest(input)
313	return out, req.Send()
314}
315
316// BatchGetReportGroupsWithContext is the same as BatchGetReportGroups with the addition of
317// the ability to pass a context and additional request options.
318//
319// See BatchGetReportGroups for details on how to use this API operation.
320//
321// The context must be non-nil and will be used for request cancellation. If
322// the context is nil a panic will occur. In the future the SDK may create
323// sub-contexts for http.Requests. See https://golang.org/pkg/context/
324// for more information on using Contexts.
325func (c *CodeBuild) BatchGetReportGroupsWithContext(ctx aws.Context, input *BatchGetReportGroupsInput, opts ...request.Option) (*BatchGetReportGroupsOutput, error) {
326	req, out := c.BatchGetReportGroupsRequest(input)
327	req.SetContext(ctx)
328	req.ApplyOptions(opts...)
329	return out, req.Send()
330}
331
332const opBatchGetReports = "BatchGetReports"
333
334// BatchGetReportsRequest generates a "aws/request.Request" representing the
335// client's request for the BatchGetReports operation. The "output" return
336// value will be populated with the request's response once the request completes
337// successfully.
338//
339// Use "Send" method on the returned Request to send the API call to the service.
340// the "output" return value is not valid until after Send returns without error.
341//
342// See BatchGetReports for more information on using the BatchGetReports
343// API call, and error handling.
344//
345// This method is useful when you want to inject custom logic or configuration
346// into the SDK's request lifecycle. Such as custom headers, or retry logic.
347//
348//
349//    // Example sending a request using the BatchGetReportsRequest method.
350//    req, resp := client.BatchGetReportsRequest(params)
351//
352//    err := req.Send()
353//    if err == nil { // resp is now filled
354//        fmt.Println(resp)
355//    }
356//
357// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReports
358func (c *CodeBuild) BatchGetReportsRequest(input *BatchGetReportsInput) (req *request.Request, output *BatchGetReportsOutput) {
359	op := &request.Operation{
360		Name:       opBatchGetReports,
361		HTTPMethod: "POST",
362		HTTPPath:   "/",
363	}
364
365	if input == nil {
366		input = &BatchGetReportsInput{}
367	}
368
369	output = &BatchGetReportsOutput{}
370	req = c.newRequest(op, input, output)
371	return
372}
373
374// BatchGetReports API operation for AWS CodeBuild.
375//
376// Returns an array of reports.
377//
378// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
379// with awserr.Error's Code and Message methods to get detailed information about
380// the error.
381//
382// See the AWS API reference guide for AWS CodeBuild's
383// API operation BatchGetReports for usage and error information.
384//
385// Returned Error Codes:
386//   * ErrCodeInvalidInputException "InvalidInputException"
387//   The input value that was provided is not valid.
388//
389// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReports
390func (c *CodeBuild) BatchGetReports(input *BatchGetReportsInput) (*BatchGetReportsOutput, error) {
391	req, out := c.BatchGetReportsRequest(input)
392	return out, req.Send()
393}
394
395// BatchGetReportsWithContext is the same as BatchGetReports with the addition of
396// the ability to pass a context and additional request options.
397//
398// See BatchGetReports for details on how to use this API operation.
399//
400// The context must be non-nil and will be used for request cancellation. If
401// the context is nil a panic will occur. In the future the SDK may create
402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
403// for more information on using Contexts.
404func (c *CodeBuild) BatchGetReportsWithContext(ctx aws.Context, input *BatchGetReportsInput, opts ...request.Option) (*BatchGetReportsOutput, error) {
405	req, out := c.BatchGetReportsRequest(input)
406	req.SetContext(ctx)
407	req.ApplyOptions(opts...)
408	return out, req.Send()
409}
410
411const opCreateProject = "CreateProject"
412
413// CreateProjectRequest generates a "aws/request.Request" representing the
414// client's request for the CreateProject operation. The "output" return
415// value will be populated with the request's response once the request completes
416// successfully.
417//
418// Use "Send" method on the returned Request to send the API call to the service.
419// the "output" return value is not valid until after Send returns without error.
420//
421// See CreateProject for more information on using the CreateProject
422// API call, and error handling.
423//
424// This method is useful when you want to inject custom logic or configuration
425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
426//
427//
428//    // Example sending a request using the CreateProjectRequest method.
429//    req, resp := client.CreateProjectRequest(params)
430//
431//    err := req.Send()
432//    if err == nil { // resp is now filled
433//        fmt.Println(resp)
434//    }
435//
436// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateProject
437func (c *CodeBuild) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) {
438	op := &request.Operation{
439		Name:       opCreateProject,
440		HTTPMethod: "POST",
441		HTTPPath:   "/",
442	}
443
444	if input == nil {
445		input = &CreateProjectInput{}
446	}
447
448	output = &CreateProjectOutput{}
449	req = c.newRequest(op, input, output)
450	return
451}
452
453// CreateProject API operation for AWS CodeBuild.
454//
455// Creates a build project.
456//
457// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
458// with awserr.Error's Code and Message methods to get detailed information about
459// the error.
460//
461// See the AWS API reference guide for AWS CodeBuild's
462// API operation CreateProject for usage and error information.
463//
464// Returned Error Codes:
465//   * ErrCodeInvalidInputException "InvalidInputException"
466//   The input value that was provided is not valid.
467//
468//   * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException"
469//   The specified AWS resource cannot be created, because an AWS resource with
470//   the same settings already exists.
471//
472//   * ErrCodeAccountLimitExceededException "AccountLimitExceededException"
473//   An AWS service limit was exceeded for the calling AWS account.
474//
475// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateProject
476func (c *CodeBuild) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) {
477	req, out := c.CreateProjectRequest(input)
478	return out, req.Send()
479}
480
481// CreateProjectWithContext is the same as CreateProject with the addition of
482// the ability to pass a context and additional request options.
483//
484// See CreateProject for details on how to use this API operation.
485//
486// The context must be non-nil and will be used for request cancellation. If
487// the context is nil a panic will occur. In the future the SDK may create
488// sub-contexts for http.Requests. See https://golang.org/pkg/context/
489// for more information on using Contexts.
490func (c *CodeBuild) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) {
491	req, out := c.CreateProjectRequest(input)
492	req.SetContext(ctx)
493	req.ApplyOptions(opts...)
494	return out, req.Send()
495}
496
497const opCreateReportGroup = "CreateReportGroup"
498
499// CreateReportGroupRequest generates a "aws/request.Request" representing the
500// client's request for the CreateReportGroup operation. The "output" return
501// value will be populated with the request's response once the request completes
502// successfully.
503//
504// Use "Send" method on the returned Request to send the API call to the service.
505// the "output" return value is not valid until after Send returns without error.
506//
507// See CreateReportGroup for more information on using the CreateReportGroup
508// API call, and error handling.
509//
510// This method is useful when you want to inject custom logic or configuration
511// into the SDK's request lifecycle. Such as custom headers, or retry logic.
512//
513//
514//    // Example sending a request using the CreateReportGroupRequest method.
515//    req, resp := client.CreateReportGroupRequest(params)
516//
517//    err := req.Send()
518//    if err == nil { // resp is now filled
519//        fmt.Println(resp)
520//    }
521//
522// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateReportGroup
523func (c *CodeBuild) CreateReportGroupRequest(input *CreateReportGroupInput) (req *request.Request, output *CreateReportGroupOutput) {
524	op := &request.Operation{
525		Name:       opCreateReportGroup,
526		HTTPMethod: "POST",
527		HTTPPath:   "/",
528	}
529
530	if input == nil {
531		input = &CreateReportGroupInput{}
532	}
533
534	output = &CreateReportGroupOutput{}
535	req = c.newRequest(op, input, output)
536	return
537}
538
539// CreateReportGroup API operation for AWS CodeBuild.
540//
541// Creates a report group. A report group contains a collection of reports.
542//
543// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
544// with awserr.Error's Code and Message methods to get detailed information about
545// the error.
546//
547// See the AWS API reference guide for AWS CodeBuild's
548// API operation CreateReportGroup for usage and error information.
549//
550// Returned Error Codes:
551//   * ErrCodeInvalidInputException "InvalidInputException"
552//   The input value that was provided is not valid.
553//
554//   * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException"
555//   The specified AWS resource cannot be created, because an AWS resource with
556//   the same settings already exists.
557//
558//   * ErrCodeAccountLimitExceededException "AccountLimitExceededException"
559//   An AWS service limit was exceeded for the calling AWS account.
560//
561// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateReportGroup
562func (c *CodeBuild) CreateReportGroup(input *CreateReportGroupInput) (*CreateReportGroupOutput, error) {
563	req, out := c.CreateReportGroupRequest(input)
564	return out, req.Send()
565}
566
567// CreateReportGroupWithContext is the same as CreateReportGroup with the addition of
568// the ability to pass a context and additional request options.
569//
570// See CreateReportGroup for details on how to use this API operation.
571//
572// The context must be non-nil and will be used for request cancellation. If
573// the context is nil a panic will occur. In the future the SDK may create
574// sub-contexts for http.Requests. See https://golang.org/pkg/context/
575// for more information on using Contexts.
576func (c *CodeBuild) CreateReportGroupWithContext(ctx aws.Context, input *CreateReportGroupInput, opts ...request.Option) (*CreateReportGroupOutput, error) {
577	req, out := c.CreateReportGroupRequest(input)
578	req.SetContext(ctx)
579	req.ApplyOptions(opts...)
580	return out, req.Send()
581}
582
583const opCreateWebhook = "CreateWebhook"
584
585// CreateWebhookRequest generates a "aws/request.Request" representing the
586// client's request for the CreateWebhook operation. The "output" return
587// value will be populated with the request's response once the request completes
588// successfully.
589//
590// Use "Send" method on the returned Request to send the API call to the service.
591// the "output" return value is not valid until after Send returns without error.
592//
593// See CreateWebhook for more information on using the CreateWebhook
594// API call, and error handling.
595//
596// This method is useful when you want to inject custom logic or configuration
597// into the SDK's request lifecycle. Such as custom headers, or retry logic.
598//
599//
600//    // Example sending a request using the CreateWebhookRequest method.
601//    req, resp := client.CreateWebhookRequest(params)
602//
603//    err := req.Send()
604//    if err == nil { // resp is now filled
605//        fmt.Println(resp)
606//    }
607//
608// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateWebhook
609func (c *CodeBuild) CreateWebhookRequest(input *CreateWebhookInput) (req *request.Request, output *CreateWebhookOutput) {
610	op := &request.Operation{
611		Name:       opCreateWebhook,
612		HTTPMethod: "POST",
613		HTTPPath:   "/",
614	}
615
616	if input == nil {
617		input = &CreateWebhookInput{}
618	}
619
620	output = &CreateWebhookOutput{}
621	req = c.newRequest(op, input, output)
622	return
623}
624
625// CreateWebhook API operation for AWS CodeBuild.
626//
627// For an existing AWS CodeBuild build project that has its source code stored
628// in a GitHub or Bitbucket repository, enables AWS CodeBuild to start rebuilding
629// the source code every time a code change is pushed to the repository.
630//
631// If you enable webhooks for an AWS CodeBuild project, and the project is used
632// as a build step in AWS CodePipeline, then two identical builds are created
633// for each commit. One build is triggered through webhooks, and one through
634// AWS CodePipeline. Because billing is on a per-build basis, you are billed
635// for both builds. Therefore, if you are using AWS CodePipeline, we recommend
636// that you disable webhooks in AWS CodeBuild. In the AWS CodeBuild console,
637// clear the Webhook box. For more information, see step 5 in Change a Build
638// Project's Settings (https://docs.aws.amazon.com/codebuild/latest/userguide/change-project.html#change-project-console).
639//
640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
641// with awserr.Error's Code and Message methods to get detailed information about
642// the error.
643//
644// See the AWS API reference guide for AWS CodeBuild's
645// API operation CreateWebhook for usage and error information.
646//
647// Returned Error Codes:
648//   * ErrCodeInvalidInputException "InvalidInputException"
649//   The input value that was provided is not valid.
650//
651//   * ErrCodeOAuthProviderException "OAuthProviderException"
652//   There was a problem with the underlying OAuth provider.
653//
654//   * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException"
655//   The specified AWS resource cannot be created, because an AWS resource with
656//   the same settings already exists.
657//
658//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
659//   The specified AWS resource cannot be found.
660//
661// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateWebhook
662func (c *CodeBuild) CreateWebhook(input *CreateWebhookInput) (*CreateWebhookOutput, error) {
663	req, out := c.CreateWebhookRequest(input)
664	return out, req.Send()
665}
666
667// CreateWebhookWithContext is the same as CreateWebhook with the addition of
668// the ability to pass a context and additional request options.
669//
670// See CreateWebhook for details on how to use this API operation.
671//
672// The context must be non-nil and will be used for request cancellation. If
673// the context is nil a panic will occur. In the future the SDK may create
674// sub-contexts for http.Requests. See https://golang.org/pkg/context/
675// for more information on using Contexts.
676func (c *CodeBuild) CreateWebhookWithContext(ctx aws.Context, input *CreateWebhookInput, opts ...request.Option) (*CreateWebhookOutput, error) {
677	req, out := c.CreateWebhookRequest(input)
678	req.SetContext(ctx)
679	req.ApplyOptions(opts...)
680	return out, req.Send()
681}
682
683const opDeleteProject = "DeleteProject"
684
685// DeleteProjectRequest generates a "aws/request.Request" representing the
686// client's request for the DeleteProject operation. The "output" return
687// value will be populated with the request's response once the request completes
688// successfully.
689//
690// Use "Send" method on the returned Request to send the API call to the service.
691// the "output" return value is not valid until after Send returns without error.
692//
693// See DeleteProject for more information on using the DeleteProject
694// API call, and error handling.
695//
696// This method is useful when you want to inject custom logic or configuration
697// into the SDK's request lifecycle. Such as custom headers, or retry logic.
698//
699//
700//    // Example sending a request using the DeleteProjectRequest method.
701//    req, resp := client.DeleteProjectRequest(params)
702//
703//    err := req.Send()
704//    if err == nil { // resp is now filled
705//        fmt.Println(resp)
706//    }
707//
708// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteProject
709func (c *CodeBuild) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
710	op := &request.Operation{
711		Name:       opDeleteProject,
712		HTTPMethod: "POST",
713		HTTPPath:   "/",
714	}
715
716	if input == nil {
717		input = &DeleteProjectInput{}
718	}
719
720	output = &DeleteProjectOutput{}
721	req = c.newRequest(op, input, output)
722	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
723	return
724}
725
726// DeleteProject API operation for AWS CodeBuild.
727//
728// Deletes a build project. When you delete a project, its builds are not deleted.
729//
730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
731// with awserr.Error's Code and Message methods to get detailed information about
732// the error.
733//
734// See the AWS API reference guide for AWS CodeBuild's
735// API operation DeleteProject for usage and error information.
736//
737// Returned Error Codes:
738//   * ErrCodeInvalidInputException "InvalidInputException"
739//   The input value that was provided is not valid.
740//
741// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteProject
742func (c *CodeBuild) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
743	req, out := c.DeleteProjectRequest(input)
744	return out, req.Send()
745}
746
747// DeleteProjectWithContext is the same as DeleteProject with the addition of
748// the ability to pass a context and additional request options.
749//
750// See DeleteProject for details on how to use this API operation.
751//
752// The context must be non-nil and will be used for request cancellation. If
753// the context is nil a panic will occur. In the future the SDK may create
754// sub-contexts for http.Requests. See https://golang.org/pkg/context/
755// for more information on using Contexts.
756func (c *CodeBuild) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
757	req, out := c.DeleteProjectRequest(input)
758	req.SetContext(ctx)
759	req.ApplyOptions(opts...)
760	return out, req.Send()
761}
762
763const opDeleteReport = "DeleteReport"
764
765// DeleteReportRequest generates a "aws/request.Request" representing the
766// client's request for the DeleteReport operation. The "output" return
767// value will be populated with the request's response once the request completes
768// successfully.
769//
770// Use "Send" method on the returned Request to send the API call to the service.
771// the "output" return value is not valid until after Send returns without error.
772//
773// See DeleteReport for more information on using the DeleteReport
774// API call, and error handling.
775//
776// This method is useful when you want to inject custom logic or configuration
777// into the SDK's request lifecycle. Such as custom headers, or retry logic.
778//
779//
780//    // Example sending a request using the DeleteReportRequest method.
781//    req, resp := client.DeleteReportRequest(params)
782//
783//    err := req.Send()
784//    if err == nil { // resp is now filled
785//        fmt.Println(resp)
786//    }
787//
788// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReport
789func (c *CodeBuild) DeleteReportRequest(input *DeleteReportInput) (req *request.Request, output *DeleteReportOutput) {
790	op := &request.Operation{
791		Name:       opDeleteReport,
792		HTTPMethod: "POST",
793		HTTPPath:   "/",
794	}
795
796	if input == nil {
797		input = &DeleteReportInput{}
798	}
799
800	output = &DeleteReportOutput{}
801	req = c.newRequest(op, input, output)
802	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
803	return
804}
805
806// DeleteReport API operation for AWS CodeBuild.
807//
808// Deletes a report.
809//
810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
811// with awserr.Error's Code and Message methods to get detailed information about
812// the error.
813//
814// See the AWS API reference guide for AWS CodeBuild's
815// API operation DeleteReport for usage and error information.
816//
817// Returned Error Codes:
818//   * ErrCodeInvalidInputException "InvalidInputException"
819//   The input value that was provided is not valid.
820//
821// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReport
822func (c *CodeBuild) DeleteReport(input *DeleteReportInput) (*DeleteReportOutput, error) {
823	req, out := c.DeleteReportRequest(input)
824	return out, req.Send()
825}
826
827// DeleteReportWithContext is the same as DeleteReport with the addition of
828// the ability to pass a context and additional request options.
829//
830// See DeleteReport for details on how to use this API operation.
831//
832// The context must be non-nil and will be used for request cancellation. If
833// the context is nil a panic will occur. In the future the SDK may create
834// sub-contexts for http.Requests. See https://golang.org/pkg/context/
835// for more information on using Contexts.
836func (c *CodeBuild) DeleteReportWithContext(ctx aws.Context, input *DeleteReportInput, opts ...request.Option) (*DeleteReportOutput, error) {
837	req, out := c.DeleteReportRequest(input)
838	req.SetContext(ctx)
839	req.ApplyOptions(opts...)
840	return out, req.Send()
841}
842
843const opDeleteReportGroup = "DeleteReportGroup"
844
845// DeleteReportGroupRequest generates a "aws/request.Request" representing the
846// client's request for the DeleteReportGroup operation. The "output" return
847// value will be populated with the request's response once the request completes
848// successfully.
849//
850// Use "Send" method on the returned Request to send the API call to the service.
851// the "output" return value is not valid until after Send returns without error.
852//
853// See DeleteReportGroup for more information on using the DeleteReportGroup
854// API call, and error handling.
855//
856// This method is useful when you want to inject custom logic or configuration
857// into the SDK's request lifecycle. Such as custom headers, or retry logic.
858//
859//
860//    // Example sending a request using the DeleteReportGroupRequest method.
861//    req, resp := client.DeleteReportGroupRequest(params)
862//
863//    err := req.Send()
864//    if err == nil { // resp is now filled
865//        fmt.Println(resp)
866//    }
867//
868// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReportGroup
869func (c *CodeBuild) DeleteReportGroupRequest(input *DeleteReportGroupInput) (req *request.Request, output *DeleteReportGroupOutput) {
870	op := &request.Operation{
871		Name:       opDeleteReportGroup,
872		HTTPMethod: "POST",
873		HTTPPath:   "/",
874	}
875
876	if input == nil {
877		input = &DeleteReportGroupInput{}
878	}
879
880	output = &DeleteReportGroupOutput{}
881	req = c.newRequest(op, input, output)
882	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
883	return
884}
885
886// DeleteReportGroup API operation for AWS CodeBuild.
887//
888// DeleteReportGroup: Deletes a report group. Before you delete a report group,
889// you must delete its reports. Use ListReportsForReportGroup (https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ListReportsForReportGroup.html)
890// to get the reports in a report group. Use DeleteReport (https://docs.aws.amazon.com/codebuild/latest/APIReference/API_DeleteReport.html)
891// to delete the reports. If you call DeleteReportGroup for a report group that
892// contains one or more reports, an exception is thrown.
893//
894// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
895// with awserr.Error's Code and Message methods to get detailed information about
896// the error.
897//
898// See the AWS API reference guide for AWS CodeBuild's
899// API operation DeleteReportGroup for usage and error information.
900//
901// Returned Error Codes:
902//   * ErrCodeInvalidInputException "InvalidInputException"
903//   The input value that was provided is not valid.
904//
905// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReportGroup
906func (c *CodeBuild) DeleteReportGroup(input *DeleteReportGroupInput) (*DeleteReportGroupOutput, error) {
907	req, out := c.DeleteReportGroupRequest(input)
908	return out, req.Send()
909}
910
911// DeleteReportGroupWithContext is the same as DeleteReportGroup with the addition of
912// the ability to pass a context and additional request options.
913//
914// See DeleteReportGroup for details on how to use this API operation.
915//
916// The context must be non-nil and will be used for request cancellation. If
917// the context is nil a panic will occur. In the future the SDK may create
918// sub-contexts for http.Requests. See https://golang.org/pkg/context/
919// for more information on using Contexts.
920func (c *CodeBuild) DeleteReportGroupWithContext(ctx aws.Context, input *DeleteReportGroupInput, opts ...request.Option) (*DeleteReportGroupOutput, error) {
921	req, out := c.DeleteReportGroupRequest(input)
922	req.SetContext(ctx)
923	req.ApplyOptions(opts...)
924	return out, req.Send()
925}
926
927const opDeleteResourcePolicy = "DeleteResourcePolicy"
928
929// DeleteResourcePolicyRequest generates a "aws/request.Request" representing the
930// client's request for the DeleteResourcePolicy operation. The "output" return
931// value will be populated with the request's response once the request completes
932// successfully.
933//
934// Use "Send" method on the returned Request to send the API call to the service.
935// the "output" return value is not valid until after Send returns without error.
936//
937// See DeleteResourcePolicy for more information on using the DeleteResourcePolicy
938// API call, and error handling.
939//
940// This method is useful when you want to inject custom logic or configuration
941// into the SDK's request lifecycle. Such as custom headers, or retry logic.
942//
943//
944//    // Example sending a request using the DeleteResourcePolicyRequest method.
945//    req, resp := client.DeleteResourcePolicyRequest(params)
946//
947//    err := req.Send()
948//    if err == nil { // resp is now filled
949//        fmt.Println(resp)
950//    }
951//
952// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteResourcePolicy
953func (c *CodeBuild) DeleteResourcePolicyRequest(input *DeleteResourcePolicyInput) (req *request.Request, output *DeleteResourcePolicyOutput) {
954	op := &request.Operation{
955		Name:       opDeleteResourcePolicy,
956		HTTPMethod: "POST",
957		HTTPPath:   "/",
958	}
959
960	if input == nil {
961		input = &DeleteResourcePolicyInput{}
962	}
963
964	output = &DeleteResourcePolicyOutput{}
965	req = c.newRequest(op, input, output)
966	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
967	return
968}
969
970// DeleteResourcePolicy API operation for AWS CodeBuild.
971//
972// Deletes a resource policy that is identified by its resource ARN.
973//
974// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
975// with awserr.Error's Code and Message methods to get detailed information about
976// the error.
977//
978// See the AWS API reference guide for AWS CodeBuild's
979// API operation DeleteResourcePolicy for usage and error information.
980//
981// Returned Error Codes:
982//   * ErrCodeInvalidInputException "InvalidInputException"
983//   The input value that was provided is not valid.
984//
985// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteResourcePolicy
986func (c *CodeBuild) DeleteResourcePolicy(input *DeleteResourcePolicyInput) (*DeleteResourcePolicyOutput, error) {
987	req, out := c.DeleteResourcePolicyRequest(input)
988	return out, req.Send()
989}
990
991// DeleteResourcePolicyWithContext is the same as DeleteResourcePolicy with the addition of
992// the ability to pass a context and additional request options.
993//
994// See DeleteResourcePolicy for details on how to use this API operation.
995//
996// The context must be non-nil and will be used for request cancellation. If
997// the context is nil a panic will occur. In the future the SDK may create
998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
999// for more information on using Contexts.
1000func (c *CodeBuild) DeleteResourcePolicyWithContext(ctx aws.Context, input *DeleteResourcePolicyInput, opts ...request.Option) (*DeleteResourcePolicyOutput, error) {
1001	req, out := c.DeleteResourcePolicyRequest(input)
1002	req.SetContext(ctx)
1003	req.ApplyOptions(opts...)
1004	return out, req.Send()
1005}
1006
1007const opDeleteSourceCredentials = "DeleteSourceCredentials"
1008
1009// DeleteSourceCredentialsRequest generates a "aws/request.Request" representing the
1010// client's request for the DeleteSourceCredentials operation. The "output" return
1011// value will be populated with the request's response once the request completes
1012// successfully.
1013//
1014// Use "Send" method on the returned Request to send the API call to the service.
1015// the "output" return value is not valid until after Send returns without error.
1016//
1017// See DeleteSourceCredentials for more information on using the DeleteSourceCredentials
1018// API call, and error handling.
1019//
1020// This method is useful when you want to inject custom logic or configuration
1021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1022//
1023//
1024//    // Example sending a request using the DeleteSourceCredentialsRequest method.
1025//    req, resp := client.DeleteSourceCredentialsRequest(params)
1026//
1027//    err := req.Send()
1028//    if err == nil { // resp is now filled
1029//        fmt.Println(resp)
1030//    }
1031//
1032// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteSourceCredentials
1033func (c *CodeBuild) DeleteSourceCredentialsRequest(input *DeleteSourceCredentialsInput) (req *request.Request, output *DeleteSourceCredentialsOutput) {
1034	op := &request.Operation{
1035		Name:       opDeleteSourceCredentials,
1036		HTTPMethod: "POST",
1037		HTTPPath:   "/",
1038	}
1039
1040	if input == nil {
1041		input = &DeleteSourceCredentialsInput{}
1042	}
1043
1044	output = &DeleteSourceCredentialsOutput{}
1045	req = c.newRequest(op, input, output)
1046	return
1047}
1048
1049// DeleteSourceCredentials API operation for AWS CodeBuild.
1050//
1051// Deletes a set of GitHub, GitHub Enterprise, or Bitbucket source credentials.
1052//
1053// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1054// with awserr.Error's Code and Message methods to get detailed information about
1055// the error.
1056//
1057// See the AWS API reference guide for AWS CodeBuild's
1058// API operation DeleteSourceCredentials for usage and error information.
1059//
1060// Returned Error Codes:
1061//   * ErrCodeInvalidInputException "InvalidInputException"
1062//   The input value that was provided is not valid.
1063//
1064//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1065//   The specified AWS resource cannot be found.
1066//
1067// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteSourceCredentials
1068func (c *CodeBuild) DeleteSourceCredentials(input *DeleteSourceCredentialsInput) (*DeleteSourceCredentialsOutput, error) {
1069	req, out := c.DeleteSourceCredentialsRequest(input)
1070	return out, req.Send()
1071}
1072
1073// DeleteSourceCredentialsWithContext is the same as DeleteSourceCredentials with the addition of
1074// the ability to pass a context and additional request options.
1075//
1076// See DeleteSourceCredentials for details on how to use this API operation.
1077//
1078// The context must be non-nil and will be used for request cancellation. If
1079// the context is nil a panic will occur. In the future the SDK may create
1080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1081// for more information on using Contexts.
1082func (c *CodeBuild) DeleteSourceCredentialsWithContext(ctx aws.Context, input *DeleteSourceCredentialsInput, opts ...request.Option) (*DeleteSourceCredentialsOutput, error) {
1083	req, out := c.DeleteSourceCredentialsRequest(input)
1084	req.SetContext(ctx)
1085	req.ApplyOptions(opts...)
1086	return out, req.Send()
1087}
1088
1089const opDeleteWebhook = "DeleteWebhook"
1090
1091// DeleteWebhookRequest generates a "aws/request.Request" representing the
1092// client's request for the DeleteWebhook operation. The "output" return
1093// value will be populated with the request's response once the request completes
1094// successfully.
1095//
1096// Use "Send" method on the returned Request to send the API call to the service.
1097// the "output" return value is not valid until after Send returns without error.
1098//
1099// See DeleteWebhook for more information on using the DeleteWebhook
1100// API call, and error handling.
1101//
1102// This method is useful when you want to inject custom logic or configuration
1103// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1104//
1105//
1106//    // Example sending a request using the DeleteWebhookRequest method.
1107//    req, resp := client.DeleteWebhookRequest(params)
1108//
1109//    err := req.Send()
1110//    if err == nil { // resp is now filled
1111//        fmt.Println(resp)
1112//    }
1113//
1114// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook
1115func (c *CodeBuild) DeleteWebhookRequest(input *DeleteWebhookInput) (req *request.Request, output *DeleteWebhookOutput) {
1116	op := &request.Operation{
1117		Name:       opDeleteWebhook,
1118		HTTPMethod: "POST",
1119		HTTPPath:   "/",
1120	}
1121
1122	if input == nil {
1123		input = &DeleteWebhookInput{}
1124	}
1125
1126	output = &DeleteWebhookOutput{}
1127	req = c.newRequest(op, input, output)
1128	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1129	return
1130}
1131
1132// DeleteWebhook API operation for AWS CodeBuild.
1133//
1134// For an existing AWS CodeBuild build project that has its source code stored
1135// in a GitHub or Bitbucket repository, stops AWS CodeBuild from rebuilding
1136// the source code every time a code change is pushed to the repository.
1137//
1138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1139// with awserr.Error's Code and Message methods to get detailed information about
1140// the error.
1141//
1142// See the AWS API reference guide for AWS CodeBuild's
1143// API operation DeleteWebhook for usage and error information.
1144//
1145// Returned Error Codes:
1146//   * ErrCodeInvalidInputException "InvalidInputException"
1147//   The input value that was provided is not valid.
1148//
1149//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1150//   The specified AWS resource cannot be found.
1151//
1152//   * ErrCodeOAuthProviderException "OAuthProviderException"
1153//   There was a problem with the underlying OAuth provider.
1154//
1155// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook
1156func (c *CodeBuild) DeleteWebhook(input *DeleteWebhookInput) (*DeleteWebhookOutput, error) {
1157	req, out := c.DeleteWebhookRequest(input)
1158	return out, req.Send()
1159}
1160
1161// DeleteWebhookWithContext is the same as DeleteWebhook with the addition of
1162// the ability to pass a context and additional request options.
1163//
1164// See DeleteWebhook for details on how to use this API operation.
1165//
1166// The context must be non-nil and will be used for request cancellation. If
1167// the context is nil a panic will occur. In the future the SDK may create
1168// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1169// for more information on using Contexts.
1170func (c *CodeBuild) DeleteWebhookWithContext(ctx aws.Context, input *DeleteWebhookInput, opts ...request.Option) (*DeleteWebhookOutput, error) {
1171	req, out := c.DeleteWebhookRequest(input)
1172	req.SetContext(ctx)
1173	req.ApplyOptions(opts...)
1174	return out, req.Send()
1175}
1176
1177const opDescribeTestCases = "DescribeTestCases"
1178
1179// DescribeTestCasesRequest generates a "aws/request.Request" representing the
1180// client's request for the DescribeTestCases operation. The "output" return
1181// value will be populated with the request's response once the request completes
1182// successfully.
1183//
1184// Use "Send" method on the returned Request to send the API call to the service.
1185// the "output" return value is not valid until after Send returns without error.
1186//
1187// See DescribeTestCases for more information on using the DescribeTestCases
1188// API call, and error handling.
1189//
1190// This method is useful when you want to inject custom logic or configuration
1191// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1192//
1193//
1194//    // Example sending a request using the DescribeTestCasesRequest method.
1195//    req, resp := client.DescribeTestCasesRequest(params)
1196//
1197//    err := req.Send()
1198//    if err == nil { // resp is now filled
1199//        fmt.Println(resp)
1200//    }
1201//
1202// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DescribeTestCases
1203func (c *CodeBuild) DescribeTestCasesRequest(input *DescribeTestCasesInput) (req *request.Request, output *DescribeTestCasesOutput) {
1204	op := &request.Operation{
1205		Name:       opDescribeTestCases,
1206		HTTPMethod: "POST",
1207		HTTPPath:   "/",
1208	}
1209
1210	if input == nil {
1211		input = &DescribeTestCasesInput{}
1212	}
1213
1214	output = &DescribeTestCasesOutput{}
1215	req = c.newRequest(op, input, output)
1216	return
1217}
1218
1219// DescribeTestCases API operation for AWS CodeBuild.
1220//
1221// Returns a list of details about test cases for a report.
1222//
1223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1224// with awserr.Error's Code and Message methods to get detailed information about
1225// the error.
1226//
1227// See the AWS API reference guide for AWS CodeBuild's
1228// API operation DescribeTestCases for usage and error information.
1229//
1230// Returned Error Codes:
1231//   * ErrCodeInvalidInputException "InvalidInputException"
1232//   The input value that was provided is not valid.
1233//
1234//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1235//   The specified AWS resource cannot be found.
1236//
1237// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DescribeTestCases
1238func (c *CodeBuild) DescribeTestCases(input *DescribeTestCasesInput) (*DescribeTestCasesOutput, error) {
1239	req, out := c.DescribeTestCasesRequest(input)
1240	return out, req.Send()
1241}
1242
1243// DescribeTestCasesWithContext is the same as DescribeTestCases with the addition of
1244// the ability to pass a context and additional request options.
1245//
1246// See DescribeTestCases for details on how to use this API operation.
1247//
1248// The context must be non-nil and will be used for request cancellation. If
1249// the context is nil a panic will occur. In the future the SDK may create
1250// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1251// for more information on using Contexts.
1252func (c *CodeBuild) DescribeTestCasesWithContext(ctx aws.Context, input *DescribeTestCasesInput, opts ...request.Option) (*DescribeTestCasesOutput, error) {
1253	req, out := c.DescribeTestCasesRequest(input)
1254	req.SetContext(ctx)
1255	req.ApplyOptions(opts...)
1256	return out, req.Send()
1257}
1258
1259const opGetResourcePolicy = "GetResourcePolicy"
1260
1261// GetResourcePolicyRequest generates a "aws/request.Request" representing the
1262// client's request for the GetResourcePolicy operation. The "output" return
1263// value will be populated with the request's response once the request completes
1264// successfully.
1265//
1266// Use "Send" method on the returned Request to send the API call to the service.
1267// the "output" return value is not valid until after Send returns without error.
1268//
1269// See GetResourcePolicy for more information on using the GetResourcePolicy
1270// API call, and error handling.
1271//
1272// This method is useful when you want to inject custom logic or configuration
1273// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1274//
1275//
1276//    // Example sending a request using the GetResourcePolicyRequest method.
1277//    req, resp := client.GetResourcePolicyRequest(params)
1278//
1279//    err := req.Send()
1280//    if err == nil { // resp is now filled
1281//        fmt.Println(resp)
1282//    }
1283//
1284// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/GetResourcePolicy
1285func (c *CodeBuild) GetResourcePolicyRequest(input *GetResourcePolicyInput) (req *request.Request, output *GetResourcePolicyOutput) {
1286	op := &request.Operation{
1287		Name:       opGetResourcePolicy,
1288		HTTPMethod: "POST",
1289		HTTPPath:   "/",
1290	}
1291
1292	if input == nil {
1293		input = &GetResourcePolicyInput{}
1294	}
1295
1296	output = &GetResourcePolicyOutput{}
1297	req = c.newRequest(op, input, output)
1298	return
1299}
1300
1301// GetResourcePolicy API operation for AWS CodeBuild.
1302//
1303// Gets a resource policy that is identified by its resource ARN.
1304//
1305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1306// with awserr.Error's Code and Message methods to get detailed information about
1307// the error.
1308//
1309// See the AWS API reference guide for AWS CodeBuild's
1310// API operation GetResourcePolicy for usage and error information.
1311//
1312// Returned Error Codes:
1313//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1314//   The specified AWS resource cannot be found.
1315//
1316//   * ErrCodeInvalidInputException "InvalidInputException"
1317//   The input value that was provided is not valid.
1318//
1319// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/GetResourcePolicy
1320func (c *CodeBuild) GetResourcePolicy(input *GetResourcePolicyInput) (*GetResourcePolicyOutput, error) {
1321	req, out := c.GetResourcePolicyRequest(input)
1322	return out, req.Send()
1323}
1324
1325// GetResourcePolicyWithContext is the same as GetResourcePolicy with the addition of
1326// the ability to pass a context and additional request options.
1327//
1328// See GetResourcePolicy for details on how to use this API operation.
1329//
1330// The context must be non-nil and will be used for request cancellation. If
1331// the context is nil a panic will occur. In the future the SDK may create
1332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1333// for more information on using Contexts.
1334func (c *CodeBuild) GetResourcePolicyWithContext(ctx aws.Context, input *GetResourcePolicyInput, opts ...request.Option) (*GetResourcePolicyOutput, error) {
1335	req, out := c.GetResourcePolicyRequest(input)
1336	req.SetContext(ctx)
1337	req.ApplyOptions(opts...)
1338	return out, req.Send()
1339}
1340
1341const opImportSourceCredentials = "ImportSourceCredentials"
1342
1343// ImportSourceCredentialsRequest generates a "aws/request.Request" representing the
1344// client's request for the ImportSourceCredentials operation. The "output" return
1345// value will be populated with the request's response once the request completes
1346// successfully.
1347//
1348// Use "Send" method on the returned Request to send the API call to the service.
1349// the "output" return value is not valid until after Send returns without error.
1350//
1351// See ImportSourceCredentials for more information on using the ImportSourceCredentials
1352// API call, and error handling.
1353//
1354// This method is useful when you want to inject custom logic or configuration
1355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1356//
1357//
1358//    // Example sending a request using the ImportSourceCredentialsRequest method.
1359//    req, resp := client.ImportSourceCredentialsRequest(params)
1360//
1361//    err := req.Send()
1362//    if err == nil { // resp is now filled
1363//        fmt.Println(resp)
1364//    }
1365//
1366// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ImportSourceCredentials
1367func (c *CodeBuild) ImportSourceCredentialsRequest(input *ImportSourceCredentialsInput) (req *request.Request, output *ImportSourceCredentialsOutput) {
1368	op := &request.Operation{
1369		Name:       opImportSourceCredentials,
1370		HTTPMethod: "POST",
1371		HTTPPath:   "/",
1372	}
1373
1374	if input == nil {
1375		input = &ImportSourceCredentialsInput{}
1376	}
1377
1378	output = &ImportSourceCredentialsOutput{}
1379	req = c.newRequest(op, input, output)
1380	return
1381}
1382
1383// ImportSourceCredentials API operation for AWS CodeBuild.
1384//
1385// Imports the source repository credentials for an AWS CodeBuild project that
1386// has its source code stored in a GitHub, GitHub Enterprise, or Bitbucket repository.
1387//
1388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1389// with awserr.Error's Code and Message methods to get detailed information about
1390// the error.
1391//
1392// See the AWS API reference guide for AWS CodeBuild's
1393// API operation ImportSourceCredentials for usage and error information.
1394//
1395// Returned Error Codes:
1396//   * ErrCodeInvalidInputException "InvalidInputException"
1397//   The input value that was provided is not valid.
1398//
1399//   * ErrCodeAccountLimitExceededException "AccountLimitExceededException"
1400//   An AWS service limit was exceeded for the calling AWS account.
1401//
1402//   * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException"
1403//   The specified AWS resource cannot be created, because an AWS resource with
1404//   the same settings already exists.
1405//
1406// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ImportSourceCredentials
1407func (c *CodeBuild) ImportSourceCredentials(input *ImportSourceCredentialsInput) (*ImportSourceCredentialsOutput, error) {
1408	req, out := c.ImportSourceCredentialsRequest(input)
1409	return out, req.Send()
1410}
1411
1412// ImportSourceCredentialsWithContext is the same as ImportSourceCredentials with the addition of
1413// the ability to pass a context and additional request options.
1414//
1415// See ImportSourceCredentials for details on how to use this API operation.
1416//
1417// The context must be non-nil and will be used for request cancellation. If
1418// the context is nil a panic will occur. In the future the SDK may create
1419// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1420// for more information on using Contexts.
1421func (c *CodeBuild) ImportSourceCredentialsWithContext(ctx aws.Context, input *ImportSourceCredentialsInput, opts ...request.Option) (*ImportSourceCredentialsOutput, error) {
1422	req, out := c.ImportSourceCredentialsRequest(input)
1423	req.SetContext(ctx)
1424	req.ApplyOptions(opts...)
1425	return out, req.Send()
1426}
1427
1428const opInvalidateProjectCache = "InvalidateProjectCache"
1429
1430// InvalidateProjectCacheRequest generates a "aws/request.Request" representing the
1431// client's request for the InvalidateProjectCache operation. The "output" return
1432// value will be populated with the request's response once the request completes
1433// successfully.
1434//
1435// Use "Send" method on the returned Request to send the API call to the service.
1436// the "output" return value is not valid until after Send returns without error.
1437//
1438// See InvalidateProjectCache for more information on using the InvalidateProjectCache
1439// API call, and error handling.
1440//
1441// This method is useful when you want to inject custom logic or configuration
1442// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1443//
1444//
1445//    // Example sending a request using the InvalidateProjectCacheRequest method.
1446//    req, resp := client.InvalidateProjectCacheRequest(params)
1447//
1448//    err := req.Send()
1449//    if err == nil { // resp is now filled
1450//        fmt.Println(resp)
1451//    }
1452//
1453// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/InvalidateProjectCache
1454func (c *CodeBuild) InvalidateProjectCacheRequest(input *InvalidateProjectCacheInput) (req *request.Request, output *InvalidateProjectCacheOutput) {
1455	op := &request.Operation{
1456		Name:       opInvalidateProjectCache,
1457		HTTPMethod: "POST",
1458		HTTPPath:   "/",
1459	}
1460
1461	if input == nil {
1462		input = &InvalidateProjectCacheInput{}
1463	}
1464
1465	output = &InvalidateProjectCacheOutput{}
1466	req = c.newRequest(op, input, output)
1467	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1468	return
1469}
1470
1471// InvalidateProjectCache API operation for AWS CodeBuild.
1472//
1473// Resets the cache for a project.
1474//
1475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1476// with awserr.Error's Code and Message methods to get detailed information about
1477// the error.
1478//
1479// See the AWS API reference guide for AWS CodeBuild's
1480// API operation InvalidateProjectCache for usage and error information.
1481//
1482// Returned Error Codes:
1483//   * ErrCodeInvalidInputException "InvalidInputException"
1484//   The input value that was provided is not valid.
1485//
1486//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1487//   The specified AWS resource cannot be found.
1488//
1489// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/InvalidateProjectCache
1490func (c *CodeBuild) InvalidateProjectCache(input *InvalidateProjectCacheInput) (*InvalidateProjectCacheOutput, error) {
1491	req, out := c.InvalidateProjectCacheRequest(input)
1492	return out, req.Send()
1493}
1494
1495// InvalidateProjectCacheWithContext is the same as InvalidateProjectCache with the addition of
1496// the ability to pass a context and additional request options.
1497//
1498// See InvalidateProjectCache for details on how to use this API operation.
1499//
1500// The context must be non-nil and will be used for request cancellation. If
1501// the context is nil a panic will occur. In the future the SDK may create
1502// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1503// for more information on using Contexts.
1504func (c *CodeBuild) InvalidateProjectCacheWithContext(ctx aws.Context, input *InvalidateProjectCacheInput, opts ...request.Option) (*InvalidateProjectCacheOutput, error) {
1505	req, out := c.InvalidateProjectCacheRequest(input)
1506	req.SetContext(ctx)
1507	req.ApplyOptions(opts...)
1508	return out, req.Send()
1509}
1510
1511const opListBuilds = "ListBuilds"
1512
1513// ListBuildsRequest generates a "aws/request.Request" representing the
1514// client's request for the ListBuilds operation. The "output" return
1515// value will be populated with the request's response once the request completes
1516// successfully.
1517//
1518// Use "Send" method on the returned Request to send the API call to the service.
1519// the "output" return value is not valid until after Send returns without error.
1520//
1521// See ListBuilds for more information on using the ListBuilds
1522// API call, and error handling.
1523//
1524// This method is useful when you want to inject custom logic or configuration
1525// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1526//
1527//
1528//    // Example sending a request using the ListBuildsRequest method.
1529//    req, resp := client.ListBuildsRequest(params)
1530//
1531//    err := req.Send()
1532//    if err == nil { // resp is now filled
1533//        fmt.Println(resp)
1534//    }
1535//
1536// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuilds
1537func (c *CodeBuild) ListBuildsRequest(input *ListBuildsInput) (req *request.Request, output *ListBuildsOutput) {
1538	op := &request.Operation{
1539		Name:       opListBuilds,
1540		HTTPMethod: "POST",
1541		HTTPPath:   "/",
1542	}
1543
1544	if input == nil {
1545		input = &ListBuildsInput{}
1546	}
1547
1548	output = &ListBuildsOutput{}
1549	req = c.newRequest(op, input, output)
1550	return
1551}
1552
1553// ListBuilds API operation for AWS CodeBuild.
1554//
1555// Gets a list of build IDs, with each build ID representing a single build.
1556//
1557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1558// with awserr.Error's Code and Message methods to get detailed information about
1559// the error.
1560//
1561// See the AWS API reference guide for AWS CodeBuild's
1562// API operation ListBuilds for usage and error information.
1563//
1564// Returned Error Codes:
1565//   * ErrCodeInvalidInputException "InvalidInputException"
1566//   The input value that was provided is not valid.
1567//
1568// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuilds
1569func (c *CodeBuild) ListBuilds(input *ListBuildsInput) (*ListBuildsOutput, error) {
1570	req, out := c.ListBuildsRequest(input)
1571	return out, req.Send()
1572}
1573
1574// ListBuildsWithContext is the same as ListBuilds with the addition of
1575// the ability to pass a context and additional request options.
1576//
1577// See ListBuilds for details on how to use this API operation.
1578//
1579// The context must be non-nil and will be used for request cancellation. If
1580// the context is nil a panic will occur. In the future the SDK may create
1581// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1582// for more information on using Contexts.
1583func (c *CodeBuild) ListBuildsWithContext(ctx aws.Context, input *ListBuildsInput, opts ...request.Option) (*ListBuildsOutput, error) {
1584	req, out := c.ListBuildsRequest(input)
1585	req.SetContext(ctx)
1586	req.ApplyOptions(opts...)
1587	return out, req.Send()
1588}
1589
1590const opListBuildsForProject = "ListBuildsForProject"
1591
1592// ListBuildsForProjectRequest generates a "aws/request.Request" representing the
1593// client's request for the ListBuildsForProject operation. The "output" return
1594// value will be populated with the request's response once the request completes
1595// successfully.
1596//
1597// Use "Send" method on the returned Request to send the API call to the service.
1598// the "output" return value is not valid until after Send returns without error.
1599//
1600// See ListBuildsForProject for more information on using the ListBuildsForProject
1601// API call, and error handling.
1602//
1603// This method is useful when you want to inject custom logic or configuration
1604// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1605//
1606//
1607//    // Example sending a request using the ListBuildsForProjectRequest method.
1608//    req, resp := client.ListBuildsForProjectRequest(params)
1609//
1610//    err := req.Send()
1611//    if err == nil { // resp is now filled
1612//        fmt.Println(resp)
1613//    }
1614//
1615// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildsForProject
1616func (c *CodeBuild) ListBuildsForProjectRequest(input *ListBuildsForProjectInput) (req *request.Request, output *ListBuildsForProjectOutput) {
1617	op := &request.Operation{
1618		Name:       opListBuildsForProject,
1619		HTTPMethod: "POST",
1620		HTTPPath:   "/",
1621	}
1622
1623	if input == nil {
1624		input = &ListBuildsForProjectInput{}
1625	}
1626
1627	output = &ListBuildsForProjectOutput{}
1628	req = c.newRequest(op, input, output)
1629	return
1630}
1631
1632// ListBuildsForProject API operation for AWS CodeBuild.
1633//
1634// Gets a list of build IDs for the specified build project, with each build
1635// ID representing a single build.
1636//
1637// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1638// with awserr.Error's Code and Message methods to get detailed information about
1639// the error.
1640//
1641// See the AWS API reference guide for AWS CodeBuild's
1642// API operation ListBuildsForProject for usage and error information.
1643//
1644// Returned Error Codes:
1645//   * ErrCodeInvalidInputException "InvalidInputException"
1646//   The input value that was provided is not valid.
1647//
1648//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1649//   The specified AWS resource cannot be found.
1650//
1651// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildsForProject
1652func (c *CodeBuild) ListBuildsForProject(input *ListBuildsForProjectInput) (*ListBuildsForProjectOutput, error) {
1653	req, out := c.ListBuildsForProjectRequest(input)
1654	return out, req.Send()
1655}
1656
1657// ListBuildsForProjectWithContext is the same as ListBuildsForProject with the addition of
1658// the ability to pass a context and additional request options.
1659//
1660// See ListBuildsForProject for details on how to use this API operation.
1661//
1662// The context must be non-nil and will be used for request cancellation. If
1663// the context is nil a panic will occur. In the future the SDK may create
1664// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1665// for more information on using Contexts.
1666func (c *CodeBuild) ListBuildsForProjectWithContext(ctx aws.Context, input *ListBuildsForProjectInput, opts ...request.Option) (*ListBuildsForProjectOutput, error) {
1667	req, out := c.ListBuildsForProjectRequest(input)
1668	req.SetContext(ctx)
1669	req.ApplyOptions(opts...)
1670	return out, req.Send()
1671}
1672
1673const opListCuratedEnvironmentImages = "ListCuratedEnvironmentImages"
1674
1675// ListCuratedEnvironmentImagesRequest generates a "aws/request.Request" representing the
1676// client's request for the ListCuratedEnvironmentImages operation. The "output" return
1677// value will be populated with the request's response once the request completes
1678// successfully.
1679//
1680// Use "Send" method on the returned Request to send the API call to the service.
1681// the "output" return value is not valid until after Send returns without error.
1682//
1683// See ListCuratedEnvironmentImages for more information on using the ListCuratedEnvironmentImages
1684// API call, and error handling.
1685//
1686// This method is useful when you want to inject custom logic or configuration
1687// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1688//
1689//
1690//    // Example sending a request using the ListCuratedEnvironmentImagesRequest method.
1691//    req, resp := client.ListCuratedEnvironmentImagesRequest(params)
1692//
1693//    err := req.Send()
1694//    if err == nil { // resp is now filled
1695//        fmt.Println(resp)
1696//    }
1697//
1698// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListCuratedEnvironmentImages
1699func (c *CodeBuild) ListCuratedEnvironmentImagesRequest(input *ListCuratedEnvironmentImagesInput) (req *request.Request, output *ListCuratedEnvironmentImagesOutput) {
1700	op := &request.Operation{
1701		Name:       opListCuratedEnvironmentImages,
1702		HTTPMethod: "POST",
1703		HTTPPath:   "/",
1704	}
1705
1706	if input == nil {
1707		input = &ListCuratedEnvironmentImagesInput{}
1708	}
1709
1710	output = &ListCuratedEnvironmentImagesOutput{}
1711	req = c.newRequest(op, input, output)
1712	return
1713}
1714
1715// ListCuratedEnvironmentImages API operation for AWS CodeBuild.
1716//
1717// Gets information about Docker images that are managed by AWS CodeBuild.
1718//
1719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1720// with awserr.Error's Code and Message methods to get detailed information about
1721// the error.
1722//
1723// See the AWS API reference guide for AWS CodeBuild's
1724// API operation ListCuratedEnvironmentImages for usage and error information.
1725// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListCuratedEnvironmentImages
1726func (c *CodeBuild) ListCuratedEnvironmentImages(input *ListCuratedEnvironmentImagesInput) (*ListCuratedEnvironmentImagesOutput, error) {
1727	req, out := c.ListCuratedEnvironmentImagesRequest(input)
1728	return out, req.Send()
1729}
1730
1731// ListCuratedEnvironmentImagesWithContext is the same as ListCuratedEnvironmentImages with the addition of
1732// the ability to pass a context and additional request options.
1733//
1734// See ListCuratedEnvironmentImages for details on how to use this API operation.
1735//
1736// The context must be non-nil and will be used for request cancellation. If
1737// the context is nil a panic will occur. In the future the SDK may create
1738// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1739// for more information on using Contexts.
1740func (c *CodeBuild) ListCuratedEnvironmentImagesWithContext(ctx aws.Context, input *ListCuratedEnvironmentImagesInput, opts ...request.Option) (*ListCuratedEnvironmentImagesOutput, error) {
1741	req, out := c.ListCuratedEnvironmentImagesRequest(input)
1742	req.SetContext(ctx)
1743	req.ApplyOptions(opts...)
1744	return out, req.Send()
1745}
1746
1747const opListProjects = "ListProjects"
1748
1749// ListProjectsRequest generates a "aws/request.Request" representing the
1750// client's request for the ListProjects operation. The "output" return
1751// value will be populated with the request's response once the request completes
1752// successfully.
1753//
1754// Use "Send" method on the returned Request to send the API call to the service.
1755// the "output" return value is not valid until after Send returns without error.
1756//
1757// See ListProjects for more information on using the ListProjects
1758// API call, and error handling.
1759//
1760// This method is useful when you want to inject custom logic or configuration
1761// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1762//
1763//
1764//    // Example sending a request using the ListProjectsRequest method.
1765//    req, resp := client.ListProjectsRequest(params)
1766//
1767//    err := req.Send()
1768//    if err == nil { // resp is now filled
1769//        fmt.Println(resp)
1770//    }
1771//
1772// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListProjects
1773func (c *CodeBuild) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) {
1774	op := &request.Operation{
1775		Name:       opListProjects,
1776		HTTPMethod: "POST",
1777		HTTPPath:   "/",
1778	}
1779
1780	if input == nil {
1781		input = &ListProjectsInput{}
1782	}
1783
1784	output = &ListProjectsOutput{}
1785	req = c.newRequest(op, input, output)
1786	return
1787}
1788
1789// ListProjects API operation for AWS CodeBuild.
1790//
1791// Gets a list of build project names, with each build project name representing
1792// a single build project.
1793//
1794// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1795// with awserr.Error's Code and Message methods to get detailed information about
1796// the error.
1797//
1798// See the AWS API reference guide for AWS CodeBuild's
1799// API operation ListProjects for usage and error information.
1800//
1801// Returned Error Codes:
1802//   * ErrCodeInvalidInputException "InvalidInputException"
1803//   The input value that was provided is not valid.
1804//
1805// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListProjects
1806func (c *CodeBuild) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) {
1807	req, out := c.ListProjectsRequest(input)
1808	return out, req.Send()
1809}
1810
1811// ListProjectsWithContext is the same as ListProjects with the addition of
1812// the ability to pass a context and additional request options.
1813//
1814// See ListProjects for details on how to use this API operation.
1815//
1816// The context must be non-nil and will be used for request cancellation. If
1817// the context is nil a panic will occur. In the future the SDK may create
1818// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1819// for more information on using Contexts.
1820func (c *CodeBuild) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) {
1821	req, out := c.ListProjectsRequest(input)
1822	req.SetContext(ctx)
1823	req.ApplyOptions(opts...)
1824	return out, req.Send()
1825}
1826
1827const opListReportGroups = "ListReportGroups"
1828
1829// ListReportGroupsRequest generates a "aws/request.Request" representing the
1830// client's request for the ListReportGroups operation. The "output" return
1831// value will be populated with the request's response once the request completes
1832// successfully.
1833//
1834// Use "Send" method on the returned Request to send the API call to the service.
1835// the "output" return value is not valid until after Send returns without error.
1836//
1837// See ListReportGroups for more information on using the ListReportGroups
1838// API call, and error handling.
1839//
1840// This method is useful when you want to inject custom logic or configuration
1841// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1842//
1843//
1844//    // Example sending a request using the ListReportGroupsRequest method.
1845//    req, resp := client.ListReportGroupsRequest(params)
1846//
1847//    err := req.Send()
1848//    if err == nil { // resp is now filled
1849//        fmt.Println(resp)
1850//    }
1851//
1852// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportGroups
1853func (c *CodeBuild) ListReportGroupsRequest(input *ListReportGroupsInput) (req *request.Request, output *ListReportGroupsOutput) {
1854	op := &request.Operation{
1855		Name:       opListReportGroups,
1856		HTTPMethod: "POST",
1857		HTTPPath:   "/",
1858	}
1859
1860	if input == nil {
1861		input = &ListReportGroupsInput{}
1862	}
1863
1864	output = &ListReportGroupsOutput{}
1865	req = c.newRequest(op, input, output)
1866	return
1867}
1868
1869// ListReportGroups API operation for AWS CodeBuild.
1870//
1871// Gets a list ARNs for the report groups in the current AWS account.
1872//
1873// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1874// with awserr.Error's Code and Message methods to get detailed information about
1875// the error.
1876//
1877// See the AWS API reference guide for AWS CodeBuild's
1878// API operation ListReportGroups for usage and error information.
1879//
1880// Returned Error Codes:
1881//   * ErrCodeInvalidInputException "InvalidInputException"
1882//   The input value that was provided is not valid.
1883//
1884// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportGroups
1885func (c *CodeBuild) ListReportGroups(input *ListReportGroupsInput) (*ListReportGroupsOutput, error) {
1886	req, out := c.ListReportGroupsRequest(input)
1887	return out, req.Send()
1888}
1889
1890// ListReportGroupsWithContext is the same as ListReportGroups with the addition of
1891// the ability to pass a context and additional request options.
1892//
1893// See ListReportGroups for details on how to use this API operation.
1894//
1895// The context must be non-nil and will be used for request cancellation. If
1896// the context is nil a panic will occur. In the future the SDK may create
1897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1898// for more information on using Contexts.
1899func (c *CodeBuild) ListReportGroupsWithContext(ctx aws.Context, input *ListReportGroupsInput, opts ...request.Option) (*ListReportGroupsOutput, error) {
1900	req, out := c.ListReportGroupsRequest(input)
1901	req.SetContext(ctx)
1902	req.ApplyOptions(opts...)
1903	return out, req.Send()
1904}
1905
1906const opListReports = "ListReports"
1907
1908// ListReportsRequest generates a "aws/request.Request" representing the
1909// client's request for the ListReports operation. The "output" return
1910// value will be populated with the request's response once the request completes
1911// successfully.
1912//
1913// Use "Send" method on the returned Request to send the API call to the service.
1914// the "output" return value is not valid until after Send returns without error.
1915//
1916// See ListReports for more information on using the ListReports
1917// API call, and error handling.
1918//
1919// This method is useful when you want to inject custom logic or configuration
1920// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1921//
1922//
1923//    // Example sending a request using the ListReportsRequest method.
1924//    req, resp := client.ListReportsRequest(params)
1925//
1926//    err := req.Send()
1927//    if err == nil { // resp is now filled
1928//        fmt.Println(resp)
1929//    }
1930//
1931// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReports
1932func (c *CodeBuild) ListReportsRequest(input *ListReportsInput) (req *request.Request, output *ListReportsOutput) {
1933	op := &request.Operation{
1934		Name:       opListReports,
1935		HTTPMethod: "POST",
1936		HTTPPath:   "/",
1937	}
1938
1939	if input == nil {
1940		input = &ListReportsInput{}
1941	}
1942
1943	output = &ListReportsOutput{}
1944	req = c.newRequest(op, input, output)
1945	return
1946}
1947
1948// ListReports API operation for AWS CodeBuild.
1949//
1950// Returns a list of ARNs for the reports in the current AWS account.
1951//
1952// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1953// with awserr.Error's Code and Message methods to get detailed information about
1954// the error.
1955//
1956// See the AWS API reference guide for AWS CodeBuild's
1957// API operation ListReports for usage and error information.
1958//
1959// Returned Error Codes:
1960//   * ErrCodeInvalidInputException "InvalidInputException"
1961//   The input value that was provided is not valid.
1962//
1963// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReports
1964func (c *CodeBuild) ListReports(input *ListReportsInput) (*ListReportsOutput, error) {
1965	req, out := c.ListReportsRequest(input)
1966	return out, req.Send()
1967}
1968
1969// ListReportsWithContext is the same as ListReports with the addition of
1970// the ability to pass a context and additional request options.
1971//
1972// See ListReports for details on how to use this API operation.
1973//
1974// The context must be non-nil and will be used for request cancellation. If
1975// the context is nil a panic will occur. In the future the SDK may create
1976// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1977// for more information on using Contexts.
1978func (c *CodeBuild) ListReportsWithContext(ctx aws.Context, input *ListReportsInput, opts ...request.Option) (*ListReportsOutput, error) {
1979	req, out := c.ListReportsRequest(input)
1980	req.SetContext(ctx)
1981	req.ApplyOptions(opts...)
1982	return out, req.Send()
1983}
1984
1985const opListReportsForReportGroup = "ListReportsForReportGroup"
1986
1987// ListReportsForReportGroupRequest generates a "aws/request.Request" representing the
1988// client's request for the ListReportsForReportGroup operation. The "output" return
1989// value will be populated with the request's response once the request completes
1990// successfully.
1991//
1992// Use "Send" method on the returned Request to send the API call to the service.
1993// the "output" return value is not valid until after Send returns without error.
1994//
1995// See ListReportsForReportGroup for more information on using the ListReportsForReportGroup
1996// API call, and error handling.
1997//
1998// This method is useful when you want to inject custom logic or configuration
1999// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2000//
2001//
2002//    // Example sending a request using the ListReportsForReportGroupRequest method.
2003//    req, resp := client.ListReportsForReportGroupRequest(params)
2004//
2005//    err := req.Send()
2006//    if err == nil { // resp is now filled
2007//        fmt.Println(resp)
2008//    }
2009//
2010// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportsForReportGroup
2011func (c *CodeBuild) ListReportsForReportGroupRequest(input *ListReportsForReportGroupInput) (req *request.Request, output *ListReportsForReportGroupOutput) {
2012	op := &request.Operation{
2013		Name:       opListReportsForReportGroup,
2014		HTTPMethod: "POST",
2015		HTTPPath:   "/",
2016	}
2017
2018	if input == nil {
2019		input = &ListReportsForReportGroupInput{}
2020	}
2021
2022	output = &ListReportsForReportGroupOutput{}
2023	req = c.newRequest(op, input, output)
2024	return
2025}
2026
2027// ListReportsForReportGroup API operation for AWS CodeBuild.
2028//
2029// Returns a list of ARNs for the reports that belong to a ReportGroup.
2030//
2031// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2032// with awserr.Error's Code and Message methods to get detailed information about
2033// the error.
2034//
2035// See the AWS API reference guide for AWS CodeBuild's
2036// API operation ListReportsForReportGroup for usage and error information.
2037//
2038// Returned Error Codes:
2039//   * ErrCodeInvalidInputException "InvalidInputException"
2040//   The input value that was provided is not valid.
2041//
2042//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2043//   The specified AWS resource cannot be found.
2044//
2045// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportsForReportGroup
2046func (c *CodeBuild) ListReportsForReportGroup(input *ListReportsForReportGroupInput) (*ListReportsForReportGroupOutput, error) {
2047	req, out := c.ListReportsForReportGroupRequest(input)
2048	return out, req.Send()
2049}
2050
2051// ListReportsForReportGroupWithContext is the same as ListReportsForReportGroup with the addition of
2052// the ability to pass a context and additional request options.
2053//
2054// See ListReportsForReportGroup for details on how to use this API operation.
2055//
2056// The context must be non-nil and will be used for request cancellation. If
2057// the context is nil a panic will occur. In the future the SDK may create
2058// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2059// for more information on using Contexts.
2060func (c *CodeBuild) ListReportsForReportGroupWithContext(ctx aws.Context, input *ListReportsForReportGroupInput, opts ...request.Option) (*ListReportsForReportGroupOutput, error) {
2061	req, out := c.ListReportsForReportGroupRequest(input)
2062	req.SetContext(ctx)
2063	req.ApplyOptions(opts...)
2064	return out, req.Send()
2065}
2066
2067const opListSharedProjects = "ListSharedProjects"
2068
2069// ListSharedProjectsRequest generates a "aws/request.Request" representing the
2070// client's request for the ListSharedProjects operation. The "output" return
2071// value will be populated with the request's response once the request completes
2072// successfully.
2073//
2074// Use "Send" method on the returned Request to send the API call to the service.
2075// the "output" return value is not valid until after Send returns without error.
2076//
2077// See ListSharedProjects for more information on using the ListSharedProjects
2078// API call, and error handling.
2079//
2080// This method is useful when you want to inject custom logic or configuration
2081// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2082//
2083//
2084//    // Example sending a request using the ListSharedProjectsRequest method.
2085//    req, resp := client.ListSharedProjectsRequest(params)
2086//
2087//    err := req.Send()
2088//    if err == nil { // resp is now filled
2089//        fmt.Println(resp)
2090//    }
2091//
2092// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSharedProjects
2093func (c *CodeBuild) ListSharedProjectsRequest(input *ListSharedProjectsInput) (req *request.Request, output *ListSharedProjectsOutput) {
2094	op := &request.Operation{
2095		Name:       opListSharedProjects,
2096		HTTPMethod: "POST",
2097		HTTPPath:   "/",
2098	}
2099
2100	if input == nil {
2101		input = &ListSharedProjectsInput{}
2102	}
2103
2104	output = &ListSharedProjectsOutput{}
2105	req = c.newRequest(op, input, output)
2106	return
2107}
2108
2109// ListSharedProjects API operation for AWS CodeBuild.
2110//
2111// Gets a list of projects that are shared with other AWS accounts or users.
2112//
2113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2114// with awserr.Error's Code and Message methods to get detailed information about
2115// the error.
2116//
2117// See the AWS API reference guide for AWS CodeBuild's
2118// API operation ListSharedProjects for usage and error information.
2119//
2120// Returned Error Codes:
2121//   * ErrCodeInvalidInputException "InvalidInputException"
2122//   The input value that was provided is not valid.
2123//
2124// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSharedProjects
2125func (c *CodeBuild) ListSharedProjects(input *ListSharedProjectsInput) (*ListSharedProjectsOutput, error) {
2126	req, out := c.ListSharedProjectsRequest(input)
2127	return out, req.Send()
2128}
2129
2130// ListSharedProjectsWithContext is the same as ListSharedProjects with the addition of
2131// the ability to pass a context and additional request options.
2132//
2133// See ListSharedProjects for details on how to use this API operation.
2134//
2135// The context must be non-nil and will be used for request cancellation. If
2136// the context is nil a panic will occur. In the future the SDK may create
2137// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2138// for more information on using Contexts.
2139func (c *CodeBuild) ListSharedProjectsWithContext(ctx aws.Context, input *ListSharedProjectsInput, opts ...request.Option) (*ListSharedProjectsOutput, error) {
2140	req, out := c.ListSharedProjectsRequest(input)
2141	req.SetContext(ctx)
2142	req.ApplyOptions(opts...)
2143	return out, req.Send()
2144}
2145
2146const opListSharedReportGroups = "ListSharedReportGroups"
2147
2148// ListSharedReportGroupsRequest generates a "aws/request.Request" representing the
2149// client's request for the ListSharedReportGroups operation. The "output" return
2150// value will be populated with the request's response once the request completes
2151// successfully.
2152//
2153// Use "Send" method on the returned Request to send the API call to the service.
2154// the "output" return value is not valid until after Send returns without error.
2155//
2156// See ListSharedReportGroups for more information on using the ListSharedReportGroups
2157// API call, and error handling.
2158//
2159// This method is useful when you want to inject custom logic or configuration
2160// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2161//
2162//
2163//    // Example sending a request using the ListSharedReportGroupsRequest method.
2164//    req, resp := client.ListSharedReportGroupsRequest(params)
2165//
2166//    err := req.Send()
2167//    if err == nil { // resp is now filled
2168//        fmt.Println(resp)
2169//    }
2170//
2171// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSharedReportGroups
2172func (c *CodeBuild) ListSharedReportGroupsRequest(input *ListSharedReportGroupsInput) (req *request.Request, output *ListSharedReportGroupsOutput) {
2173	op := &request.Operation{
2174		Name:       opListSharedReportGroups,
2175		HTTPMethod: "POST",
2176		HTTPPath:   "/",
2177	}
2178
2179	if input == nil {
2180		input = &ListSharedReportGroupsInput{}
2181	}
2182
2183	output = &ListSharedReportGroupsOutput{}
2184	req = c.newRequest(op, input, output)
2185	return
2186}
2187
2188// ListSharedReportGroups API operation for AWS CodeBuild.
2189//
2190// Gets a list of report groups that are shared with other AWS accounts or users.
2191//
2192// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2193// with awserr.Error's Code and Message methods to get detailed information about
2194// the error.
2195//
2196// See the AWS API reference guide for AWS CodeBuild's
2197// API operation ListSharedReportGroups for usage and error information.
2198//
2199// Returned Error Codes:
2200//   * ErrCodeInvalidInputException "InvalidInputException"
2201//   The input value that was provided is not valid.
2202//
2203// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSharedReportGroups
2204func (c *CodeBuild) ListSharedReportGroups(input *ListSharedReportGroupsInput) (*ListSharedReportGroupsOutput, error) {
2205	req, out := c.ListSharedReportGroupsRequest(input)
2206	return out, req.Send()
2207}
2208
2209// ListSharedReportGroupsWithContext is the same as ListSharedReportGroups with the addition of
2210// the ability to pass a context and additional request options.
2211//
2212// See ListSharedReportGroups for details on how to use this API operation.
2213//
2214// The context must be non-nil and will be used for request cancellation. If
2215// the context is nil a panic will occur. In the future the SDK may create
2216// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2217// for more information on using Contexts.
2218func (c *CodeBuild) ListSharedReportGroupsWithContext(ctx aws.Context, input *ListSharedReportGroupsInput, opts ...request.Option) (*ListSharedReportGroupsOutput, error) {
2219	req, out := c.ListSharedReportGroupsRequest(input)
2220	req.SetContext(ctx)
2221	req.ApplyOptions(opts...)
2222	return out, req.Send()
2223}
2224
2225const opListSourceCredentials = "ListSourceCredentials"
2226
2227// ListSourceCredentialsRequest generates a "aws/request.Request" representing the
2228// client's request for the ListSourceCredentials operation. The "output" return
2229// value will be populated with the request's response once the request completes
2230// successfully.
2231//
2232// Use "Send" method on the returned Request to send the API call to the service.
2233// the "output" return value is not valid until after Send returns without error.
2234//
2235// See ListSourceCredentials for more information on using the ListSourceCredentials
2236// API call, and error handling.
2237//
2238// This method is useful when you want to inject custom logic or configuration
2239// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2240//
2241//
2242//    // Example sending a request using the ListSourceCredentialsRequest method.
2243//    req, resp := client.ListSourceCredentialsRequest(params)
2244//
2245//    err := req.Send()
2246//    if err == nil { // resp is now filled
2247//        fmt.Println(resp)
2248//    }
2249//
2250// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSourceCredentials
2251func (c *CodeBuild) ListSourceCredentialsRequest(input *ListSourceCredentialsInput) (req *request.Request, output *ListSourceCredentialsOutput) {
2252	op := &request.Operation{
2253		Name:       opListSourceCredentials,
2254		HTTPMethod: "POST",
2255		HTTPPath:   "/",
2256	}
2257
2258	if input == nil {
2259		input = &ListSourceCredentialsInput{}
2260	}
2261
2262	output = &ListSourceCredentialsOutput{}
2263	req = c.newRequest(op, input, output)
2264	return
2265}
2266
2267// ListSourceCredentials API operation for AWS CodeBuild.
2268//
2269// Returns a list of SourceCredentialsInfo objects.
2270//
2271// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2272// with awserr.Error's Code and Message methods to get detailed information about
2273// the error.
2274//
2275// See the AWS API reference guide for AWS CodeBuild's
2276// API operation ListSourceCredentials for usage and error information.
2277// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSourceCredentials
2278func (c *CodeBuild) ListSourceCredentials(input *ListSourceCredentialsInput) (*ListSourceCredentialsOutput, error) {
2279	req, out := c.ListSourceCredentialsRequest(input)
2280	return out, req.Send()
2281}
2282
2283// ListSourceCredentialsWithContext is the same as ListSourceCredentials with the addition of
2284// the ability to pass a context and additional request options.
2285//
2286// See ListSourceCredentials for details on how to use this API operation.
2287//
2288// The context must be non-nil and will be used for request cancellation. If
2289// the context is nil a panic will occur. In the future the SDK may create
2290// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2291// for more information on using Contexts.
2292func (c *CodeBuild) ListSourceCredentialsWithContext(ctx aws.Context, input *ListSourceCredentialsInput, opts ...request.Option) (*ListSourceCredentialsOutput, error) {
2293	req, out := c.ListSourceCredentialsRequest(input)
2294	req.SetContext(ctx)
2295	req.ApplyOptions(opts...)
2296	return out, req.Send()
2297}
2298
2299const opPutResourcePolicy = "PutResourcePolicy"
2300
2301// PutResourcePolicyRequest generates a "aws/request.Request" representing the
2302// client's request for the PutResourcePolicy operation. The "output" return
2303// value will be populated with the request's response once the request completes
2304// successfully.
2305//
2306// Use "Send" method on the returned Request to send the API call to the service.
2307// the "output" return value is not valid until after Send returns without error.
2308//
2309// See PutResourcePolicy for more information on using the PutResourcePolicy
2310// API call, and error handling.
2311//
2312// This method is useful when you want to inject custom logic or configuration
2313// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2314//
2315//
2316//    // Example sending a request using the PutResourcePolicyRequest method.
2317//    req, resp := client.PutResourcePolicyRequest(params)
2318//
2319//    err := req.Send()
2320//    if err == nil { // resp is now filled
2321//        fmt.Println(resp)
2322//    }
2323//
2324// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/PutResourcePolicy
2325func (c *CodeBuild) PutResourcePolicyRequest(input *PutResourcePolicyInput) (req *request.Request, output *PutResourcePolicyOutput) {
2326	op := &request.Operation{
2327		Name:       opPutResourcePolicy,
2328		HTTPMethod: "POST",
2329		HTTPPath:   "/",
2330	}
2331
2332	if input == nil {
2333		input = &PutResourcePolicyInput{}
2334	}
2335
2336	output = &PutResourcePolicyOutput{}
2337	req = c.newRequest(op, input, output)
2338	return
2339}
2340
2341// PutResourcePolicy API operation for AWS CodeBuild.
2342//
2343// Stores a resource policy for the ARN of a Project or ReportGroup object.
2344//
2345// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2346// with awserr.Error's Code and Message methods to get detailed information about
2347// the error.
2348//
2349// See the AWS API reference guide for AWS CodeBuild's
2350// API operation PutResourcePolicy for usage and error information.
2351//
2352// Returned Error Codes:
2353//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2354//   The specified AWS resource cannot be found.
2355//
2356//   * ErrCodeInvalidInputException "InvalidInputException"
2357//   The input value that was provided is not valid.
2358//
2359// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/PutResourcePolicy
2360func (c *CodeBuild) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) {
2361	req, out := c.PutResourcePolicyRequest(input)
2362	return out, req.Send()
2363}
2364
2365// PutResourcePolicyWithContext is the same as PutResourcePolicy with the addition of
2366// the ability to pass a context and additional request options.
2367//
2368// See PutResourcePolicy for details on how to use this API operation.
2369//
2370// The context must be non-nil and will be used for request cancellation. If
2371// the context is nil a panic will occur. In the future the SDK may create
2372// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2373// for more information on using Contexts.
2374func (c *CodeBuild) PutResourcePolicyWithContext(ctx aws.Context, input *PutResourcePolicyInput, opts ...request.Option) (*PutResourcePolicyOutput, error) {
2375	req, out := c.PutResourcePolicyRequest(input)
2376	req.SetContext(ctx)
2377	req.ApplyOptions(opts...)
2378	return out, req.Send()
2379}
2380
2381const opStartBuild = "StartBuild"
2382
2383// StartBuildRequest generates a "aws/request.Request" representing the
2384// client's request for the StartBuild operation. The "output" return
2385// value will be populated with the request's response once the request completes
2386// successfully.
2387//
2388// Use "Send" method on the returned Request to send the API call to the service.
2389// the "output" return value is not valid until after Send returns without error.
2390//
2391// See StartBuild for more information on using the StartBuild
2392// API call, and error handling.
2393//
2394// This method is useful when you want to inject custom logic or configuration
2395// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2396//
2397//
2398//    // Example sending a request using the StartBuildRequest method.
2399//    req, resp := client.StartBuildRequest(params)
2400//
2401//    err := req.Send()
2402//    if err == nil { // resp is now filled
2403//        fmt.Println(resp)
2404//    }
2405//
2406// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StartBuild
2407func (c *CodeBuild) StartBuildRequest(input *StartBuildInput) (req *request.Request, output *StartBuildOutput) {
2408	op := &request.Operation{
2409		Name:       opStartBuild,
2410		HTTPMethod: "POST",
2411		HTTPPath:   "/",
2412	}
2413
2414	if input == nil {
2415		input = &StartBuildInput{}
2416	}
2417
2418	output = &StartBuildOutput{}
2419	req = c.newRequest(op, input, output)
2420	return
2421}
2422
2423// StartBuild API operation for AWS CodeBuild.
2424//
2425// Starts running a build.
2426//
2427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2428// with awserr.Error's Code and Message methods to get detailed information about
2429// the error.
2430//
2431// See the AWS API reference guide for AWS CodeBuild's
2432// API operation StartBuild for usage and error information.
2433//
2434// Returned Error Codes:
2435//   * ErrCodeInvalidInputException "InvalidInputException"
2436//   The input value that was provided is not valid.
2437//
2438//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2439//   The specified AWS resource cannot be found.
2440//
2441//   * ErrCodeAccountLimitExceededException "AccountLimitExceededException"
2442//   An AWS service limit was exceeded for the calling AWS account.
2443//
2444// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StartBuild
2445func (c *CodeBuild) StartBuild(input *StartBuildInput) (*StartBuildOutput, error) {
2446	req, out := c.StartBuildRequest(input)
2447	return out, req.Send()
2448}
2449
2450// StartBuildWithContext is the same as StartBuild with the addition of
2451// the ability to pass a context and additional request options.
2452//
2453// See StartBuild for details on how to use this API operation.
2454//
2455// The context must be non-nil and will be used for request cancellation. If
2456// the context is nil a panic will occur. In the future the SDK may create
2457// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2458// for more information on using Contexts.
2459func (c *CodeBuild) StartBuildWithContext(ctx aws.Context, input *StartBuildInput, opts ...request.Option) (*StartBuildOutput, error) {
2460	req, out := c.StartBuildRequest(input)
2461	req.SetContext(ctx)
2462	req.ApplyOptions(opts...)
2463	return out, req.Send()
2464}
2465
2466const opStopBuild = "StopBuild"
2467
2468// StopBuildRequest generates a "aws/request.Request" representing the
2469// client's request for the StopBuild operation. The "output" return
2470// value will be populated with the request's response once the request completes
2471// successfully.
2472//
2473// Use "Send" method on the returned Request to send the API call to the service.
2474// the "output" return value is not valid until after Send returns without error.
2475//
2476// See StopBuild for more information on using the StopBuild
2477// API call, and error handling.
2478//
2479// This method is useful when you want to inject custom logic or configuration
2480// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2481//
2482//
2483//    // Example sending a request using the StopBuildRequest method.
2484//    req, resp := client.StopBuildRequest(params)
2485//
2486//    err := req.Send()
2487//    if err == nil { // resp is now filled
2488//        fmt.Println(resp)
2489//    }
2490//
2491// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StopBuild
2492func (c *CodeBuild) StopBuildRequest(input *StopBuildInput) (req *request.Request, output *StopBuildOutput) {
2493	op := &request.Operation{
2494		Name:       opStopBuild,
2495		HTTPMethod: "POST",
2496		HTTPPath:   "/",
2497	}
2498
2499	if input == nil {
2500		input = &StopBuildInput{}
2501	}
2502
2503	output = &StopBuildOutput{}
2504	req = c.newRequest(op, input, output)
2505	return
2506}
2507
2508// StopBuild API operation for AWS CodeBuild.
2509//
2510// Attempts to stop running a build.
2511//
2512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2513// with awserr.Error's Code and Message methods to get detailed information about
2514// the error.
2515//
2516// See the AWS API reference guide for AWS CodeBuild's
2517// API operation StopBuild for usage and error information.
2518//
2519// Returned Error Codes:
2520//   * ErrCodeInvalidInputException "InvalidInputException"
2521//   The input value that was provided is not valid.
2522//
2523//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2524//   The specified AWS resource cannot be found.
2525//
2526// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StopBuild
2527func (c *CodeBuild) StopBuild(input *StopBuildInput) (*StopBuildOutput, error) {
2528	req, out := c.StopBuildRequest(input)
2529	return out, req.Send()
2530}
2531
2532// StopBuildWithContext is the same as StopBuild with the addition of
2533// the ability to pass a context and additional request options.
2534//
2535// See StopBuild for details on how to use this API operation.
2536//
2537// The context must be non-nil and will be used for request cancellation. If
2538// the context is nil a panic will occur. In the future the SDK may create
2539// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2540// for more information on using Contexts.
2541func (c *CodeBuild) StopBuildWithContext(ctx aws.Context, input *StopBuildInput, opts ...request.Option) (*StopBuildOutput, error) {
2542	req, out := c.StopBuildRequest(input)
2543	req.SetContext(ctx)
2544	req.ApplyOptions(opts...)
2545	return out, req.Send()
2546}
2547
2548const opUpdateProject = "UpdateProject"
2549
2550// UpdateProjectRequest generates a "aws/request.Request" representing the
2551// client's request for the UpdateProject operation. The "output" return
2552// value will be populated with the request's response once the request completes
2553// successfully.
2554//
2555// Use "Send" method on the returned Request to send the API call to the service.
2556// the "output" return value is not valid until after Send returns without error.
2557//
2558// See UpdateProject for more information on using the UpdateProject
2559// API call, and error handling.
2560//
2561// This method is useful when you want to inject custom logic or configuration
2562// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2563//
2564//
2565//    // Example sending a request using the UpdateProjectRequest method.
2566//    req, resp := client.UpdateProjectRequest(params)
2567//
2568//    err := req.Send()
2569//    if err == nil { // resp is now filled
2570//        fmt.Println(resp)
2571//    }
2572//
2573// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateProject
2574func (c *CodeBuild) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) {
2575	op := &request.Operation{
2576		Name:       opUpdateProject,
2577		HTTPMethod: "POST",
2578		HTTPPath:   "/",
2579	}
2580
2581	if input == nil {
2582		input = &UpdateProjectInput{}
2583	}
2584
2585	output = &UpdateProjectOutput{}
2586	req = c.newRequest(op, input, output)
2587	return
2588}
2589
2590// UpdateProject API operation for AWS CodeBuild.
2591//
2592// Changes the settings of a build project.
2593//
2594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2595// with awserr.Error's Code and Message methods to get detailed information about
2596// the error.
2597//
2598// See the AWS API reference guide for AWS CodeBuild's
2599// API operation UpdateProject for usage and error information.
2600//
2601// Returned Error Codes:
2602//   * ErrCodeInvalidInputException "InvalidInputException"
2603//   The input value that was provided is not valid.
2604//
2605//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2606//   The specified AWS resource cannot be found.
2607//
2608// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateProject
2609func (c *CodeBuild) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) {
2610	req, out := c.UpdateProjectRequest(input)
2611	return out, req.Send()
2612}
2613
2614// UpdateProjectWithContext is the same as UpdateProject with the addition of
2615// the ability to pass a context and additional request options.
2616//
2617// See UpdateProject for details on how to use this API operation.
2618//
2619// The context must be non-nil and will be used for request cancellation. If
2620// the context is nil a panic will occur. In the future the SDK may create
2621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2622// for more information on using Contexts.
2623func (c *CodeBuild) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) {
2624	req, out := c.UpdateProjectRequest(input)
2625	req.SetContext(ctx)
2626	req.ApplyOptions(opts...)
2627	return out, req.Send()
2628}
2629
2630const opUpdateReportGroup = "UpdateReportGroup"
2631
2632// UpdateReportGroupRequest generates a "aws/request.Request" representing the
2633// client's request for the UpdateReportGroup operation. The "output" return
2634// value will be populated with the request's response once the request completes
2635// successfully.
2636//
2637// Use "Send" method on the returned Request to send the API call to the service.
2638// the "output" return value is not valid until after Send returns without error.
2639//
2640// See UpdateReportGroup for more information on using the UpdateReportGroup
2641// API call, and error handling.
2642//
2643// This method is useful when you want to inject custom logic or configuration
2644// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2645//
2646//
2647//    // Example sending a request using the UpdateReportGroupRequest method.
2648//    req, resp := client.UpdateReportGroupRequest(params)
2649//
2650//    err := req.Send()
2651//    if err == nil { // resp is now filled
2652//        fmt.Println(resp)
2653//    }
2654//
2655// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateReportGroup
2656func (c *CodeBuild) UpdateReportGroupRequest(input *UpdateReportGroupInput) (req *request.Request, output *UpdateReportGroupOutput) {
2657	op := &request.Operation{
2658		Name:       opUpdateReportGroup,
2659		HTTPMethod: "POST",
2660		HTTPPath:   "/",
2661	}
2662
2663	if input == nil {
2664		input = &UpdateReportGroupInput{}
2665	}
2666
2667	output = &UpdateReportGroupOutput{}
2668	req = c.newRequest(op, input, output)
2669	return
2670}
2671
2672// UpdateReportGroup API operation for AWS CodeBuild.
2673//
2674// Updates a report group.
2675//
2676// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2677// with awserr.Error's Code and Message methods to get detailed information about
2678// the error.
2679//
2680// See the AWS API reference guide for AWS CodeBuild's
2681// API operation UpdateReportGroup for usage and error information.
2682//
2683// Returned Error Codes:
2684//   * ErrCodeInvalidInputException "InvalidInputException"
2685//   The input value that was provided is not valid.
2686//
2687//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2688//   The specified AWS resource cannot be found.
2689//
2690// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateReportGroup
2691func (c *CodeBuild) UpdateReportGroup(input *UpdateReportGroupInput) (*UpdateReportGroupOutput, error) {
2692	req, out := c.UpdateReportGroupRequest(input)
2693	return out, req.Send()
2694}
2695
2696// UpdateReportGroupWithContext is the same as UpdateReportGroup with the addition of
2697// the ability to pass a context and additional request options.
2698//
2699// See UpdateReportGroup for details on how to use this API operation.
2700//
2701// The context must be non-nil and will be used for request cancellation. If
2702// the context is nil a panic will occur. In the future the SDK may create
2703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2704// for more information on using Contexts.
2705func (c *CodeBuild) UpdateReportGroupWithContext(ctx aws.Context, input *UpdateReportGroupInput, opts ...request.Option) (*UpdateReportGroupOutput, error) {
2706	req, out := c.UpdateReportGroupRequest(input)
2707	req.SetContext(ctx)
2708	req.ApplyOptions(opts...)
2709	return out, req.Send()
2710}
2711
2712const opUpdateWebhook = "UpdateWebhook"
2713
2714// UpdateWebhookRequest generates a "aws/request.Request" representing the
2715// client's request for the UpdateWebhook operation. The "output" return
2716// value will be populated with the request's response once the request completes
2717// successfully.
2718//
2719// Use "Send" method on the returned Request to send the API call to the service.
2720// the "output" return value is not valid until after Send returns without error.
2721//
2722// See UpdateWebhook for more information on using the UpdateWebhook
2723// API call, and error handling.
2724//
2725// This method is useful when you want to inject custom logic or configuration
2726// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2727//
2728//
2729//    // Example sending a request using the UpdateWebhookRequest method.
2730//    req, resp := client.UpdateWebhookRequest(params)
2731//
2732//    err := req.Send()
2733//    if err == nil { // resp is now filled
2734//        fmt.Println(resp)
2735//    }
2736//
2737// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateWebhook
2738func (c *CodeBuild) UpdateWebhookRequest(input *UpdateWebhookInput) (req *request.Request, output *UpdateWebhookOutput) {
2739	op := &request.Operation{
2740		Name:       opUpdateWebhook,
2741		HTTPMethod: "POST",
2742		HTTPPath:   "/",
2743	}
2744
2745	if input == nil {
2746		input = &UpdateWebhookInput{}
2747	}
2748
2749	output = &UpdateWebhookOutput{}
2750	req = c.newRequest(op, input, output)
2751	return
2752}
2753
2754// UpdateWebhook API operation for AWS CodeBuild.
2755//
2756// Updates the webhook associated with an AWS CodeBuild build project.
2757//
2758// If you use Bitbucket for your repository, rotateSecret is ignored.
2759//
2760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2761// with awserr.Error's Code and Message methods to get detailed information about
2762// the error.
2763//
2764// See the AWS API reference guide for AWS CodeBuild's
2765// API operation UpdateWebhook for usage and error information.
2766//
2767// Returned Error Codes:
2768//   * ErrCodeInvalidInputException "InvalidInputException"
2769//   The input value that was provided is not valid.
2770//
2771//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2772//   The specified AWS resource cannot be found.
2773//
2774//   * ErrCodeOAuthProviderException "OAuthProviderException"
2775//   There was a problem with the underlying OAuth provider.
2776//
2777// See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateWebhook
2778func (c *CodeBuild) UpdateWebhook(input *UpdateWebhookInput) (*UpdateWebhookOutput, error) {
2779	req, out := c.UpdateWebhookRequest(input)
2780	return out, req.Send()
2781}
2782
2783// UpdateWebhookWithContext is the same as UpdateWebhook with the addition of
2784// the ability to pass a context and additional request options.
2785//
2786// See UpdateWebhook for details on how to use this API operation.
2787//
2788// The context must be non-nil and will be used for request cancellation. If
2789// the context is nil a panic will occur. In the future the SDK may create
2790// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2791// for more information on using Contexts.
2792func (c *CodeBuild) UpdateWebhookWithContext(ctx aws.Context, input *UpdateWebhookInput, opts ...request.Option) (*UpdateWebhookOutput, error) {
2793	req, out := c.UpdateWebhookRequest(input)
2794	req.SetContext(ctx)
2795	req.ApplyOptions(opts...)
2796	return out, req.Send()
2797}
2798
2799type BatchDeleteBuildsInput struct {
2800	_ struct{} `type:"structure"`
2801
2802	// The IDs of the builds to delete.
2803	//
2804	// Ids is a required field
2805	Ids []*string `locationName:"ids" min:"1" type:"list" required:"true"`
2806}
2807
2808// String returns the string representation
2809func (s BatchDeleteBuildsInput) String() string {
2810	return awsutil.Prettify(s)
2811}
2812
2813// GoString returns the string representation
2814func (s BatchDeleteBuildsInput) GoString() string {
2815	return s.String()
2816}
2817
2818// Validate inspects the fields of the type to determine if they are valid.
2819func (s *BatchDeleteBuildsInput) Validate() error {
2820	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteBuildsInput"}
2821	if s.Ids == nil {
2822		invalidParams.Add(request.NewErrParamRequired("Ids"))
2823	}
2824	if s.Ids != nil && len(s.Ids) < 1 {
2825		invalidParams.Add(request.NewErrParamMinLen("Ids", 1))
2826	}
2827
2828	if invalidParams.Len() > 0 {
2829		return invalidParams
2830	}
2831	return nil
2832}
2833
2834// SetIds sets the Ids field's value.
2835func (s *BatchDeleteBuildsInput) SetIds(v []*string) *BatchDeleteBuildsInput {
2836	s.Ids = v
2837	return s
2838}
2839
2840type BatchDeleteBuildsOutput struct {
2841	_ struct{} `type:"structure"`
2842
2843	// The IDs of the builds that were successfully deleted.
2844	BuildsDeleted []*string `locationName:"buildsDeleted" min:"1" type:"list"`
2845
2846	// Information about any builds that could not be successfully deleted.
2847	BuildsNotDeleted []*BuildNotDeleted `locationName:"buildsNotDeleted" type:"list"`
2848}
2849
2850// String returns the string representation
2851func (s BatchDeleteBuildsOutput) String() string {
2852	return awsutil.Prettify(s)
2853}
2854
2855// GoString returns the string representation
2856func (s BatchDeleteBuildsOutput) GoString() string {
2857	return s.String()
2858}
2859
2860// SetBuildsDeleted sets the BuildsDeleted field's value.
2861func (s *BatchDeleteBuildsOutput) SetBuildsDeleted(v []*string) *BatchDeleteBuildsOutput {
2862	s.BuildsDeleted = v
2863	return s
2864}
2865
2866// SetBuildsNotDeleted sets the BuildsNotDeleted field's value.
2867func (s *BatchDeleteBuildsOutput) SetBuildsNotDeleted(v []*BuildNotDeleted) *BatchDeleteBuildsOutput {
2868	s.BuildsNotDeleted = v
2869	return s
2870}
2871
2872type BatchGetBuildsInput struct {
2873	_ struct{} `type:"structure"`
2874
2875	// The IDs of the builds.
2876	//
2877	// Ids is a required field
2878	Ids []*string `locationName:"ids" min:"1" type:"list" required:"true"`
2879}
2880
2881// String returns the string representation
2882func (s BatchGetBuildsInput) String() string {
2883	return awsutil.Prettify(s)
2884}
2885
2886// GoString returns the string representation
2887func (s BatchGetBuildsInput) GoString() string {
2888	return s.String()
2889}
2890
2891// Validate inspects the fields of the type to determine if they are valid.
2892func (s *BatchGetBuildsInput) Validate() error {
2893	invalidParams := request.ErrInvalidParams{Context: "BatchGetBuildsInput"}
2894	if s.Ids == nil {
2895		invalidParams.Add(request.NewErrParamRequired("Ids"))
2896	}
2897	if s.Ids != nil && len(s.Ids) < 1 {
2898		invalidParams.Add(request.NewErrParamMinLen("Ids", 1))
2899	}
2900
2901	if invalidParams.Len() > 0 {
2902		return invalidParams
2903	}
2904	return nil
2905}
2906
2907// SetIds sets the Ids field's value.
2908func (s *BatchGetBuildsInput) SetIds(v []*string) *BatchGetBuildsInput {
2909	s.Ids = v
2910	return s
2911}
2912
2913type BatchGetBuildsOutput struct {
2914	_ struct{} `type:"structure"`
2915
2916	// Information about the requested builds.
2917	Builds []*Build `locationName:"builds" type:"list"`
2918
2919	// The IDs of builds for which information could not be found.
2920	BuildsNotFound []*string `locationName:"buildsNotFound" min:"1" type:"list"`
2921}
2922
2923// String returns the string representation
2924func (s BatchGetBuildsOutput) String() string {
2925	return awsutil.Prettify(s)
2926}
2927
2928// GoString returns the string representation
2929func (s BatchGetBuildsOutput) GoString() string {
2930	return s.String()
2931}
2932
2933// SetBuilds sets the Builds field's value.
2934func (s *BatchGetBuildsOutput) SetBuilds(v []*Build) *BatchGetBuildsOutput {
2935	s.Builds = v
2936	return s
2937}
2938
2939// SetBuildsNotFound sets the BuildsNotFound field's value.
2940func (s *BatchGetBuildsOutput) SetBuildsNotFound(v []*string) *BatchGetBuildsOutput {
2941	s.BuildsNotFound = v
2942	return s
2943}
2944
2945type BatchGetProjectsInput struct {
2946	_ struct{} `type:"structure"`
2947
2948	// The names or ARNs of the build projects. To get information about a project
2949	// shared with your AWS account, its ARN must be specified. You cannot specify
2950	// a shared project using its name.
2951	//
2952	// Names is a required field
2953	Names []*string `locationName:"names" min:"1" type:"list" required:"true"`
2954}
2955
2956// String returns the string representation
2957func (s BatchGetProjectsInput) String() string {
2958	return awsutil.Prettify(s)
2959}
2960
2961// GoString returns the string representation
2962func (s BatchGetProjectsInput) GoString() string {
2963	return s.String()
2964}
2965
2966// Validate inspects the fields of the type to determine if they are valid.
2967func (s *BatchGetProjectsInput) Validate() error {
2968	invalidParams := request.ErrInvalidParams{Context: "BatchGetProjectsInput"}
2969	if s.Names == nil {
2970		invalidParams.Add(request.NewErrParamRequired("Names"))
2971	}
2972	if s.Names != nil && len(s.Names) < 1 {
2973		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
2974	}
2975
2976	if invalidParams.Len() > 0 {
2977		return invalidParams
2978	}
2979	return nil
2980}
2981
2982// SetNames sets the Names field's value.
2983func (s *BatchGetProjectsInput) SetNames(v []*string) *BatchGetProjectsInput {
2984	s.Names = v
2985	return s
2986}
2987
2988type BatchGetProjectsOutput struct {
2989	_ struct{} `type:"structure"`
2990
2991	// Information about the requested build projects.
2992	Projects []*Project `locationName:"projects" type:"list"`
2993
2994	// The names of build projects for which information could not be found.
2995	ProjectsNotFound []*string `locationName:"projectsNotFound" min:"1" type:"list"`
2996}
2997
2998// String returns the string representation
2999func (s BatchGetProjectsOutput) String() string {
3000	return awsutil.Prettify(s)
3001}
3002
3003// GoString returns the string representation
3004func (s BatchGetProjectsOutput) GoString() string {
3005	return s.String()
3006}
3007
3008// SetProjects sets the Projects field's value.
3009func (s *BatchGetProjectsOutput) SetProjects(v []*Project) *BatchGetProjectsOutput {
3010	s.Projects = v
3011	return s
3012}
3013
3014// SetProjectsNotFound sets the ProjectsNotFound field's value.
3015func (s *BatchGetProjectsOutput) SetProjectsNotFound(v []*string) *BatchGetProjectsOutput {
3016	s.ProjectsNotFound = v
3017	return s
3018}
3019
3020type BatchGetReportGroupsInput struct {
3021	_ struct{} `type:"structure"`
3022
3023	// An array of report group ARNs that identify the report groups to return.
3024	//
3025	// ReportGroupArns is a required field
3026	ReportGroupArns []*string `locationName:"reportGroupArns" min:"1" type:"list" required:"true"`
3027}
3028
3029// String returns the string representation
3030func (s BatchGetReportGroupsInput) String() string {
3031	return awsutil.Prettify(s)
3032}
3033
3034// GoString returns the string representation
3035func (s BatchGetReportGroupsInput) GoString() string {
3036	return s.String()
3037}
3038
3039// Validate inspects the fields of the type to determine if they are valid.
3040func (s *BatchGetReportGroupsInput) Validate() error {
3041	invalidParams := request.ErrInvalidParams{Context: "BatchGetReportGroupsInput"}
3042	if s.ReportGroupArns == nil {
3043		invalidParams.Add(request.NewErrParamRequired("ReportGroupArns"))
3044	}
3045	if s.ReportGroupArns != nil && len(s.ReportGroupArns) < 1 {
3046		invalidParams.Add(request.NewErrParamMinLen("ReportGroupArns", 1))
3047	}
3048
3049	if invalidParams.Len() > 0 {
3050		return invalidParams
3051	}
3052	return nil
3053}
3054
3055// SetReportGroupArns sets the ReportGroupArns field's value.
3056func (s *BatchGetReportGroupsInput) SetReportGroupArns(v []*string) *BatchGetReportGroupsInput {
3057	s.ReportGroupArns = v
3058	return s
3059}
3060
3061type BatchGetReportGroupsOutput struct {
3062	_ struct{} `type:"structure"`
3063
3064	// The array of report groups returned by BatchGetReportGroups.
3065	ReportGroups []*ReportGroup `locationName:"reportGroups" min:"1" type:"list"`
3066
3067	// An array of ARNs passed to BatchGetReportGroups that are not associated with
3068	// a ReportGroup.
3069	ReportGroupsNotFound []*string `locationName:"reportGroupsNotFound" min:"1" type:"list"`
3070}
3071
3072// String returns the string representation
3073func (s BatchGetReportGroupsOutput) String() string {
3074	return awsutil.Prettify(s)
3075}
3076
3077// GoString returns the string representation
3078func (s BatchGetReportGroupsOutput) GoString() string {
3079	return s.String()
3080}
3081
3082// SetReportGroups sets the ReportGroups field's value.
3083func (s *BatchGetReportGroupsOutput) SetReportGroups(v []*ReportGroup) *BatchGetReportGroupsOutput {
3084	s.ReportGroups = v
3085	return s
3086}
3087
3088// SetReportGroupsNotFound sets the ReportGroupsNotFound field's value.
3089func (s *BatchGetReportGroupsOutput) SetReportGroupsNotFound(v []*string) *BatchGetReportGroupsOutput {
3090	s.ReportGroupsNotFound = v
3091	return s
3092}
3093
3094type BatchGetReportsInput struct {
3095	_ struct{} `type:"structure"`
3096
3097	// An array of ARNs that identify the Report objects to return.
3098	//
3099	// ReportArns is a required field
3100	ReportArns []*string `locationName:"reportArns" min:"1" type:"list" required:"true"`
3101}
3102
3103// String returns the string representation
3104func (s BatchGetReportsInput) String() string {
3105	return awsutil.Prettify(s)
3106}
3107
3108// GoString returns the string representation
3109func (s BatchGetReportsInput) GoString() string {
3110	return s.String()
3111}
3112
3113// Validate inspects the fields of the type to determine if they are valid.
3114func (s *BatchGetReportsInput) Validate() error {
3115	invalidParams := request.ErrInvalidParams{Context: "BatchGetReportsInput"}
3116	if s.ReportArns == nil {
3117		invalidParams.Add(request.NewErrParamRequired("ReportArns"))
3118	}
3119	if s.ReportArns != nil && len(s.ReportArns) < 1 {
3120		invalidParams.Add(request.NewErrParamMinLen("ReportArns", 1))
3121	}
3122
3123	if invalidParams.Len() > 0 {
3124		return invalidParams
3125	}
3126	return nil
3127}
3128
3129// SetReportArns sets the ReportArns field's value.
3130func (s *BatchGetReportsInput) SetReportArns(v []*string) *BatchGetReportsInput {
3131	s.ReportArns = v
3132	return s
3133}
3134
3135type BatchGetReportsOutput struct {
3136	_ struct{} `type:"structure"`
3137
3138	// The array of Report objects returned by BatchGetReports.
3139	Reports []*Report `locationName:"reports" min:"1" type:"list"`
3140
3141	// An array of ARNs passed to BatchGetReportGroups that are not associated with
3142	// a Report.
3143	ReportsNotFound []*string `locationName:"reportsNotFound" min:"1" type:"list"`
3144}
3145
3146// String returns the string representation
3147func (s BatchGetReportsOutput) String() string {
3148	return awsutil.Prettify(s)
3149}
3150
3151// GoString returns the string representation
3152func (s BatchGetReportsOutput) GoString() string {
3153	return s.String()
3154}
3155
3156// SetReports sets the Reports field's value.
3157func (s *BatchGetReportsOutput) SetReports(v []*Report) *BatchGetReportsOutput {
3158	s.Reports = v
3159	return s
3160}
3161
3162// SetReportsNotFound sets the ReportsNotFound field's value.
3163func (s *BatchGetReportsOutput) SetReportsNotFound(v []*string) *BatchGetReportsOutput {
3164	s.ReportsNotFound = v
3165	return s
3166}
3167
3168// Information about a build.
3169type Build struct {
3170	_ struct{} `type:"structure"`
3171
3172	// The Amazon Resource Name (ARN) of the build.
3173	Arn *string `locationName:"arn" min:"1" type:"string"`
3174
3175	// Information about the output artifacts for the build.
3176	Artifacts *BuildArtifacts `locationName:"artifacts" type:"structure"`
3177
3178	// Whether the build is complete. True if complete; otherwise, false.
3179	BuildComplete *bool `locationName:"buildComplete" type:"boolean"`
3180
3181	// The number of the build. For each project, the buildNumber of its first build
3182	// is 1. The buildNumber of each subsequent build is incremented by 1. If a
3183	// build is deleted, the buildNumber of other builds does not change.
3184	BuildNumber *int64 `locationName:"buildNumber" type:"long"`
3185
3186	// The current status of the build. Valid values include:
3187	//
3188	//    * FAILED: The build failed.
3189	//
3190	//    * FAULT: The build faulted.
3191	//
3192	//    * IN_PROGRESS: The build is still in progress.
3193	//
3194	//    * STOPPED: The build stopped.
3195	//
3196	//    * SUCCEEDED: The build succeeded.
3197	//
3198	//    * TIMED_OUT: The build timed out.
3199	BuildStatus *string `locationName:"buildStatus" type:"string" enum:"StatusType"`
3200
3201	// Information about the cache for the build.
3202	Cache *ProjectCache `locationName:"cache" type:"structure"`
3203
3204	// The current build phase.
3205	CurrentPhase *string `locationName:"currentPhase" type:"string"`
3206
3207	// The AWS Key Management Service (AWS KMS) customer master key (CMK) to be
3208	// used for encrypting the build output artifacts.
3209	//
3210	// You can use a cross-account KMS key to encrypt the build output artifacts
3211	// if your service role has permission to that key.
3212	//
3213	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
3214	// the CMK's alias (using the format alias/alias-name ).
3215	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
3216
3217	// When the build process ended, expressed in Unix time format.
3218	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
3219
3220	// Information about the build environment for this build.
3221	Environment *ProjectEnvironment `locationName:"environment" type:"structure"`
3222
3223	// A list of exported environment variables for this build.
3224	ExportedEnvironmentVariables []*ExportedEnvironmentVariable `locationName:"exportedEnvironmentVariables" type:"list"`
3225
3226	// The unique ID for the build.
3227	Id *string `locationName:"id" min:"1" type:"string"`
3228
3229	// The entity that started the build. Valid values include:
3230	//
3231	//    * If AWS CodePipeline started the build, the pipeline's name (for example,
3232	//    codepipeline/my-demo-pipeline).
3233	//
3234	//    * If an AWS Identity and Access Management (IAM) user started the build,
3235	//    the user's name (for example, MyUserName).
3236	//
3237	//    * If the Jenkins plugin for AWS CodeBuild started the build, the string
3238	//    CodeBuild-Jenkins-Plugin.
3239	Initiator *string `locationName:"initiator" type:"string"`
3240
3241	// Information about the build's logs in Amazon CloudWatch Logs.
3242	Logs *LogsLocation `locationName:"logs" type:"structure"`
3243
3244	// Describes a network interface.
3245	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
3246
3247	// Information about all previous build phases that are complete and information
3248	// about any current build phase that is not yet complete.
3249	Phases []*BuildPhase `locationName:"phases" type:"list"`
3250
3251	// The name of the AWS CodeBuild project.
3252	ProjectName *string `locationName:"projectName" min:"1" type:"string"`
3253
3254	// The number of minutes a build is allowed to be queued before it times out.
3255	QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" type:"integer"`
3256
3257	// An array of the ARNs associated with this build's reports.
3258	ReportArns []*string `locationName:"reportArns" type:"list"`
3259
3260	// An identifier for the version of this build's source code.
3261	//
3262	//    * For AWS CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit
3263	//    ID.
3264	//
3265	//    * For AWS CodePipeline, the source revision provided by AWS CodePipeline.
3266	//
3267	//    * For Amazon Simple Storage Service (Amazon S3), this does not apply.
3268	ResolvedSourceVersion *string `locationName:"resolvedSourceVersion" min:"1" type:"string"`
3269
3270	// An array of ProjectArtifacts objects.
3271	SecondaryArtifacts []*BuildArtifacts `locationName:"secondaryArtifacts" type:"list"`
3272
3273	// An array of ProjectSourceVersion objects. Each ProjectSourceVersion must
3274	// be one of:
3275	//
3276	//    * For AWS CodeCommit: the commit ID, branch, or Git tag to use.
3277	//
3278	//    * For GitHub: the commit ID, pull request ID, branch name, or tag name
3279	//    that corresponds to the version of the source code you want to build.
3280	//    If a pull request ID is specified, it must use the format pr/pull-request-ID
3281	//    (for example, pr/25). If a branch name is specified, the branch's HEAD
3282	//    commit ID is used. If not specified, the default branch's HEAD commit
3283	//    ID is used.
3284	//
3285	//    * For Bitbucket: the commit ID, branch name, or tag name that corresponds
3286	//    to the version of the source code you want to build. If a branch name
3287	//    is specified, the branch's HEAD commit ID is used. If not specified, the
3288	//    default branch's HEAD commit ID is used.
3289	//
3290	//    * For Amazon Simple Storage Service (Amazon S3): the version ID of the
3291	//    object that represents the build input ZIP file to use.
3292	SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"`
3293
3294	// An array of ProjectSource objects.
3295	SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"`
3296
3297	// The name of a service role used for this build.
3298	ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"`
3299
3300	// Information about the source code to be built.
3301	Source *ProjectSource `locationName:"source" type:"structure"`
3302
3303	// Any version identifier for the version of the source code to be built. If
3304	// sourceVersion is specified at the project level, then this sourceVersion
3305	// (at the build level) takes precedence.
3306	//
3307	// For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html)
3308	// in the AWS CodeBuild User Guide.
3309	SourceVersion *string `locationName:"sourceVersion" min:"1" type:"string"`
3310
3311	// When the build process started, expressed in Unix time format.
3312	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
3313
3314	// How long, in minutes, for AWS CodeBuild to wait before timing out this build
3315	// if it does not get marked as completed.
3316	TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" type:"integer"`
3317
3318	// If your AWS CodeBuild project accesses resources in an Amazon VPC, you provide
3319	// this parameter that identifies the VPC ID and the list of security group
3320	// IDs and subnet IDs. The security groups and subnets must belong to the same
3321	// VPC. You must provide at least one security group and one subnet ID.
3322	VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"`
3323}
3324
3325// String returns the string representation
3326func (s Build) String() string {
3327	return awsutil.Prettify(s)
3328}
3329
3330// GoString returns the string representation
3331func (s Build) GoString() string {
3332	return s.String()
3333}
3334
3335// SetArn sets the Arn field's value.
3336func (s *Build) SetArn(v string) *Build {
3337	s.Arn = &v
3338	return s
3339}
3340
3341// SetArtifacts sets the Artifacts field's value.
3342func (s *Build) SetArtifacts(v *BuildArtifacts) *Build {
3343	s.Artifacts = v
3344	return s
3345}
3346
3347// SetBuildComplete sets the BuildComplete field's value.
3348func (s *Build) SetBuildComplete(v bool) *Build {
3349	s.BuildComplete = &v
3350	return s
3351}
3352
3353// SetBuildNumber sets the BuildNumber field's value.
3354func (s *Build) SetBuildNumber(v int64) *Build {
3355	s.BuildNumber = &v
3356	return s
3357}
3358
3359// SetBuildStatus sets the BuildStatus field's value.
3360func (s *Build) SetBuildStatus(v string) *Build {
3361	s.BuildStatus = &v
3362	return s
3363}
3364
3365// SetCache sets the Cache field's value.
3366func (s *Build) SetCache(v *ProjectCache) *Build {
3367	s.Cache = v
3368	return s
3369}
3370
3371// SetCurrentPhase sets the CurrentPhase field's value.
3372func (s *Build) SetCurrentPhase(v string) *Build {
3373	s.CurrentPhase = &v
3374	return s
3375}
3376
3377// SetEncryptionKey sets the EncryptionKey field's value.
3378func (s *Build) SetEncryptionKey(v string) *Build {
3379	s.EncryptionKey = &v
3380	return s
3381}
3382
3383// SetEndTime sets the EndTime field's value.
3384func (s *Build) SetEndTime(v time.Time) *Build {
3385	s.EndTime = &v
3386	return s
3387}
3388
3389// SetEnvironment sets the Environment field's value.
3390func (s *Build) SetEnvironment(v *ProjectEnvironment) *Build {
3391	s.Environment = v
3392	return s
3393}
3394
3395// SetExportedEnvironmentVariables sets the ExportedEnvironmentVariables field's value.
3396func (s *Build) SetExportedEnvironmentVariables(v []*ExportedEnvironmentVariable) *Build {
3397	s.ExportedEnvironmentVariables = v
3398	return s
3399}
3400
3401// SetId sets the Id field's value.
3402func (s *Build) SetId(v string) *Build {
3403	s.Id = &v
3404	return s
3405}
3406
3407// SetInitiator sets the Initiator field's value.
3408func (s *Build) SetInitiator(v string) *Build {
3409	s.Initiator = &v
3410	return s
3411}
3412
3413// SetLogs sets the Logs field's value.
3414func (s *Build) SetLogs(v *LogsLocation) *Build {
3415	s.Logs = v
3416	return s
3417}
3418
3419// SetNetworkInterface sets the NetworkInterface field's value.
3420func (s *Build) SetNetworkInterface(v *NetworkInterface) *Build {
3421	s.NetworkInterface = v
3422	return s
3423}
3424
3425// SetPhases sets the Phases field's value.
3426func (s *Build) SetPhases(v []*BuildPhase) *Build {
3427	s.Phases = v
3428	return s
3429}
3430
3431// SetProjectName sets the ProjectName field's value.
3432func (s *Build) SetProjectName(v string) *Build {
3433	s.ProjectName = &v
3434	return s
3435}
3436
3437// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value.
3438func (s *Build) SetQueuedTimeoutInMinutes(v int64) *Build {
3439	s.QueuedTimeoutInMinutes = &v
3440	return s
3441}
3442
3443// SetReportArns sets the ReportArns field's value.
3444func (s *Build) SetReportArns(v []*string) *Build {
3445	s.ReportArns = v
3446	return s
3447}
3448
3449// SetResolvedSourceVersion sets the ResolvedSourceVersion field's value.
3450func (s *Build) SetResolvedSourceVersion(v string) *Build {
3451	s.ResolvedSourceVersion = &v
3452	return s
3453}
3454
3455// SetSecondaryArtifacts sets the SecondaryArtifacts field's value.
3456func (s *Build) SetSecondaryArtifacts(v []*BuildArtifacts) *Build {
3457	s.SecondaryArtifacts = v
3458	return s
3459}
3460
3461// SetSecondarySourceVersions sets the SecondarySourceVersions field's value.
3462func (s *Build) SetSecondarySourceVersions(v []*ProjectSourceVersion) *Build {
3463	s.SecondarySourceVersions = v
3464	return s
3465}
3466
3467// SetSecondarySources sets the SecondarySources field's value.
3468func (s *Build) SetSecondarySources(v []*ProjectSource) *Build {
3469	s.SecondarySources = v
3470	return s
3471}
3472
3473// SetServiceRole sets the ServiceRole field's value.
3474func (s *Build) SetServiceRole(v string) *Build {
3475	s.ServiceRole = &v
3476	return s
3477}
3478
3479// SetSource sets the Source field's value.
3480func (s *Build) SetSource(v *ProjectSource) *Build {
3481	s.Source = v
3482	return s
3483}
3484
3485// SetSourceVersion sets the SourceVersion field's value.
3486func (s *Build) SetSourceVersion(v string) *Build {
3487	s.SourceVersion = &v
3488	return s
3489}
3490
3491// SetStartTime sets the StartTime field's value.
3492func (s *Build) SetStartTime(v time.Time) *Build {
3493	s.StartTime = &v
3494	return s
3495}
3496
3497// SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
3498func (s *Build) SetTimeoutInMinutes(v int64) *Build {
3499	s.TimeoutInMinutes = &v
3500	return s
3501}
3502
3503// SetVpcConfig sets the VpcConfig field's value.
3504func (s *Build) SetVpcConfig(v *VpcConfig) *Build {
3505	s.VpcConfig = v
3506	return s
3507}
3508
3509// Information about build output artifacts.
3510type BuildArtifacts struct {
3511	_ struct{} `type:"structure"`
3512
3513	// An identifier for this artifact definition.
3514	ArtifactIdentifier *string `locationName:"artifactIdentifier" type:"string"`
3515
3516	// Information that tells you if encryption for build artifacts is disabled.
3517	EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"`
3518
3519	// Information about the location of the build artifacts.
3520	Location *string `locationName:"location" type:"string"`
3521
3522	// The MD5 hash of the build artifact.
3523	//
3524	// You can use this hash along with a checksum tool to confirm file integrity
3525	// and authenticity.
3526	//
3527	// This value is available only if the build project's packaging value is set
3528	// to ZIP.
3529	Md5sum *string `locationName:"md5sum" type:"string"`
3530
3531	// If this flag is set, a name specified in the build spec file overrides the
3532	// artifact name. The name specified in a build spec file is calculated at build
3533	// time and uses the Shell Command Language. For example, you can append a date
3534	// and time to your artifact name so that it is always unique.
3535	OverrideArtifactName *bool `locationName:"overrideArtifactName" type:"boolean"`
3536
3537	// The SHA-256 hash of the build artifact.
3538	//
3539	// You can use this hash along with a checksum tool to confirm file integrity
3540	// and authenticity.
3541	//
3542	// This value is available only if the build project's packaging value is set
3543	// to ZIP.
3544	Sha256sum *string `locationName:"sha256sum" type:"string"`
3545}
3546
3547// String returns the string representation
3548func (s BuildArtifacts) String() string {
3549	return awsutil.Prettify(s)
3550}
3551
3552// GoString returns the string representation
3553func (s BuildArtifacts) GoString() string {
3554	return s.String()
3555}
3556
3557// SetArtifactIdentifier sets the ArtifactIdentifier field's value.
3558func (s *BuildArtifacts) SetArtifactIdentifier(v string) *BuildArtifacts {
3559	s.ArtifactIdentifier = &v
3560	return s
3561}
3562
3563// SetEncryptionDisabled sets the EncryptionDisabled field's value.
3564func (s *BuildArtifacts) SetEncryptionDisabled(v bool) *BuildArtifacts {
3565	s.EncryptionDisabled = &v
3566	return s
3567}
3568
3569// SetLocation sets the Location field's value.
3570func (s *BuildArtifacts) SetLocation(v string) *BuildArtifacts {
3571	s.Location = &v
3572	return s
3573}
3574
3575// SetMd5sum sets the Md5sum field's value.
3576func (s *BuildArtifacts) SetMd5sum(v string) *BuildArtifacts {
3577	s.Md5sum = &v
3578	return s
3579}
3580
3581// SetOverrideArtifactName sets the OverrideArtifactName field's value.
3582func (s *BuildArtifacts) SetOverrideArtifactName(v bool) *BuildArtifacts {
3583	s.OverrideArtifactName = &v
3584	return s
3585}
3586
3587// SetSha256sum sets the Sha256sum field's value.
3588func (s *BuildArtifacts) SetSha256sum(v string) *BuildArtifacts {
3589	s.Sha256sum = &v
3590	return s
3591}
3592
3593// Information about a build that could not be successfully deleted.
3594type BuildNotDeleted struct {
3595	_ struct{} `type:"structure"`
3596
3597	// The ID of the build that could not be successfully deleted.
3598	Id *string `locationName:"id" min:"1" type:"string"`
3599
3600	// Additional information about the build that could not be successfully deleted.
3601	StatusCode *string `locationName:"statusCode" type:"string"`
3602}
3603
3604// String returns the string representation
3605func (s BuildNotDeleted) String() string {
3606	return awsutil.Prettify(s)
3607}
3608
3609// GoString returns the string representation
3610func (s BuildNotDeleted) GoString() string {
3611	return s.String()
3612}
3613
3614// SetId sets the Id field's value.
3615func (s *BuildNotDeleted) SetId(v string) *BuildNotDeleted {
3616	s.Id = &v
3617	return s
3618}
3619
3620// SetStatusCode sets the StatusCode field's value.
3621func (s *BuildNotDeleted) SetStatusCode(v string) *BuildNotDeleted {
3622	s.StatusCode = &v
3623	return s
3624}
3625
3626// Information about a stage for a build.
3627type BuildPhase struct {
3628	_ struct{} `type:"structure"`
3629
3630	// Additional information about a build phase, especially to help troubleshoot
3631	// a failed build.
3632	Contexts []*PhaseContext `locationName:"contexts" type:"list"`
3633
3634	// How long, in seconds, between the starting and ending times of the build's
3635	// phase.
3636	DurationInSeconds *int64 `locationName:"durationInSeconds" type:"long"`
3637
3638	// When the build phase ended, expressed in Unix time format.
3639	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
3640
3641	// The current status of the build phase. Valid values include:
3642	//
3643	//    * FAILED: The build phase failed.
3644	//
3645	//    * FAULT: The build phase faulted.
3646	//
3647	//    * IN_PROGRESS: The build phase is still in progress.
3648	//
3649	//    * QUEUED: The build has been submitted and is queued behind other submitted
3650	//    builds.
3651	//
3652	//    * STOPPED: The build phase stopped.
3653	//
3654	//    * SUCCEEDED: The build phase succeeded.
3655	//
3656	//    * TIMED_OUT: The build phase timed out.
3657	PhaseStatus *string `locationName:"phaseStatus" type:"string" enum:"StatusType"`
3658
3659	// The name of the build phase. Valid values include:
3660	//
3661	//    * BUILD: Core build activities typically occur in this build phase.
3662	//
3663	//    * COMPLETED: The build has been completed.
3664	//
3665	//    * DOWNLOAD_SOURCE: Source code is being downloaded in this build phase.
3666	//
3667	//    * FINALIZING: The build process is completing in this build phase.
3668	//
3669	//    * INSTALL: Installation activities typically occur in this build phase.
3670	//
3671	//    * POST_BUILD: Post-build activities typically occur in this build phase.
3672	//
3673	//    * PRE_BUILD: Pre-build activities typically occur in this build phase.
3674	//
3675	//    * PROVISIONING: The build environment is being set up.
3676	//
3677	//    * QUEUED: The build has been submitted and is queued behind other submitted
3678	//    builds.
3679	//
3680	//    * SUBMITTED: The build has been submitted.
3681	//
3682	//    * UPLOAD_ARTIFACTS: Build output artifacts are being uploaded to the output
3683	//    location.
3684	PhaseType *string `locationName:"phaseType" type:"string" enum:"BuildPhaseType"`
3685
3686	// When the build phase started, expressed in Unix time format.
3687	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
3688}
3689
3690// String returns the string representation
3691func (s BuildPhase) String() string {
3692	return awsutil.Prettify(s)
3693}
3694
3695// GoString returns the string representation
3696func (s BuildPhase) GoString() string {
3697	return s.String()
3698}
3699
3700// SetContexts sets the Contexts field's value.
3701func (s *BuildPhase) SetContexts(v []*PhaseContext) *BuildPhase {
3702	s.Contexts = v
3703	return s
3704}
3705
3706// SetDurationInSeconds sets the DurationInSeconds field's value.
3707func (s *BuildPhase) SetDurationInSeconds(v int64) *BuildPhase {
3708	s.DurationInSeconds = &v
3709	return s
3710}
3711
3712// SetEndTime sets the EndTime field's value.
3713func (s *BuildPhase) SetEndTime(v time.Time) *BuildPhase {
3714	s.EndTime = &v
3715	return s
3716}
3717
3718// SetPhaseStatus sets the PhaseStatus field's value.
3719func (s *BuildPhase) SetPhaseStatus(v string) *BuildPhase {
3720	s.PhaseStatus = &v
3721	return s
3722}
3723
3724// SetPhaseType sets the PhaseType field's value.
3725func (s *BuildPhase) SetPhaseType(v string) *BuildPhase {
3726	s.PhaseType = &v
3727	return s
3728}
3729
3730// SetStartTime sets the StartTime field's value.
3731func (s *BuildPhase) SetStartTime(v time.Time) *BuildPhase {
3732	s.StartTime = &v
3733	return s
3734}
3735
3736// Information about Amazon CloudWatch Logs for a build project.
3737type CloudWatchLogsConfig struct {
3738	_ struct{} `type:"structure"`
3739
3740	// The group name of the logs in Amazon CloudWatch Logs. For more information,
3741	// see Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html).
3742	GroupName *string `locationName:"groupName" type:"string"`
3743
3744	// The current status of the logs in Amazon CloudWatch Logs for a build project.
3745	// Valid values are:
3746	//
3747	//    * ENABLED: Amazon CloudWatch Logs are enabled for this build project.
3748	//
3749	//    * DISABLED: Amazon CloudWatch Logs are not enabled for this build project.
3750	//
3751	// Status is a required field
3752	Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"`
3753
3754	// The prefix of the stream name of the Amazon CloudWatch Logs. For more information,
3755	// see Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html).
3756	StreamName *string `locationName:"streamName" type:"string"`
3757}
3758
3759// String returns the string representation
3760func (s CloudWatchLogsConfig) String() string {
3761	return awsutil.Prettify(s)
3762}
3763
3764// GoString returns the string representation
3765func (s CloudWatchLogsConfig) GoString() string {
3766	return s.String()
3767}
3768
3769// Validate inspects the fields of the type to determine if they are valid.
3770func (s *CloudWatchLogsConfig) Validate() error {
3771	invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogsConfig"}
3772	if s.Status == nil {
3773		invalidParams.Add(request.NewErrParamRequired("Status"))
3774	}
3775
3776	if invalidParams.Len() > 0 {
3777		return invalidParams
3778	}
3779	return nil
3780}
3781
3782// SetGroupName sets the GroupName field's value.
3783func (s *CloudWatchLogsConfig) SetGroupName(v string) *CloudWatchLogsConfig {
3784	s.GroupName = &v
3785	return s
3786}
3787
3788// SetStatus sets the Status field's value.
3789func (s *CloudWatchLogsConfig) SetStatus(v string) *CloudWatchLogsConfig {
3790	s.Status = &v
3791	return s
3792}
3793
3794// SetStreamName sets the StreamName field's value.
3795func (s *CloudWatchLogsConfig) SetStreamName(v string) *CloudWatchLogsConfig {
3796	s.StreamName = &v
3797	return s
3798}
3799
3800type CreateProjectInput struct {
3801	_ struct{} `type:"structure"`
3802
3803	// Information about the build output artifacts for the build project.
3804	//
3805	// Artifacts is a required field
3806	Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure" required:"true"`
3807
3808	// Set this to true to generate a publicly accessible URL for your project's
3809	// build badge.
3810	BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"`
3811
3812	// Stores recently used information so that it can be quickly accessed at a
3813	// later time.
3814	Cache *ProjectCache `locationName:"cache" type:"structure"`
3815
3816	// A description that makes the build project easy to identify.
3817	Description *string `locationName:"description" type:"string"`
3818
3819	// The AWS Key Management Service (AWS KMS) customer master key (CMK) to be
3820	// used for encrypting the build output artifacts.
3821	//
3822	// You can use a cross-account KMS key to encrypt the build output artifacts
3823	// if your service role has permission to that key.
3824	//
3825	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
3826	// the CMK's alias (using the format alias/alias-name ).
3827	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
3828
3829	// Information about the build environment for the build project.
3830	//
3831	// Environment is a required field
3832	Environment *ProjectEnvironment `locationName:"environment" type:"structure" required:"true"`
3833
3834	// Information about logs for the build project. These can be logs in Amazon
3835	// CloudWatch Logs, logs uploaded to a specified S3 bucket, or both.
3836	LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"`
3837
3838	// The name of the build project.
3839	//
3840	// Name is a required field
3841	Name *string `locationName:"name" min:"2" type:"string" required:"true"`
3842
3843	// The number of minutes a build is allowed to be queued before it times out.
3844	QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" type:"integer"`
3845
3846	// An array of ProjectArtifacts objects.
3847	SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"`
3848
3849	// An array of ProjectSourceVersion objects. If secondarySourceVersions is specified
3850	// at the build level, then they take precedence over these secondarySourceVersions
3851	// (at the project level).
3852	SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"`
3853
3854	// An array of ProjectSource objects.
3855	SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"`
3856
3857	// The ARN of the AWS Identity and Access Management (IAM) role that enables
3858	// AWS CodeBuild to interact with dependent AWS services on behalf of the AWS
3859	// account.
3860	//
3861	// ServiceRole is a required field
3862	ServiceRole *string `locationName:"serviceRole" min:"1" type:"string" required:"true"`
3863
3864	// Information about the build input source code for the build project.
3865	//
3866	// Source is a required field
3867	Source *ProjectSource `locationName:"source" type:"structure" required:"true"`
3868
3869	// A version of the build input to be built for this project. If not specified,
3870	// the latest version is used. If specified, it must be one of:
3871	//
3872	//    * For AWS CodeCommit: the commit ID, branch, or Git tag to use.
3873	//
3874	//    * For GitHub: the commit ID, pull request ID, branch name, or tag name
3875	//    that corresponds to the version of the source code you want to build.
3876	//    If a pull request ID is specified, it must use the format pr/pull-request-ID
3877	//    (for example pr/25). If a branch name is specified, the branch's HEAD
3878	//    commit ID is used. If not specified, the default branch's HEAD commit
3879	//    ID is used.
3880	//
3881	//    * For Bitbucket: the commit ID, branch name, or tag name that corresponds
3882	//    to the version of the source code you want to build. If a branch name
3883	//    is specified, the branch's HEAD commit ID is used. If not specified, the
3884	//    default branch's HEAD commit ID is used.
3885	//
3886	//    * For Amazon Simple Storage Service (Amazon S3): the version ID of the
3887	//    object that represents the build input ZIP file to use.
3888	//
3889	// If sourceVersion is specified at the build level, then that version takes
3890	// precedence over this sourceVersion (at the project level).
3891	//
3892	// For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html)
3893	// in the AWS CodeBuild User Guide.
3894	SourceVersion *string `locationName:"sourceVersion" type:"string"`
3895
3896	// A set of tags for this build project.
3897	//
3898	// These tags are available for use by AWS services that support AWS CodeBuild
3899	// build project tags.
3900	Tags []*Tag `locationName:"tags" type:"list"`
3901
3902	// How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait
3903	// before it times out any build that has not been marked as completed. The
3904	// default is 60 minutes.
3905	TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"`
3906
3907	// VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.
3908	VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"`
3909}
3910
3911// String returns the string representation
3912func (s CreateProjectInput) String() string {
3913	return awsutil.Prettify(s)
3914}
3915
3916// GoString returns the string representation
3917func (s CreateProjectInput) GoString() string {
3918	return s.String()
3919}
3920
3921// Validate inspects the fields of the type to determine if they are valid.
3922func (s *CreateProjectInput) Validate() error {
3923	invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"}
3924	if s.Artifacts == nil {
3925		invalidParams.Add(request.NewErrParamRequired("Artifacts"))
3926	}
3927	if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 {
3928		invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1))
3929	}
3930	if s.Environment == nil {
3931		invalidParams.Add(request.NewErrParamRequired("Environment"))
3932	}
3933	if s.Name == nil {
3934		invalidParams.Add(request.NewErrParamRequired("Name"))
3935	}
3936	if s.Name != nil && len(*s.Name) < 2 {
3937		invalidParams.Add(request.NewErrParamMinLen("Name", 2))
3938	}
3939	if s.QueuedTimeoutInMinutes != nil && *s.QueuedTimeoutInMinutes < 5 {
3940		invalidParams.Add(request.NewErrParamMinValue("QueuedTimeoutInMinutes", 5))
3941	}
3942	if s.ServiceRole == nil {
3943		invalidParams.Add(request.NewErrParamRequired("ServiceRole"))
3944	}
3945	if s.ServiceRole != nil && len(*s.ServiceRole) < 1 {
3946		invalidParams.Add(request.NewErrParamMinLen("ServiceRole", 1))
3947	}
3948	if s.Source == nil {
3949		invalidParams.Add(request.NewErrParamRequired("Source"))
3950	}
3951	if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 5 {
3952		invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 5))
3953	}
3954	if s.Artifacts != nil {
3955		if err := s.Artifacts.Validate(); err != nil {
3956			invalidParams.AddNested("Artifacts", err.(request.ErrInvalidParams))
3957		}
3958	}
3959	if s.Cache != nil {
3960		if err := s.Cache.Validate(); err != nil {
3961			invalidParams.AddNested("Cache", err.(request.ErrInvalidParams))
3962		}
3963	}
3964	if s.Environment != nil {
3965		if err := s.Environment.Validate(); err != nil {
3966			invalidParams.AddNested("Environment", err.(request.ErrInvalidParams))
3967		}
3968	}
3969	if s.LogsConfig != nil {
3970		if err := s.LogsConfig.Validate(); err != nil {
3971			invalidParams.AddNested("LogsConfig", err.(request.ErrInvalidParams))
3972		}
3973	}
3974	if s.SecondaryArtifacts != nil {
3975		for i, v := range s.SecondaryArtifacts {
3976			if v == nil {
3977				continue
3978			}
3979			if err := v.Validate(); err != nil {
3980				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondaryArtifacts", i), err.(request.ErrInvalidParams))
3981			}
3982		}
3983	}
3984	if s.SecondarySourceVersions != nil {
3985		for i, v := range s.SecondarySourceVersions {
3986			if v == nil {
3987				continue
3988			}
3989			if err := v.Validate(); err != nil {
3990				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourceVersions", i), err.(request.ErrInvalidParams))
3991			}
3992		}
3993	}
3994	if s.SecondarySources != nil {
3995		for i, v := range s.SecondarySources {
3996			if v == nil {
3997				continue
3998			}
3999			if err := v.Validate(); err != nil {
4000				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySources", i), err.(request.ErrInvalidParams))
4001			}
4002		}
4003	}
4004	if s.Source != nil {
4005		if err := s.Source.Validate(); err != nil {
4006			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
4007		}
4008	}
4009	if s.Tags != nil {
4010		for i, v := range s.Tags {
4011			if v == nil {
4012				continue
4013			}
4014			if err := v.Validate(); err != nil {
4015				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
4016			}
4017		}
4018	}
4019	if s.VpcConfig != nil {
4020		if err := s.VpcConfig.Validate(); err != nil {
4021			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
4022		}
4023	}
4024
4025	if invalidParams.Len() > 0 {
4026		return invalidParams
4027	}
4028	return nil
4029}
4030
4031// SetArtifacts sets the Artifacts field's value.
4032func (s *CreateProjectInput) SetArtifacts(v *ProjectArtifacts) *CreateProjectInput {
4033	s.Artifacts = v
4034	return s
4035}
4036
4037// SetBadgeEnabled sets the BadgeEnabled field's value.
4038func (s *CreateProjectInput) SetBadgeEnabled(v bool) *CreateProjectInput {
4039	s.BadgeEnabled = &v
4040	return s
4041}
4042
4043// SetCache sets the Cache field's value.
4044func (s *CreateProjectInput) SetCache(v *ProjectCache) *CreateProjectInput {
4045	s.Cache = v
4046	return s
4047}
4048
4049// SetDescription sets the Description field's value.
4050func (s *CreateProjectInput) SetDescription(v string) *CreateProjectInput {
4051	s.Description = &v
4052	return s
4053}
4054
4055// SetEncryptionKey sets the EncryptionKey field's value.
4056func (s *CreateProjectInput) SetEncryptionKey(v string) *CreateProjectInput {
4057	s.EncryptionKey = &v
4058	return s
4059}
4060
4061// SetEnvironment sets the Environment field's value.
4062func (s *CreateProjectInput) SetEnvironment(v *ProjectEnvironment) *CreateProjectInput {
4063	s.Environment = v
4064	return s
4065}
4066
4067// SetLogsConfig sets the LogsConfig field's value.
4068func (s *CreateProjectInput) SetLogsConfig(v *LogsConfig) *CreateProjectInput {
4069	s.LogsConfig = v
4070	return s
4071}
4072
4073// SetName sets the Name field's value.
4074func (s *CreateProjectInput) SetName(v string) *CreateProjectInput {
4075	s.Name = &v
4076	return s
4077}
4078
4079// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value.
4080func (s *CreateProjectInput) SetQueuedTimeoutInMinutes(v int64) *CreateProjectInput {
4081	s.QueuedTimeoutInMinutes = &v
4082	return s
4083}
4084
4085// SetSecondaryArtifacts sets the SecondaryArtifacts field's value.
4086func (s *CreateProjectInput) SetSecondaryArtifacts(v []*ProjectArtifacts) *CreateProjectInput {
4087	s.SecondaryArtifacts = v
4088	return s
4089}
4090
4091// SetSecondarySourceVersions sets the SecondarySourceVersions field's value.
4092func (s *CreateProjectInput) SetSecondarySourceVersions(v []*ProjectSourceVersion) *CreateProjectInput {
4093	s.SecondarySourceVersions = v
4094	return s
4095}
4096
4097// SetSecondarySources sets the SecondarySources field's value.
4098func (s *CreateProjectInput) SetSecondarySources(v []*ProjectSource) *CreateProjectInput {
4099	s.SecondarySources = v
4100	return s
4101}
4102
4103// SetServiceRole sets the ServiceRole field's value.
4104func (s *CreateProjectInput) SetServiceRole(v string) *CreateProjectInput {
4105	s.ServiceRole = &v
4106	return s
4107}
4108
4109// SetSource sets the Source field's value.
4110func (s *CreateProjectInput) SetSource(v *ProjectSource) *CreateProjectInput {
4111	s.Source = v
4112	return s
4113}
4114
4115// SetSourceVersion sets the SourceVersion field's value.
4116func (s *CreateProjectInput) SetSourceVersion(v string) *CreateProjectInput {
4117	s.SourceVersion = &v
4118	return s
4119}
4120
4121// SetTags sets the Tags field's value.
4122func (s *CreateProjectInput) SetTags(v []*Tag) *CreateProjectInput {
4123	s.Tags = v
4124	return s
4125}
4126
4127// SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
4128func (s *CreateProjectInput) SetTimeoutInMinutes(v int64) *CreateProjectInput {
4129	s.TimeoutInMinutes = &v
4130	return s
4131}
4132
4133// SetVpcConfig sets the VpcConfig field's value.
4134func (s *CreateProjectInput) SetVpcConfig(v *VpcConfig) *CreateProjectInput {
4135	s.VpcConfig = v
4136	return s
4137}
4138
4139type CreateProjectOutput struct {
4140	_ struct{} `type:"structure"`
4141
4142	// Information about the build project that was created.
4143	Project *Project `locationName:"project" type:"structure"`
4144}
4145
4146// String returns the string representation
4147func (s CreateProjectOutput) String() string {
4148	return awsutil.Prettify(s)
4149}
4150
4151// GoString returns the string representation
4152func (s CreateProjectOutput) GoString() string {
4153	return s.String()
4154}
4155
4156// SetProject sets the Project field's value.
4157func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput {
4158	s.Project = v
4159	return s
4160}
4161
4162type CreateReportGroupInput struct {
4163	_ struct{} `type:"structure"`
4164
4165	// A ReportExportConfig object that contains information about where the report
4166	// group test results are exported.
4167	//
4168	// ExportConfig is a required field
4169	ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure" required:"true"`
4170
4171	// The name of the report group.
4172	//
4173	// Name is a required field
4174	Name *string `locationName:"name" min:"2" type:"string" required:"true"`
4175
4176	// The type of report group.
4177	//
4178	// Type is a required field
4179	Type *string `locationName:"type" type:"string" required:"true" enum:"ReportType"`
4180}
4181
4182// String returns the string representation
4183func (s CreateReportGroupInput) String() string {
4184	return awsutil.Prettify(s)
4185}
4186
4187// GoString returns the string representation
4188func (s CreateReportGroupInput) GoString() string {
4189	return s.String()
4190}
4191
4192// Validate inspects the fields of the type to determine if they are valid.
4193func (s *CreateReportGroupInput) Validate() error {
4194	invalidParams := request.ErrInvalidParams{Context: "CreateReportGroupInput"}
4195	if s.ExportConfig == nil {
4196		invalidParams.Add(request.NewErrParamRequired("ExportConfig"))
4197	}
4198	if s.Name == nil {
4199		invalidParams.Add(request.NewErrParamRequired("Name"))
4200	}
4201	if s.Name != nil && len(*s.Name) < 2 {
4202		invalidParams.Add(request.NewErrParamMinLen("Name", 2))
4203	}
4204	if s.Type == nil {
4205		invalidParams.Add(request.NewErrParamRequired("Type"))
4206	}
4207	if s.ExportConfig != nil {
4208		if err := s.ExportConfig.Validate(); err != nil {
4209			invalidParams.AddNested("ExportConfig", err.(request.ErrInvalidParams))
4210		}
4211	}
4212
4213	if invalidParams.Len() > 0 {
4214		return invalidParams
4215	}
4216	return nil
4217}
4218
4219// SetExportConfig sets the ExportConfig field's value.
4220func (s *CreateReportGroupInput) SetExportConfig(v *ReportExportConfig) *CreateReportGroupInput {
4221	s.ExportConfig = v
4222	return s
4223}
4224
4225// SetName sets the Name field's value.
4226func (s *CreateReportGroupInput) SetName(v string) *CreateReportGroupInput {
4227	s.Name = &v
4228	return s
4229}
4230
4231// SetType sets the Type field's value.
4232func (s *CreateReportGroupInput) SetType(v string) *CreateReportGroupInput {
4233	s.Type = &v
4234	return s
4235}
4236
4237type CreateReportGroupOutput struct {
4238	_ struct{} `type:"structure"`
4239
4240	// Information about the report group that was created.
4241	ReportGroup *ReportGroup `locationName:"reportGroup" type:"structure"`
4242}
4243
4244// String returns the string representation
4245func (s CreateReportGroupOutput) String() string {
4246	return awsutil.Prettify(s)
4247}
4248
4249// GoString returns the string representation
4250func (s CreateReportGroupOutput) GoString() string {
4251	return s.String()
4252}
4253
4254// SetReportGroup sets the ReportGroup field's value.
4255func (s *CreateReportGroupOutput) SetReportGroup(v *ReportGroup) *CreateReportGroupOutput {
4256	s.ReportGroup = v
4257	return s
4258}
4259
4260type CreateWebhookInput struct {
4261	_ struct{} `type:"structure"`
4262
4263	// A regular expression used to determine which repository branches are built
4264	// when a webhook is triggered. If the name of a branch matches the regular
4265	// expression, then it is built. If branchFilter is empty, then all branches
4266	// are built.
4267	//
4268	// It is recommended that you use filterGroups instead of branchFilter.
4269	BranchFilter *string `locationName:"branchFilter" type:"string"`
4270
4271	// An array of arrays of WebhookFilter objects used to determine which webhooks
4272	// are triggered. At least one WebhookFilter in the array must specify EVENT
4273	// as its type.
4274	//
4275	// For a build to be triggered, at least one filter group in the filterGroups
4276	// array must pass. For a filter group to pass, each of its filters must pass.
4277	FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"`
4278
4279	// The name of the AWS CodeBuild project.
4280	//
4281	// ProjectName is a required field
4282	ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"`
4283}
4284
4285// String returns the string representation
4286func (s CreateWebhookInput) String() string {
4287	return awsutil.Prettify(s)
4288}
4289
4290// GoString returns the string representation
4291func (s CreateWebhookInput) GoString() string {
4292	return s.String()
4293}
4294
4295// Validate inspects the fields of the type to determine if they are valid.
4296func (s *CreateWebhookInput) Validate() error {
4297	invalidParams := request.ErrInvalidParams{Context: "CreateWebhookInput"}
4298	if s.ProjectName == nil {
4299		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
4300	}
4301	if s.ProjectName != nil && len(*s.ProjectName) < 2 {
4302		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2))
4303	}
4304
4305	if invalidParams.Len() > 0 {
4306		return invalidParams
4307	}
4308	return nil
4309}
4310
4311// SetBranchFilter sets the BranchFilter field's value.
4312func (s *CreateWebhookInput) SetBranchFilter(v string) *CreateWebhookInput {
4313	s.BranchFilter = &v
4314	return s
4315}
4316
4317// SetFilterGroups sets the FilterGroups field's value.
4318func (s *CreateWebhookInput) SetFilterGroups(v [][]*WebhookFilter) *CreateWebhookInput {
4319	s.FilterGroups = v
4320	return s
4321}
4322
4323// SetProjectName sets the ProjectName field's value.
4324func (s *CreateWebhookInput) SetProjectName(v string) *CreateWebhookInput {
4325	s.ProjectName = &v
4326	return s
4327}
4328
4329type CreateWebhookOutput struct {
4330	_ struct{} `type:"structure"`
4331
4332	// Information about a webhook that connects repository events to a build project
4333	// in AWS CodeBuild.
4334	Webhook *Webhook `locationName:"webhook" type:"structure"`
4335}
4336
4337// String returns the string representation
4338func (s CreateWebhookOutput) String() string {
4339	return awsutil.Prettify(s)
4340}
4341
4342// GoString returns the string representation
4343func (s CreateWebhookOutput) GoString() string {
4344	return s.String()
4345}
4346
4347// SetWebhook sets the Webhook field's value.
4348func (s *CreateWebhookOutput) SetWebhook(v *Webhook) *CreateWebhookOutput {
4349	s.Webhook = v
4350	return s
4351}
4352
4353type DeleteProjectInput struct {
4354	_ struct{} `type:"structure"`
4355
4356	// The name of the build project.
4357	//
4358	// Name is a required field
4359	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4360}
4361
4362// String returns the string representation
4363func (s DeleteProjectInput) String() string {
4364	return awsutil.Prettify(s)
4365}
4366
4367// GoString returns the string representation
4368func (s DeleteProjectInput) GoString() string {
4369	return s.String()
4370}
4371
4372// Validate inspects the fields of the type to determine if they are valid.
4373func (s *DeleteProjectInput) Validate() error {
4374	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
4375	if s.Name == nil {
4376		invalidParams.Add(request.NewErrParamRequired("Name"))
4377	}
4378	if s.Name != nil && len(*s.Name) < 1 {
4379		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4380	}
4381
4382	if invalidParams.Len() > 0 {
4383		return invalidParams
4384	}
4385	return nil
4386}
4387
4388// SetName sets the Name field's value.
4389func (s *DeleteProjectInput) SetName(v string) *DeleteProjectInput {
4390	s.Name = &v
4391	return s
4392}
4393
4394type DeleteProjectOutput struct {
4395	_ struct{} `type:"structure"`
4396}
4397
4398// String returns the string representation
4399func (s DeleteProjectOutput) String() string {
4400	return awsutil.Prettify(s)
4401}
4402
4403// GoString returns the string representation
4404func (s DeleteProjectOutput) GoString() string {
4405	return s.String()
4406}
4407
4408type DeleteReportGroupInput struct {
4409	_ struct{} `type:"structure"`
4410
4411	// The ARN of the report group to delete.
4412	//
4413	// Arn is a required field
4414	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
4415}
4416
4417// String returns the string representation
4418func (s DeleteReportGroupInput) String() string {
4419	return awsutil.Prettify(s)
4420}
4421
4422// GoString returns the string representation
4423func (s DeleteReportGroupInput) GoString() string {
4424	return s.String()
4425}
4426
4427// Validate inspects the fields of the type to determine if they are valid.
4428func (s *DeleteReportGroupInput) Validate() error {
4429	invalidParams := request.ErrInvalidParams{Context: "DeleteReportGroupInput"}
4430	if s.Arn == nil {
4431		invalidParams.Add(request.NewErrParamRequired("Arn"))
4432	}
4433	if s.Arn != nil && len(*s.Arn) < 1 {
4434		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
4435	}
4436
4437	if invalidParams.Len() > 0 {
4438		return invalidParams
4439	}
4440	return nil
4441}
4442
4443// SetArn sets the Arn field's value.
4444func (s *DeleteReportGroupInput) SetArn(v string) *DeleteReportGroupInput {
4445	s.Arn = &v
4446	return s
4447}
4448
4449type DeleteReportGroupOutput struct {
4450	_ struct{} `type:"structure"`
4451}
4452
4453// String returns the string representation
4454func (s DeleteReportGroupOutput) String() string {
4455	return awsutil.Prettify(s)
4456}
4457
4458// GoString returns the string representation
4459func (s DeleteReportGroupOutput) GoString() string {
4460	return s.String()
4461}
4462
4463type DeleteReportInput struct {
4464	_ struct{} `type:"structure"`
4465
4466	// The ARN of the report to delete.
4467	//
4468	// Arn is a required field
4469	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
4470}
4471
4472// String returns the string representation
4473func (s DeleteReportInput) String() string {
4474	return awsutil.Prettify(s)
4475}
4476
4477// GoString returns the string representation
4478func (s DeleteReportInput) GoString() string {
4479	return s.String()
4480}
4481
4482// Validate inspects the fields of the type to determine if they are valid.
4483func (s *DeleteReportInput) Validate() error {
4484	invalidParams := request.ErrInvalidParams{Context: "DeleteReportInput"}
4485	if s.Arn == nil {
4486		invalidParams.Add(request.NewErrParamRequired("Arn"))
4487	}
4488	if s.Arn != nil && len(*s.Arn) < 1 {
4489		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
4490	}
4491
4492	if invalidParams.Len() > 0 {
4493		return invalidParams
4494	}
4495	return nil
4496}
4497
4498// SetArn sets the Arn field's value.
4499func (s *DeleteReportInput) SetArn(v string) *DeleteReportInput {
4500	s.Arn = &v
4501	return s
4502}
4503
4504type DeleteReportOutput struct {
4505	_ struct{} `type:"structure"`
4506}
4507
4508// String returns the string representation
4509func (s DeleteReportOutput) String() string {
4510	return awsutil.Prettify(s)
4511}
4512
4513// GoString returns the string representation
4514func (s DeleteReportOutput) GoString() string {
4515	return s.String()
4516}
4517
4518type DeleteResourcePolicyInput struct {
4519	_ struct{} `type:"structure"`
4520
4521	// The ARN of the resource that is associated with the resource policy.
4522	//
4523	// ResourceArn is a required field
4524	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
4525}
4526
4527// String returns the string representation
4528func (s DeleteResourcePolicyInput) String() string {
4529	return awsutil.Prettify(s)
4530}
4531
4532// GoString returns the string representation
4533func (s DeleteResourcePolicyInput) GoString() string {
4534	return s.String()
4535}
4536
4537// Validate inspects the fields of the type to determine if they are valid.
4538func (s *DeleteResourcePolicyInput) Validate() error {
4539	invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"}
4540	if s.ResourceArn == nil {
4541		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
4542	}
4543	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
4544		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
4545	}
4546
4547	if invalidParams.Len() > 0 {
4548		return invalidParams
4549	}
4550	return nil
4551}
4552
4553// SetResourceArn sets the ResourceArn field's value.
4554func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput {
4555	s.ResourceArn = &v
4556	return s
4557}
4558
4559type DeleteResourcePolicyOutput struct {
4560	_ struct{} `type:"structure"`
4561}
4562
4563// String returns the string representation
4564func (s DeleteResourcePolicyOutput) String() string {
4565	return awsutil.Prettify(s)
4566}
4567
4568// GoString returns the string representation
4569func (s DeleteResourcePolicyOutput) GoString() string {
4570	return s.String()
4571}
4572
4573type DeleteSourceCredentialsInput struct {
4574	_ struct{} `type:"structure"`
4575
4576	// The Amazon Resource Name (ARN) of the token.
4577	//
4578	// Arn is a required field
4579	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
4580}
4581
4582// String returns the string representation
4583func (s DeleteSourceCredentialsInput) String() string {
4584	return awsutil.Prettify(s)
4585}
4586
4587// GoString returns the string representation
4588func (s DeleteSourceCredentialsInput) GoString() string {
4589	return s.String()
4590}
4591
4592// Validate inspects the fields of the type to determine if they are valid.
4593func (s *DeleteSourceCredentialsInput) Validate() error {
4594	invalidParams := request.ErrInvalidParams{Context: "DeleteSourceCredentialsInput"}
4595	if s.Arn == nil {
4596		invalidParams.Add(request.NewErrParamRequired("Arn"))
4597	}
4598	if s.Arn != nil && len(*s.Arn) < 1 {
4599		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
4600	}
4601
4602	if invalidParams.Len() > 0 {
4603		return invalidParams
4604	}
4605	return nil
4606}
4607
4608// SetArn sets the Arn field's value.
4609func (s *DeleteSourceCredentialsInput) SetArn(v string) *DeleteSourceCredentialsInput {
4610	s.Arn = &v
4611	return s
4612}
4613
4614type DeleteSourceCredentialsOutput struct {
4615	_ struct{} `type:"structure"`
4616
4617	// The Amazon Resource Name (ARN) of the token.
4618	Arn *string `locationName:"arn" min:"1" type:"string"`
4619}
4620
4621// String returns the string representation
4622func (s DeleteSourceCredentialsOutput) String() string {
4623	return awsutil.Prettify(s)
4624}
4625
4626// GoString returns the string representation
4627func (s DeleteSourceCredentialsOutput) GoString() string {
4628	return s.String()
4629}
4630
4631// SetArn sets the Arn field's value.
4632func (s *DeleteSourceCredentialsOutput) SetArn(v string) *DeleteSourceCredentialsOutput {
4633	s.Arn = &v
4634	return s
4635}
4636
4637type DeleteWebhookInput struct {
4638	_ struct{} `type:"structure"`
4639
4640	// The name of the AWS CodeBuild project.
4641	//
4642	// ProjectName is a required field
4643	ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"`
4644}
4645
4646// String returns the string representation
4647func (s DeleteWebhookInput) String() string {
4648	return awsutil.Prettify(s)
4649}
4650
4651// GoString returns the string representation
4652func (s DeleteWebhookInput) GoString() string {
4653	return s.String()
4654}
4655
4656// Validate inspects the fields of the type to determine if they are valid.
4657func (s *DeleteWebhookInput) Validate() error {
4658	invalidParams := request.ErrInvalidParams{Context: "DeleteWebhookInput"}
4659	if s.ProjectName == nil {
4660		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
4661	}
4662	if s.ProjectName != nil && len(*s.ProjectName) < 2 {
4663		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2))
4664	}
4665
4666	if invalidParams.Len() > 0 {
4667		return invalidParams
4668	}
4669	return nil
4670}
4671
4672// SetProjectName sets the ProjectName field's value.
4673func (s *DeleteWebhookInput) SetProjectName(v string) *DeleteWebhookInput {
4674	s.ProjectName = &v
4675	return s
4676}
4677
4678type DeleteWebhookOutput struct {
4679	_ struct{} `type:"structure"`
4680}
4681
4682// String returns the string representation
4683func (s DeleteWebhookOutput) String() string {
4684	return awsutil.Prettify(s)
4685}
4686
4687// GoString returns the string representation
4688func (s DeleteWebhookOutput) GoString() string {
4689	return s.String()
4690}
4691
4692type DescribeTestCasesInput struct {
4693	_ struct{} `type:"structure"`
4694
4695	// A TestCaseFilter object used to filter the returned reports.
4696	Filter *TestCaseFilter `locationName:"filter" type:"structure"`
4697
4698	// The maximum number of paginated test cases returned per response. Use nextToken
4699	// to iterate pages in the list of returned TestCase objects. The default value
4700	// is 100.
4701	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
4702
4703	// During a previous call, the maximum number of items that can be returned
4704	// is the value specified in maxResults. If there more items in the list, then
4705	// a unique string called a nextToken is returned. To get the next batch of
4706	// items in the list, call this operation again, adding the next token to the
4707	// call. To get all of the items in the list, keep calling this operation with
4708	// each subsequent next token that is returned, until no more next tokens are
4709	// returned.
4710	NextToken *string `locationName:"nextToken" type:"string"`
4711
4712	// The ARN of the report for which test cases are returned.
4713	//
4714	// ReportArn is a required field
4715	ReportArn *string `locationName:"reportArn" type:"string" required:"true"`
4716}
4717
4718// String returns the string representation
4719func (s DescribeTestCasesInput) String() string {
4720	return awsutil.Prettify(s)
4721}
4722
4723// GoString returns the string representation
4724func (s DescribeTestCasesInput) GoString() string {
4725	return s.String()
4726}
4727
4728// Validate inspects the fields of the type to determine if they are valid.
4729func (s *DescribeTestCasesInput) Validate() error {
4730	invalidParams := request.ErrInvalidParams{Context: "DescribeTestCasesInput"}
4731	if s.MaxResults != nil && *s.MaxResults < 1 {
4732		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4733	}
4734	if s.ReportArn == nil {
4735		invalidParams.Add(request.NewErrParamRequired("ReportArn"))
4736	}
4737
4738	if invalidParams.Len() > 0 {
4739		return invalidParams
4740	}
4741	return nil
4742}
4743
4744// SetFilter sets the Filter field's value.
4745func (s *DescribeTestCasesInput) SetFilter(v *TestCaseFilter) *DescribeTestCasesInput {
4746	s.Filter = v
4747	return s
4748}
4749
4750// SetMaxResults sets the MaxResults field's value.
4751func (s *DescribeTestCasesInput) SetMaxResults(v int64) *DescribeTestCasesInput {
4752	s.MaxResults = &v
4753	return s
4754}
4755
4756// SetNextToken sets the NextToken field's value.
4757func (s *DescribeTestCasesInput) SetNextToken(v string) *DescribeTestCasesInput {
4758	s.NextToken = &v
4759	return s
4760}
4761
4762// SetReportArn sets the ReportArn field's value.
4763func (s *DescribeTestCasesInput) SetReportArn(v string) *DescribeTestCasesInput {
4764	s.ReportArn = &v
4765	return s
4766}
4767
4768type DescribeTestCasesOutput struct {
4769	_ struct{} `type:"structure"`
4770
4771	// During a previous call, the maximum number of items that can be returned
4772	// is the value specified in maxResults. If there more items in the list, then
4773	// a unique string called a nextToken is returned. To get the next batch of
4774	// items in the list, call this operation again, adding the next token to the
4775	// call. To get all of the items in the list, keep calling this operation with
4776	// each subsequent next token that is returned, until no more next tokens are
4777	// returned.
4778	NextToken *string `locationName:"nextToken" type:"string"`
4779
4780	// The returned list of test cases.
4781	TestCases []*TestCase `locationName:"testCases" type:"list"`
4782}
4783
4784// String returns the string representation
4785func (s DescribeTestCasesOutput) String() string {
4786	return awsutil.Prettify(s)
4787}
4788
4789// GoString returns the string representation
4790func (s DescribeTestCasesOutput) GoString() string {
4791	return s.String()
4792}
4793
4794// SetNextToken sets the NextToken field's value.
4795func (s *DescribeTestCasesOutput) SetNextToken(v string) *DescribeTestCasesOutput {
4796	s.NextToken = &v
4797	return s
4798}
4799
4800// SetTestCases sets the TestCases field's value.
4801func (s *DescribeTestCasesOutput) SetTestCases(v []*TestCase) *DescribeTestCasesOutput {
4802	s.TestCases = v
4803	return s
4804}
4805
4806// Information about a Docker image that is managed by AWS CodeBuild.
4807type EnvironmentImage struct {
4808	_ struct{} `type:"structure"`
4809
4810	// The description of the Docker image.
4811	Description *string `locationName:"description" type:"string"`
4812
4813	// The name of the Docker image.
4814	Name *string `locationName:"name" type:"string"`
4815
4816	// A list of environment image versions.
4817	Versions []*string `locationName:"versions" type:"list"`
4818}
4819
4820// String returns the string representation
4821func (s EnvironmentImage) String() string {
4822	return awsutil.Prettify(s)
4823}
4824
4825// GoString returns the string representation
4826func (s EnvironmentImage) GoString() string {
4827	return s.String()
4828}
4829
4830// SetDescription sets the Description field's value.
4831func (s *EnvironmentImage) SetDescription(v string) *EnvironmentImage {
4832	s.Description = &v
4833	return s
4834}
4835
4836// SetName sets the Name field's value.
4837func (s *EnvironmentImage) SetName(v string) *EnvironmentImage {
4838	s.Name = &v
4839	return s
4840}
4841
4842// SetVersions sets the Versions field's value.
4843func (s *EnvironmentImage) SetVersions(v []*string) *EnvironmentImage {
4844	s.Versions = v
4845	return s
4846}
4847
4848// A set of Docker images that are related by programming language and are managed
4849// by AWS CodeBuild.
4850type EnvironmentLanguage struct {
4851	_ struct{} `type:"structure"`
4852
4853	// The list of Docker images that are related by the specified programming language.
4854	Images []*EnvironmentImage `locationName:"images" type:"list"`
4855
4856	// The programming language for the Docker images.
4857	Language *string `locationName:"language" type:"string" enum:"LanguageType"`
4858}
4859
4860// String returns the string representation
4861func (s EnvironmentLanguage) String() string {
4862	return awsutil.Prettify(s)
4863}
4864
4865// GoString returns the string representation
4866func (s EnvironmentLanguage) GoString() string {
4867	return s.String()
4868}
4869
4870// SetImages sets the Images field's value.
4871func (s *EnvironmentLanguage) SetImages(v []*EnvironmentImage) *EnvironmentLanguage {
4872	s.Images = v
4873	return s
4874}
4875
4876// SetLanguage sets the Language field's value.
4877func (s *EnvironmentLanguage) SetLanguage(v string) *EnvironmentLanguage {
4878	s.Language = &v
4879	return s
4880}
4881
4882// A set of Docker images that are related by platform and are managed by AWS
4883// CodeBuild.
4884type EnvironmentPlatform struct {
4885	_ struct{} `type:"structure"`
4886
4887	// The list of programming languages that are available for the specified platform.
4888	Languages []*EnvironmentLanguage `locationName:"languages" type:"list"`
4889
4890	// The platform's name.
4891	Platform *string `locationName:"platform" type:"string" enum:"PlatformType"`
4892}
4893
4894// String returns the string representation
4895func (s EnvironmentPlatform) String() string {
4896	return awsutil.Prettify(s)
4897}
4898
4899// GoString returns the string representation
4900func (s EnvironmentPlatform) GoString() string {
4901	return s.String()
4902}
4903
4904// SetLanguages sets the Languages field's value.
4905func (s *EnvironmentPlatform) SetLanguages(v []*EnvironmentLanguage) *EnvironmentPlatform {
4906	s.Languages = v
4907	return s
4908}
4909
4910// SetPlatform sets the Platform field's value.
4911func (s *EnvironmentPlatform) SetPlatform(v string) *EnvironmentPlatform {
4912	s.Platform = &v
4913	return s
4914}
4915
4916// Information about an environment variable for a build project or a build.
4917type EnvironmentVariable struct {
4918	_ struct{} `type:"structure"`
4919
4920	// The name or key of the environment variable.
4921	//
4922	// Name is a required field
4923	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4924
4925	// The type of environment variable. Valid values include:
4926	//
4927	//    * PARAMETER_STORE: An environment variable stored in Amazon EC2 Systems
4928	//    Manager Parameter Store.
4929	//
4930	//    * PLAINTEXT: An environment variable in plain text format.
4931	//
4932	//    * SECRETS_MANAGER: An environment variable stored in AWS Secrets Manager.
4933	Type *string `locationName:"type" type:"string" enum:"EnvironmentVariableType"`
4934
4935	// The value of the environment variable.
4936	//
4937	// We strongly discourage the use of environment variables to store sensitive
4938	// values, especially AWS secret key IDs and secret access keys. Environment
4939	// variables can be displayed in plain text using the AWS CodeBuild console
4940	// and the AWS Command Line Interface (AWS CLI).
4941	//
4942	// Value is a required field
4943	Value *string `locationName:"value" type:"string" required:"true"`
4944}
4945
4946// String returns the string representation
4947func (s EnvironmentVariable) String() string {
4948	return awsutil.Prettify(s)
4949}
4950
4951// GoString returns the string representation
4952func (s EnvironmentVariable) GoString() string {
4953	return s.String()
4954}
4955
4956// Validate inspects the fields of the type to determine if they are valid.
4957func (s *EnvironmentVariable) Validate() error {
4958	invalidParams := request.ErrInvalidParams{Context: "EnvironmentVariable"}
4959	if s.Name == nil {
4960		invalidParams.Add(request.NewErrParamRequired("Name"))
4961	}
4962	if s.Name != nil && len(*s.Name) < 1 {
4963		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4964	}
4965	if s.Value == nil {
4966		invalidParams.Add(request.NewErrParamRequired("Value"))
4967	}
4968
4969	if invalidParams.Len() > 0 {
4970		return invalidParams
4971	}
4972	return nil
4973}
4974
4975// SetName sets the Name field's value.
4976func (s *EnvironmentVariable) SetName(v string) *EnvironmentVariable {
4977	s.Name = &v
4978	return s
4979}
4980
4981// SetType sets the Type field's value.
4982func (s *EnvironmentVariable) SetType(v string) *EnvironmentVariable {
4983	s.Type = &v
4984	return s
4985}
4986
4987// SetValue sets the Value field's value.
4988func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable {
4989	s.Value = &v
4990	return s
4991}
4992
4993// Information about an exported environment variable.
4994type ExportedEnvironmentVariable struct {
4995	_ struct{} `type:"structure"`
4996
4997	// The name of this exported environment variable.
4998	Name *string `locationName:"name" min:"1" type:"string"`
4999
5000	// The value assigned to this exported environment variable.
5001	//
5002	// During a build, the value of a variable is available starting with the install
5003	// phase. It can be updated between the start of the install phase and the end
5004	// of the post_build phase. After the post_build phase ends, the value of exported
5005	// variables cannot change.
5006	Value *string `locationName:"value" type:"string"`
5007}
5008
5009// String returns the string representation
5010func (s ExportedEnvironmentVariable) String() string {
5011	return awsutil.Prettify(s)
5012}
5013
5014// GoString returns the string representation
5015func (s ExportedEnvironmentVariable) GoString() string {
5016	return s.String()
5017}
5018
5019// SetName sets the Name field's value.
5020func (s *ExportedEnvironmentVariable) SetName(v string) *ExportedEnvironmentVariable {
5021	s.Name = &v
5022	return s
5023}
5024
5025// SetValue sets the Value field's value.
5026func (s *ExportedEnvironmentVariable) SetValue(v string) *ExportedEnvironmentVariable {
5027	s.Value = &v
5028	return s
5029}
5030
5031type GetResourcePolicyInput struct {
5032	_ struct{} `type:"structure"`
5033
5034	// The ARN of the resource that is associated with the resource policy.
5035	//
5036	// ResourceArn is a required field
5037	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
5038}
5039
5040// String returns the string representation
5041func (s GetResourcePolicyInput) String() string {
5042	return awsutil.Prettify(s)
5043}
5044
5045// GoString returns the string representation
5046func (s GetResourcePolicyInput) GoString() string {
5047	return s.String()
5048}
5049
5050// Validate inspects the fields of the type to determine if they are valid.
5051func (s *GetResourcePolicyInput) Validate() error {
5052	invalidParams := request.ErrInvalidParams{Context: "GetResourcePolicyInput"}
5053	if s.ResourceArn == nil {
5054		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
5055	}
5056	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
5057		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
5058	}
5059
5060	if invalidParams.Len() > 0 {
5061		return invalidParams
5062	}
5063	return nil
5064}
5065
5066// SetResourceArn sets the ResourceArn field's value.
5067func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput {
5068	s.ResourceArn = &v
5069	return s
5070}
5071
5072type GetResourcePolicyOutput struct {
5073	_ struct{} `type:"structure"`
5074
5075	// The resource policy for the resource identified by the input ARN parameter.
5076	Policy *string `locationName:"policy" min:"1" type:"string"`
5077}
5078
5079// String returns the string representation
5080func (s GetResourcePolicyOutput) String() string {
5081	return awsutil.Prettify(s)
5082}
5083
5084// GoString returns the string representation
5085func (s GetResourcePolicyOutput) GoString() string {
5086	return s.String()
5087}
5088
5089// SetPolicy sets the Policy field's value.
5090func (s *GetResourcePolicyOutput) SetPolicy(v string) *GetResourcePolicyOutput {
5091	s.Policy = &v
5092	return s
5093}
5094
5095// Information about the Git submodules configuration for an AWS CodeBuild build
5096// project.
5097type GitSubmodulesConfig struct {
5098	_ struct{} `type:"structure"`
5099
5100	// Set to true to fetch Git submodules for your AWS CodeBuild build project.
5101	//
5102	// FetchSubmodules is a required field
5103	FetchSubmodules *bool `locationName:"fetchSubmodules" type:"boolean" required:"true"`
5104}
5105
5106// String returns the string representation
5107func (s GitSubmodulesConfig) String() string {
5108	return awsutil.Prettify(s)
5109}
5110
5111// GoString returns the string representation
5112func (s GitSubmodulesConfig) GoString() string {
5113	return s.String()
5114}
5115
5116// Validate inspects the fields of the type to determine if they are valid.
5117func (s *GitSubmodulesConfig) Validate() error {
5118	invalidParams := request.ErrInvalidParams{Context: "GitSubmodulesConfig"}
5119	if s.FetchSubmodules == nil {
5120		invalidParams.Add(request.NewErrParamRequired("FetchSubmodules"))
5121	}
5122
5123	if invalidParams.Len() > 0 {
5124		return invalidParams
5125	}
5126	return nil
5127}
5128
5129// SetFetchSubmodules sets the FetchSubmodules field's value.
5130func (s *GitSubmodulesConfig) SetFetchSubmodules(v bool) *GitSubmodulesConfig {
5131	s.FetchSubmodules = &v
5132	return s
5133}
5134
5135type ImportSourceCredentialsInput struct {
5136	_ struct{} `type:"structure"`
5137
5138	// The type of authentication used to connect to a GitHub, GitHub Enterprise,
5139	// or Bitbucket repository. An OAUTH connection is not supported by the API
5140	// and must be created using the AWS CodeBuild console.
5141	//
5142	// AuthType is a required field
5143	AuthType *string `locationName:"authType" type:"string" required:"true" enum:"AuthType"`
5144
5145	// The source provider used for this project.
5146	//
5147	// ServerType is a required field
5148	ServerType *string `locationName:"serverType" type:"string" required:"true" enum:"ServerType"`
5149
5150	// Set to false to prevent overwriting the repository source credentials. Set
5151	// to true to overwrite the repository source credentials. The default value
5152	// is true.
5153	ShouldOverwrite *bool `locationName:"shouldOverwrite" type:"boolean"`
5154
5155	// For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket,
5156	// this is the app password.
5157	//
5158	// Token is a required field
5159	Token *string `locationName:"token" min:"1" type:"string" required:"true" sensitive:"true"`
5160
5161	// The Bitbucket username when the authType is BASIC_AUTH. This parameter is
5162	// not valid for other types of source providers or connections.
5163	Username *string `locationName:"username" min:"1" type:"string"`
5164}
5165
5166// String returns the string representation
5167func (s ImportSourceCredentialsInput) String() string {
5168	return awsutil.Prettify(s)
5169}
5170
5171// GoString returns the string representation
5172func (s ImportSourceCredentialsInput) GoString() string {
5173	return s.String()
5174}
5175
5176// Validate inspects the fields of the type to determine if they are valid.
5177func (s *ImportSourceCredentialsInput) Validate() error {
5178	invalidParams := request.ErrInvalidParams{Context: "ImportSourceCredentialsInput"}
5179	if s.AuthType == nil {
5180		invalidParams.Add(request.NewErrParamRequired("AuthType"))
5181	}
5182	if s.ServerType == nil {
5183		invalidParams.Add(request.NewErrParamRequired("ServerType"))
5184	}
5185	if s.Token == nil {
5186		invalidParams.Add(request.NewErrParamRequired("Token"))
5187	}
5188	if s.Token != nil && len(*s.Token) < 1 {
5189		invalidParams.Add(request.NewErrParamMinLen("Token", 1))
5190	}
5191	if s.Username != nil && len(*s.Username) < 1 {
5192		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
5193	}
5194
5195	if invalidParams.Len() > 0 {
5196		return invalidParams
5197	}
5198	return nil
5199}
5200
5201// SetAuthType sets the AuthType field's value.
5202func (s *ImportSourceCredentialsInput) SetAuthType(v string) *ImportSourceCredentialsInput {
5203	s.AuthType = &v
5204	return s
5205}
5206
5207// SetServerType sets the ServerType field's value.
5208func (s *ImportSourceCredentialsInput) SetServerType(v string) *ImportSourceCredentialsInput {
5209	s.ServerType = &v
5210	return s
5211}
5212
5213// SetShouldOverwrite sets the ShouldOverwrite field's value.
5214func (s *ImportSourceCredentialsInput) SetShouldOverwrite(v bool) *ImportSourceCredentialsInput {
5215	s.ShouldOverwrite = &v
5216	return s
5217}
5218
5219// SetToken sets the Token field's value.
5220func (s *ImportSourceCredentialsInput) SetToken(v string) *ImportSourceCredentialsInput {
5221	s.Token = &v
5222	return s
5223}
5224
5225// SetUsername sets the Username field's value.
5226func (s *ImportSourceCredentialsInput) SetUsername(v string) *ImportSourceCredentialsInput {
5227	s.Username = &v
5228	return s
5229}
5230
5231type ImportSourceCredentialsOutput struct {
5232	_ struct{} `type:"structure"`
5233
5234	// The Amazon Resource Name (ARN) of the token.
5235	Arn *string `locationName:"arn" min:"1" type:"string"`
5236}
5237
5238// String returns the string representation
5239func (s ImportSourceCredentialsOutput) String() string {
5240	return awsutil.Prettify(s)
5241}
5242
5243// GoString returns the string representation
5244func (s ImportSourceCredentialsOutput) GoString() string {
5245	return s.String()
5246}
5247
5248// SetArn sets the Arn field's value.
5249func (s *ImportSourceCredentialsOutput) SetArn(v string) *ImportSourceCredentialsOutput {
5250	s.Arn = &v
5251	return s
5252}
5253
5254type InvalidateProjectCacheInput struct {
5255	_ struct{} `type:"structure"`
5256
5257	// The name of the AWS CodeBuild build project that the cache is reset for.
5258	//
5259	// ProjectName is a required field
5260	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
5261}
5262
5263// String returns the string representation
5264func (s InvalidateProjectCacheInput) String() string {
5265	return awsutil.Prettify(s)
5266}
5267
5268// GoString returns the string representation
5269func (s InvalidateProjectCacheInput) GoString() string {
5270	return s.String()
5271}
5272
5273// Validate inspects the fields of the type to determine if they are valid.
5274func (s *InvalidateProjectCacheInput) Validate() error {
5275	invalidParams := request.ErrInvalidParams{Context: "InvalidateProjectCacheInput"}
5276	if s.ProjectName == nil {
5277		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
5278	}
5279	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
5280		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
5281	}
5282
5283	if invalidParams.Len() > 0 {
5284		return invalidParams
5285	}
5286	return nil
5287}
5288
5289// SetProjectName sets the ProjectName field's value.
5290func (s *InvalidateProjectCacheInput) SetProjectName(v string) *InvalidateProjectCacheInput {
5291	s.ProjectName = &v
5292	return s
5293}
5294
5295type InvalidateProjectCacheOutput struct {
5296	_ struct{} `type:"structure"`
5297}
5298
5299// String returns the string representation
5300func (s InvalidateProjectCacheOutput) String() string {
5301	return awsutil.Prettify(s)
5302}
5303
5304// GoString returns the string representation
5305func (s InvalidateProjectCacheOutput) GoString() string {
5306	return s.String()
5307}
5308
5309type ListBuildsForProjectInput struct {
5310	_ struct{} `type:"structure"`
5311
5312	// During a previous call, if there are more than 100 items in the list, only
5313	// the first 100 items are returned, along with a unique string called a nextToken.
5314	// To get the next batch of items in the list, call this operation again, adding
5315	// the next token to the call. To get all of the items in the list, keep calling
5316	// this operation with each subsequent next token that is returned, until no
5317	// more next tokens are returned.
5318	NextToken *string `locationName:"nextToken" type:"string"`
5319
5320	// The name of the AWS CodeBuild project.
5321	//
5322	// ProjectName is a required field
5323	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
5324
5325	// The order to list build IDs. Valid values include:
5326	//
5327	//    * ASCENDING: List the build IDs in ascending order by build ID.
5328	//
5329	//    * DESCENDING: List the build IDs in descending order by build ID.
5330	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
5331}
5332
5333// String returns the string representation
5334func (s ListBuildsForProjectInput) String() string {
5335	return awsutil.Prettify(s)
5336}
5337
5338// GoString returns the string representation
5339func (s ListBuildsForProjectInput) GoString() string {
5340	return s.String()
5341}
5342
5343// Validate inspects the fields of the type to determine if they are valid.
5344func (s *ListBuildsForProjectInput) Validate() error {
5345	invalidParams := request.ErrInvalidParams{Context: "ListBuildsForProjectInput"}
5346	if s.ProjectName == nil {
5347		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
5348	}
5349	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
5350		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
5351	}
5352
5353	if invalidParams.Len() > 0 {
5354		return invalidParams
5355	}
5356	return nil
5357}
5358
5359// SetNextToken sets the NextToken field's value.
5360func (s *ListBuildsForProjectInput) SetNextToken(v string) *ListBuildsForProjectInput {
5361	s.NextToken = &v
5362	return s
5363}
5364
5365// SetProjectName sets the ProjectName field's value.
5366func (s *ListBuildsForProjectInput) SetProjectName(v string) *ListBuildsForProjectInput {
5367	s.ProjectName = &v
5368	return s
5369}
5370
5371// SetSortOrder sets the SortOrder field's value.
5372func (s *ListBuildsForProjectInput) SetSortOrder(v string) *ListBuildsForProjectInput {
5373	s.SortOrder = &v
5374	return s
5375}
5376
5377type ListBuildsForProjectOutput struct {
5378	_ struct{} `type:"structure"`
5379
5380	// A list of build IDs for the specified build project, with each build ID representing
5381	// a single build.
5382	Ids []*string `locationName:"ids" min:"1" type:"list"`
5383
5384	// If there are more than 100 items in the list, only the first 100 items are
5385	// returned, along with a unique string called a nextToken. To get the next
5386	// batch of items in the list, call this operation again, adding the next token
5387	// to the call.
5388	NextToken *string `locationName:"nextToken" type:"string"`
5389}
5390
5391// String returns the string representation
5392func (s ListBuildsForProjectOutput) String() string {
5393	return awsutil.Prettify(s)
5394}
5395
5396// GoString returns the string representation
5397func (s ListBuildsForProjectOutput) GoString() string {
5398	return s.String()
5399}
5400
5401// SetIds sets the Ids field's value.
5402func (s *ListBuildsForProjectOutput) SetIds(v []*string) *ListBuildsForProjectOutput {
5403	s.Ids = v
5404	return s
5405}
5406
5407// SetNextToken sets the NextToken field's value.
5408func (s *ListBuildsForProjectOutput) SetNextToken(v string) *ListBuildsForProjectOutput {
5409	s.NextToken = &v
5410	return s
5411}
5412
5413type ListBuildsInput struct {
5414	_ struct{} `type:"structure"`
5415
5416	// During a previous call, if there are more than 100 items in the list, only
5417	// the first 100 items are returned, along with a unique string called a nextToken.
5418	// To get the next batch of items in the list, call this operation again, adding
5419	// the next token to the call. To get all of the items in the list, keep calling
5420	// this operation with each subsequent next token that is returned, until no
5421	// more next tokens are returned.
5422	NextToken *string `locationName:"nextToken" type:"string"`
5423
5424	// The order to list build IDs. Valid values include:
5425	//
5426	//    * ASCENDING: List the build IDs in ascending order by build ID.
5427	//
5428	//    * DESCENDING: List the build IDs in descending order by build ID.
5429	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
5430}
5431
5432// String returns the string representation
5433func (s ListBuildsInput) String() string {
5434	return awsutil.Prettify(s)
5435}
5436
5437// GoString returns the string representation
5438func (s ListBuildsInput) GoString() string {
5439	return s.String()
5440}
5441
5442// SetNextToken sets the NextToken field's value.
5443func (s *ListBuildsInput) SetNextToken(v string) *ListBuildsInput {
5444	s.NextToken = &v
5445	return s
5446}
5447
5448// SetSortOrder sets the SortOrder field's value.
5449func (s *ListBuildsInput) SetSortOrder(v string) *ListBuildsInput {
5450	s.SortOrder = &v
5451	return s
5452}
5453
5454type ListBuildsOutput struct {
5455	_ struct{} `type:"structure"`
5456
5457	// A list of build IDs, with each build ID representing a single build.
5458	Ids []*string `locationName:"ids" min:"1" type:"list"`
5459
5460	// If there are more than 100 items in the list, only the first 100 items are
5461	// returned, along with a unique string called a nextToken. To get the next
5462	// batch of items in the list, call this operation again, adding the next token
5463	// to the call.
5464	NextToken *string `locationName:"nextToken" type:"string"`
5465}
5466
5467// String returns the string representation
5468func (s ListBuildsOutput) String() string {
5469	return awsutil.Prettify(s)
5470}
5471
5472// GoString returns the string representation
5473func (s ListBuildsOutput) GoString() string {
5474	return s.String()
5475}
5476
5477// SetIds sets the Ids field's value.
5478func (s *ListBuildsOutput) SetIds(v []*string) *ListBuildsOutput {
5479	s.Ids = v
5480	return s
5481}
5482
5483// SetNextToken sets the NextToken field's value.
5484func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput {
5485	s.NextToken = &v
5486	return s
5487}
5488
5489type ListCuratedEnvironmentImagesInput struct {
5490	_ struct{} `type:"structure"`
5491}
5492
5493// String returns the string representation
5494func (s ListCuratedEnvironmentImagesInput) String() string {
5495	return awsutil.Prettify(s)
5496}
5497
5498// GoString returns the string representation
5499func (s ListCuratedEnvironmentImagesInput) GoString() string {
5500	return s.String()
5501}
5502
5503type ListCuratedEnvironmentImagesOutput struct {
5504	_ struct{} `type:"structure"`
5505
5506	// Information about supported platforms for Docker images that are managed
5507	// by AWS CodeBuild.
5508	Platforms []*EnvironmentPlatform `locationName:"platforms" type:"list"`
5509}
5510
5511// String returns the string representation
5512func (s ListCuratedEnvironmentImagesOutput) String() string {
5513	return awsutil.Prettify(s)
5514}
5515
5516// GoString returns the string representation
5517func (s ListCuratedEnvironmentImagesOutput) GoString() string {
5518	return s.String()
5519}
5520
5521// SetPlatforms sets the Platforms field's value.
5522func (s *ListCuratedEnvironmentImagesOutput) SetPlatforms(v []*EnvironmentPlatform) *ListCuratedEnvironmentImagesOutput {
5523	s.Platforms = v
5524	return s
5525}
5526
5527type ListProjectsInput struct {
5528	_ struct{} `type:"structure"`
5529
5530	// During a previous call, if there are more than 100 items in the list, only
5531	// the first 100 items are returned, along with a unique string called a nextToken.
5532	// To get the next batch of items in the list, call this operation again, adding
5533	// the next token to the call. To get all of the items in the list, keep calling
5534	// this operation with each subsequent next token that is returned, until no
5535	// more next tokens are returned.
5536	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
5537
5538	// The criterion to be used to list build project names. Valid values include:
5539	//
5540	//    * CREATED_TIME: List based on when each build project was created.
5541	//
5542	//    * LAST_MODIFIED_TIME: List based on when information about each build
5543	//    project was last changed.
5544	//
5545	//    * NAME: List based on each build project's name.
5546	//
5547	// Use sortOrder to specify in what order to list the build project names based
5548	// on the preceding criteria.
5549	SortBy *string `locationName:"sortBy" type:"string" enum:"ProjectSortByType"`
5550
5551	// The order in which to list build projects. Valid values include:
5552	//
5553	//    * ASCENDING: List in ascending order.
5554	//
5555	//    * DESCENDING: List in descending order.
5556	//
5557	// Use sortBy to specify the criterion to be used to list build project names.
5558	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
5559}
5560
5561// String returns the string representation
5562func (s ListProjectsInput) String() string {
5563	return awsutil.Prettify(s)
5564}
5565
5566// GoString returns the string representation
5567func (s ListProjectsInput) GoString() string {
5568	return s.String()
5569}
5570
5571// Validate inspects the fields of the type to determine if they are valid.
5572func (s *ListProjectsInput) Validate() error {
5573	invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"}
5574	if s.NextToken != nil && len(*s.NextToken) < 1 {
5575		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
5576	}
5577
5578	if invalidParams.Len() > 0 {
5579		return invalidParams
5580	}
5581	return nil
5582}
5583
5584// SetNextToken sets the NextToken field's value.
5585func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput {
5586	s.NextToken = &v
5587	return s
5588}
5589
5590// SetSortBy sets the SortBy field's value.
5591func (s *ListProjectsInput) SetSortBy(v string) *ListProjectsInput {
5592	s.SortBy = &v
5593	return s
5594}
5595
5596// SetSortOrder sets the SortOrder field's value.
5597func (s *ListProjectsInput) SetSortOrder(v string) *ListProjectsInput {
5598	s.SortOrder = &v
5599	return s
5600}
5601
5602type ListProjectsOutput struct {
5603	_ struct{} `type:"structure"`
5604
5605	// If there are more than 100 items in the list, only the first 100 items are
5606	// returned, along with a unique string called a nextToken. To get the next
5607	// batch of items in the list, call this operation again, adding the next token
5608	// to the call.
5609	NextToken *string `locationName:"nextToken" type:"string"`
5610
5611	// The list of build project names, with each build project name representing
5612	// a single build project.
5613	Projects []*string `locationName:"projects" min:"1" type:"list"`
5614}
5615
5616// String returns the string representation
5617func (s ListProjectsOutput) String() string {
5618	return awsutil.Prettify(s)
5619}
5620
5621// GoString returns the string representation
5622func (s ListProjectsOutput) GoString() string {
5623	return s.String()
5624}
5625
5626// SetNextToken sets the NextToken field's value.
5627func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput {
5628	s.NextToken = &v
5629	return s
5630}
5631
5632// SetProjects sets the Projects field's value.
5633func (s *ListProjectsOutput) SetProjects(v []*string) *ListProjectsOutput {
5634	s.Projects = v
5635	return s
5636}
5637
5638type ListReportGroupsInput struct {
5639	_ struct{} `type:"structure"`
5640
5641	// The maximum number of paginated report groups returned per response. Use
5642	// nextToken to iterate pages in the list of returned ReportGroup objects. The
5643	// default value is 100.
5644	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
5645
5646	// During a previous call, the maximum number of items that can be returned
5647	// is the value specified in maxResults. If there more items in the list, then
5648	// a unique string called a nextToken is returned. To get the next batch of
5649	// items in the list, call this operation again, adding the next token to the
5650	// call. To get all of the items in the list, keep calling this operation with
5651	// each subsequent next token that is returned, until no more next tokens are
5652	// returned.
5653	NextToken *string `locationName:"nextToken" type:"string"`
5654
5655	// The criterion to be used to list build report groups. Valid values include:
5656	//
5657	//    * CREATED_TIME: List based on when each report group was created.
5658	//
5659	//    * LAST_MODIFIED_TIME: List based on when each report group was last changed.
5660	//
5661	//    * NAME: List based on each report group's name.
5662	SortBy *string `locationName:"sortBy" type:"string" enum:"ReportGroupSortByType"`
5663
5664	// Used to specify the order to sort the list of returned report groups. Valid
5665	// values are ASCENDING and DESCENDING.
5666	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
5667}
5668
5669// String returns the string representation
5670func (s ListReportGroupsInput) String() string {
5671	return awsutil.Prettify(s)
5672}
5673
5674// GoString returns the string representation
5675func (s ListReportGroupsInput) GoString() string {
5676	return s.String()
5677}
5678
5679// Validate inspects the fields of the type to determine if they are valid.
5680func (s *ListReportGroupsInput) Validate() error {
5681	invalidParams := request.ErrInvalidParams{Context: "ListReportGroupsInput"}
5682	if s.MaxResults != nil && *s.MaxResults < 1 {
5683		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5684	}
5685
5686	if invalidParams.Len() > 0 {
5687		return invalidParams
5688	}
5689	return nil
5690}
5691
5692// SetMaxResults sets the MaxResults field's value.
5693func (s *ListReportGroupsInput) SetMaxResults(v int64) *ListReportGroupsInput {
5694	s.MaxResults = &v
5695	return s
5696}
5697
5698// SetNextToken sets the NextToken field's value.
5699func (s *ListReportGroupsInput) SetNextToken(v string) *ListReportGroupsInput {
5700	s.NextToken = &v
5701	return s
5702}
5703
5704// SetSortBy sets the SortBy field's value.
5705func (s *ListReportGroupsInput) SetSortBy(v string) *ListReportGroupsInput {
5706	s.SortBy = &v
5707	return s
5708}
5709
5710// SetSortOrder sets the SortOrder field's value.
5711func (s *ListReportGroupsInput) SetSortOrder(v string) *ListReportGroupsInput {
5712	s.SortOrder = &v
5713	return s
5714}
5715
5716type ListReportGroupsOutput struct {
5717	_ struct{} `type:"structure"`
5718
5719	// During a previous call, the maximum number of items that can be returned
5720	// is the value specified in maxResults. If there more items in the list, then
5721	// a unique string called a nextToken is returned. To get the next batch of
5722	// items in the list, call this operation again, adding the next token to the
5723	// call. To get all of the items in the list, keep calling this operation with
5724	// each subsequent next token that is returned, until no more next tokens are
5725	// returned.
5726	NextToken *string `locationName:"nextToken" type:"string"`
5727
5728	// The list of ARNs for the report groups in the current AWS account.
5729	ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"`
5730}
5731
5732// String returns the string representation
5733func (s ListReportGroupsOutput) String() string {
5734	return awsutil.Prettify(s)
5735}
5736
5737// GoString returns the string representation
5738func (s ListReportGroupsOutput) GoString() string {
5739	return s.String()
5740}
5741
5742// SetNextToken sets the NextToken field's value.
5743func (s *ListReportGroupsOutput) SetNextToken(v string) *ListReportGroupsOutput {
5744	s.NextToken = &v
5745	return s
5746}
5747
5748// SetReportGroups sets the ReportGroups field's value.
5749func (s *ListReportGroupsOutput) SetReportGroups(v []*string) *ListReportGroupsOutput {
5750	s.ReportGroups = v
5751	return s
5752}
5753
5754type ListReportsForReportGroupInput struct {
5755	_ struct{} `type:"structure"`
5756
5757	// A ReportFilter object used to filter the returned reports.
5758	Filter *ReportFilter `locationName:"filter" type:"structure"`
5759
5760	// The maximum number of paginated reports in this report group returned per
5761	// response. Use nextToken to iterate pages in the list of returned Report objects.
5762	// The default value is 100.
5763	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
5764
5765	// During a previous call, the maximum number of items that can be returned
5766	// is the value specified in maxResults. If there more items in the list, then
5767	// a unique string called a nextToken is returned. To get the next batch of
5768	// items in the list, call this operation again, adding the next token to the
5769	// call. To get all of the items in the list, keep calling this operation with
5770	// each subsequent next token that is returned, until no more next tokens are
5771	// returned.
5772	NextToken *string `locationName:"nextToken" type:"string"`
5773
5774	// The ARN of the report group for which you want to return report ARNs.
5775	//
5776	// ReportGroupArn is a required field
5777	ReportGroupArn *string `locationName:"reportGroupArn" type:"string" required:"true"`
5778
5779	// Use to specify whether the results are returned in ascending or descending
5780	// order.
5781	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
5782}
5783
5784// String returns the string representation
5785func (s ListReportsForReportGroupInput) String() string {
5786	return awsutil.Prettify(s)
5787}
5788
5789// GoString returns the string representation
5790func (s ListReportsForReportGroupInput) GoString() string {
5791	return s.String()
5792}
5793
5794// Validate inspects the fields of the type to determine if they are valid.
5795func (s *ListReportsForReportGroupInput) Validate() error {
5796	invalidParams := request.ErrInvalidParams{Context: "ListReportsForReportGroupInput"}
5797	if s.MaxResults != nil && *s.MaxResults < 1 {
5798		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5799	}
5800	if s.ReportGroupArn == nil {
5801		invalidParams.Add(request.NewErrParamRequired("ReportGroupArn"))
5802	}
5803
5804	if invalidParams.Len() > 0 {
5805		return invalidParams
5806	}
5807	return nil
5808}
5809
5810// SetFilter sets the Filter field's value.
5811func (s *ListReportsForReportGroupInput) SetFilter(v *ReportFilter) *ListReportsForReportGroupInput {
5812	s.Filter = v
5813	return s
5814}
5815
5816// SetMaxResults sets the MaxResults field's value.
5817func (s *ListReportsForReportGroupInput) SetMaxResults(v int64) *ListReportsForReportGroupInput {
5818	s.MaxResults = &v
5819	return s
5820}
5821
5822// SetNextToken sets the NextToken field's value.
5823func (s *ListReportsForReportGroupInput) SetNextToken(v string) *ListReportsForReportGroupInput {
5824	s.NextToken = &v
5825	return s
5826}
5827
5828// SetReportGroupArn sets the ReportGroupArn field's value.
5829func (s *ListReportsForReportGroupInput) SetReportGroupArn(v string) *ListReportsForReportGroupInput {
5830	s.ReportGroupArn = &v
5831	return s
5832}
5833
5834// SetSortOrder sets the SortOrder field's value.
5835func (s *ListReportsForReportGroupInput) SetSortOrder(v string) *ListReportsForReportGroupInput {
5836	s.SortOrder = &v
5837	return s
5838}
5839
5840type ListReportsForReportGroupOutput struct {
5841	_ struct{} `type:"structure"`
5842
5843	// During a previous call, the maximum number of items that can be returned
5844	// is the value specified in maxResults. If there more items in the list, then
5845	// a unique string called a nextToken is returned. To get the next batch of
5846	// items in the list, call this operation again, adding the next token to the
5847	// call. To get all of the items in the list, keep calling this operation with
5848	// each subsequent next token that is returned, until no more next tokens are
5849	// returned.
5850	NextToken *string `locationName:"nextToken" type:"string"`
5851
5852	// The list of returned report group ARNs.
5853	Reports []*string `locationName:"reports" min:"1" type:"list"`
5854}
5855
5856// String returns the string representation
5857func (s ListReportsForReportGroupOutput) String() string {
5858	return awsutil.Prettify(s)
5859}
5860
5861// GoString returns the string representation
5862func (s ListReportsForReportGroupOutput) GoString() string {
5863	return s.String()
5864}
5865
5866// SetNextToken sets the NextToken field's value.
5867func (s *ListReportsForReportGroupOutput) SetNextToken(v string) *ListReportsForReportGroupOutput {
5868	s.NextToken = &v
5869	return s
5870}
5871
5872// SetReports sets the Reports field's value.
5873func (s *ListReportsForReportGroupOutput) SetReports(v []*string) *ListReportsForReportGroupOutput {
5874	s.Reports = v
5875	return s
5876}
5877
5878type ListReportsInput struct {
5879	_ struct{} `type:"structure"`
5880
5881	// A ReportFilter object used to filter the returned reports.
5882	Filter *ReportFilter `locationName:"filter" type:"structure"`
5883
5884	// The maximum number of paginated reports returned per response. Use nextToken
5885	// to iterate pages in the list of returned Report objects. The default value
5886	// is 100.
5887	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
5888
5889	// During a previous call, the maximum number of items that can be returned
5890	// is the value specified in maxResults. If there more items in the list, then
5891	// a unique string called a nextToken is returned. To get the next batch of
5892	// items in the list, call this operation again, adding the next token to the
5893	// call. To get all of the items in the list, keep calling this operation with
5894	// each subsequent next token that is returned, until no more next tokens are
5895	// returned.
5896	NextToken *string `locationName:"nextToken" type:"string"`
5897
5898	// Specifies the sort order for the list of returned reports. Valid values are:
5899	//
5900	//    * ASCENDING: return reports in chronological order based on their creation
5901	//    date.
5902	//
5903	//    * DESCENDING: return reports in the reverse chronological order based
5904	//    on their creation date.
5905	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
5906}
5907
5908// String returns the string representation
5909func (s ListReportsInput) String() string {
5910	return awsutil.Prettify(s)
5911}
5912
5913// GoString returns the string representation
5914func (s ListReportsInput) GoString() string {
5915	return s.String()
5916}
5917
5918// Validate inspects the fields of the type to determine if they are valid.
5919func (s *ListReportsInput) Validate() error {
5920	invalidParams := request.ErrInvalidParams{Context: "ListReportsInput"}
5921	if s.MaxResults != nil && *s.MaxResults < 1 {
5922		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
5923	}
5924
5925	if invalidParams.Len() > 0 {
5926		return invalidParams
5927	}
5928	return nil
5929}
5930
5931// SetFilter sets the Filter field's value.
5932func (s *ListReportsInput) SetFilter(v *ReportFilter) *ListReportsInput {
5933	s.Filter = v
5934	return s
5935}
5936
5937// SetMaxResults sets the MaxResults field's value.
5938func (s *ListReportsInput) SetMaxResults(v int64) *ListReportsInput {
5939	s.MaxResults = &v
5940	return s
5941}
5942
5943// SetNextToken sets the NextToken field's value.
5944func (s *ListReportsInput) SetNextToken(v string) *ListReportsInput {
5945	s.NextToken = &v
5946	return s
5947}
5948
5949// SetSortOrder sets the SortOrder field's value.
5950func (s *ListReportsInput) SetSortOrder(v string) *ListReportsInput {
5951	s.SortOrder = &v
5952	return s
5953}
5954
5955type ListReportsOutput struct {
5956	_ struct{} `type:"structure"`
5957
5958	// During a previous call, the maximum number of items that can be returned
5959	// is the value specified in maxResults. If there more items in the list, then
5960	// a unique string called a nextToken is returned. To get the next batch of
5961	// items in the list, call this operation again, adding the next token to the
5962	// call. To get all of the items in the list, keep calling this operation with
5963	// each subsequent next token that is returned, until no more next tokens are
5964	// returned.
5965	NextToken *string `locationName:"nextToken" type:"string"`
5966
5967	// The list of returned ARNs for the reports in the current AWS account.
5968	Reports []*string `locationName:"reports" min:"1" type:"list"`
5969}
5970
5971// String returns the string representation
5972func (s ListReportsOutput) String() string {
5973	return awsutil.Prettify(s)
5974}
5975
5976// GoString returns the string representation
5977func (s ListReportsOutput) GoString() string {
5978	return s.String()
5979}
5980
5981// SetNextToken sets the NextToken field's value.
5982func (s *ListReportsOutput) SetNextToken(v string) *ListReportsOutput {
5983	s.NextToken = &v
5984	return s
5985}
5986
5987// SetReports sets the Reports field's value.
5988func (s *ListReportsOutput) SetReports(v []*string) *ListReportsOutput {
5989	s.Reports = v
5990	return s
5991}
5992
5993type ListSharedProjectsInput struct {
5994	_ struct{} `type:"structure"`
5995
5996	// The maximum number of paginated shared build projects returned per response.
5997	// Use nextToken to iterate pages in the list of returned Project objects. The
5998	// default value is 100.
5999	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
6000
6001	// During a previous call, the maximum number of items that can be returned
6002	// is the value specified in maxResults. If there more items in the list, then
6003	// a unique string called a nextToken is returned. To get the next batch of
6004	// items in the list, call this operation again, adding the next token to the
6005	// call. To get all of the items in the list, keep calling this operation with
6006	// each subsequent next token that is returned, until no more next tokens are
6007	// returned.
6008	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
6009
6010	// The criterion to be used to list build projects shared with the current AWS
6011	// account or user. Valid values include:
6012	//
6013	//    * ARN: List based on the ARN.
6014	//
6015	//    * MODIFIED_TIME: List based on when information about the shared project
6016	//    was last changed.
6017	SortBy *string `locationName:"sortBy" type:"string" enum:"SharedResourceSortByType"`
6018
6019	// The order in which to list shared build projects. Valid values include:
6020	//
6021	//    * ASCENDING: List in ascending order.
6022	//
6023	//    * DESCENDING: List in descending order.
6024	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
6025}
6026
6027// String returns the string representation
6028func (s ListSharedProjectsInput) String() string {
6029	return awsutil.Prettify(s)
6030}
6031
6032// GoString returns the string representation
6033func (s ListSharedProjectsInput) GoString() string {
6034	return s.String()
6035}
6036
6037// Validate inspects the fields of the type to determine if they are valid.
6038func (s *ListSharedProjectsInput) Validate() error {
6039	invalidParams := request.ErrInvalidParams{Context: "ListSharedProjectsInput"}
6040	if s.MaxResults != nil && *s.MaxResults < 1 {
6041		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6042	}
6043	if s.NextToken != nil && len(*s.NextToken) < 1 {
6044		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6045	}
6046
6047	if invalidParams.Len() > 0 {
6048		return invalidParams
6049	}
6050	return nil
6051}
6052
6053// SetMaxResults sets the MaxResults field's value.
6054func (s *ListSharedProjectsInput) SetMaxResults(v int64) *ListSharedProjectsInput {
6055	s.MaxResults = &v
6056	return s
6057}
6058
6059// SetNextToken sets the NextToken field's value.
6060func (s *ListSharedProjectsInput) SetNextToken(v string) *ListSharedProjectsInput {
6061	s.NextToken = &v
6062	return s
6063}
6064
6065// SetSortBy sets the SortBy field's value.
6066func (s *ListSharedProjectsInput) SetSortBy(v string) *ListSharedProjectsInput {
6067	s.SortBy = &v
6068	return s
6069}
6070
6071// SetSortOrder sets the SortOrder field's value.
6072func (s *ListSharedProjectsInput) SetSortOrder(v string) *ListSharedProjectsInput {
6073	s.SortOrder = &v
6074	return s
6075}
6076
6077type ListSharedProjectsOutput struct {
6078	_ struct{} `type:"structure"`
6079
6080	// During a previous call, the maximum number of items that can be returned
6081	// is the value specified in maxResults. If there more items in the list, then
6082	// a unique string called a nextToken is returned. To get the next batch of
6083	// items in the list, call this operation again, adding the next token to the
6084	// call. To get all of the items in the list, keep calling this operation with
6085	// each subsequent next token that is returned, until no more next tokens are
6086	// returned.
6087	NextToken *string `locationName:"nextToken" type:"string"`
6088
6089	// The list of ARNs for the build projects shared with the current AWS account
6090	// or user.
6091	Projects []*string `locationName:"projects" min:"1" type:"list"`
6092}
6093
6094// String returns the string representation
6095func (s ListSharedProjectsOutput) String() string {
6096	return awsutil.Prettify(s)
6097}
6098
6099// GoString returns the string representation
6100func (s ListSharedProjectsOutput) GoString() string {
6101	return s.String()
6102}
6103
6104// SetNextToken sets the NextToken field's value.
6105func (s *ListSharedProjectsOutput) SetNextToken(v string) *ListSharedProjectsOutput {
6106	s.NextToken = &v
6107	return s
6108}
6109
6110// SetProjects sets the Projects field's value.
6111func (s *ListSharedProjectsOutput) SetProjects(v []*string) *ListSharedProjectsOutput {
6112	s.Projects = v
6113	return s
6114}
6115
6116type ListSharedReportGroupsInput struct {
6117	_ struct{} `type:"structure"`
6118
6119	// The maximum number of paginated shared report groups per response. Use nextToken
6120	// to iterate pages in the list of returned ReportGroup objects. The default
6121	// value is 100.
6122	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
6123
6124	// During a previous call, the maximum number of items that can be returned
6125	// is the value specified in maxResults. If there more items in the list, then
6126	// a unique string called a nextToken is returned. To get the next batch of
6127	// items in the list, call this operation again, adding the next token to the
6128	// call. To get all of the items in the list, keep calling this operation with
6129	// each subsequent next token that is returned, until no more next tokens are
6130	// returned.
6131	NextToken *string `locationName:"nextToken" type:"string"`
6132
6133	// The criterion to be used to list report groups shared with the current AWS
6134	// account or user. Valid values include:
6135	//
6136	//    * ARN: List based on the ARN.
6137	//
6138	//    * MODIFIED_TIME: List based on when information about the shared report
6139	//    group was last changed.
6140	SortBy *string `locationName:"sortBy" type:"string" enum:"SharedResourceSortByType"`
6141
6142	// The order in which to list shared report groups. Valid values include:
6143	//
6144	//    * ASCENDING: List in ascending order.
6145	//
6146	//    * DESCENDING: List in descending order.
6147	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
6148}
6149
6150// String returns the string representation
6151func (s ListSharedReportGroupsInput) String() string {
6152	return awsutil.Prettify(s)
6153}
6154
6155// GoString returns the string representation
6156func (s ListSharedReportGroupsInput) GoString() string {
6157	return s.String()
6158}
6159
6160// Validate inspects the fields of the type to determine if they are valid.
6161func (s *ListSharedReportGroupsInput) Validate() error {
6162	invalidParams := request.ErrInvalidParams{Context: "ListSharedReportGroupsInput"}
6163	if s.MaxResults != nil && *s.MaxResults < 1 {
6164		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
6165	}
6166
6167	if invalidParams.Len() > 0 {
6168		return invalidParams
6169	}
6170	return nil
6171}
6172
6173// SetMaxResults sets the MaxResults field's value.
6174func (s *ListSharedReportGroupsInput) SetMaxResults(v int64) *ListSharedReportGroupsInput {
6175	s.MaxResults = &v
6176	return s
6177}
6178
6179// SetNextToken sets the NextToken field's value.
6180func (s *ListSharedReportGroupsInput) SetNextToken(v string) *ListSharedReportGroupsInput {
6181	s.NextToken = &v
6182	return s
6183}
6184
6185// SetSortBy sets the SortBy field's value.
6186func (s *ListSharedReportGroupsInput) SetSortBy(v string) *ListSharedReportGroupsInput {
6187	s.SortBy = &v
6188	return s
6189}
6190
6191// SetSortOrder sets the SortOrder field's value.
6192func (s *ListSharedReportGroupsInput) SetSortOrder(v string) *ListSharedReportGroupsInput {
6193	s.SortOrder = &v
6194	return s
6195}
6196
6197type ListSharedReportGroupsOutput struct {
6198	_ struct{} `type:"structure"`
6199
6200	// During a previous call, the maximum number of items that can be returned
6201	// is the value specified in maxResults. If there more items in the list, then
6202	// a unique string called a nextToken is returned. To get the next batch of
6203	// items in the list, call this operation again, adding the next token to the
6204	// call. To get all of the items in the list, keep calling this operation with
6205	// each subsequent next token that is returned, until no more next tokens are
6206	// returned.
6207	NextToken *string `locationName:"nextToken" type:"string"`
6208
6209	// The list of ARNs for the report groups shared with the current AWS account
6210	// or user.
6211	ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"`
6212}
6213
6214// String returns the string representation
6215func (s ListSharedReportGroupsOutput) String() string {
6216	return awsutil.Prettify(s)
6217}
6218
6219// GoString returns the string representation
6220func (s ListSharedReportGroupsOutput) GoString() string {
6221	return s.String()
6222}
6223
6224// SetNextToken sets the NextToken field's value.
6225func (s *ListSharedReportGroupsOutput) SetNextToken(v string) *ListSharedReportGroupsOutput {
6226	s.NextToken = &v
6227	return s
6228}
6229
6230// SetReportGroups sets the ReportGroups field's value.
6231func (s *ListSharedReportGroupsOutput) SetReportGroups(v []*string) *ListSharedReportGroupsOutput {
6232	s.ReportGroups = v
6233	return s
6234}
6235
6236type ListSourceCredentialsInput struct {
6237	_ struct{} `type:"structure"`
6238}
6239
6240// String returns the string representation
6241func (s ListSourceCredentialsInput) String() string {
6242	return awsutil.Prettify(s)
6243}
6244
6245// GoString returns the string representation
6246func (s ListSourceCredentialsInput) GoString() string {
6247	return s.String()
6248}
6249
6250type ListSourceCredentialsOutput struct {
6251	_ struct{} `type:"structure"`
6252
6253	// A list of SourceCredentialsInfo objects. Each SourceCredentialsInfo object
6254	// includes the authentication type, token ARN, and type of source provider
6255	// for one set of credentials.
6256	SourceCredentialsInfos []*SourceCredentialsInfo `locationName:"sourceCredentialsInfos" type:"list"`
6257}
6258
6259// String returns the string representation
6260func (s ListSourceCredentialsOutput) String() string {
6261	return awsutil.Prettify(s)
6262}
6263
6264// GoString returns the string representation
6265func (s ListSourceCredentialsOutput) GoString() string {
6266	return s.String()
6267}
6268
6269// SetSourceCredentialsInfos sets the SourceCredentialsInfos field's value.
6270func (s *ListSourceCredentialsOutput) SetSourceCredentialsInfos(v []*SourceCredentialsInfo) *ListSourceCredentialsOutput {
6271	s.SourceCredentialsInfos = v
6272	return s
6273}
6274
6275// Information about logs for a build project. These can be logs in Amazon CloudWatch
6276// Logs, built in a specified S3 bucket, or both.
6277type LogsConfig struct {
6278	_ struct{} `type:"structure"`
6279
6280	// Information about Amazon CloudWatch Logs for a build project. Amazon CloudWatch
6281	// Logs are enabled by default.
6282	CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" type:"structure"`
6283
6284	// Information about logs built to an S3 bucket for a build project. S3 logs
6285	// are not enabled by default.
6286	S3Logs *S3LogsConfig `locationName:"s3Logs" type:"structure"`
6287}
6288
6289// String returns the string representation
6290func (s LogsConfig) String() string {
6291	return awsutil.Prettify(s)
6292}
6293
6294// GoString returns the string representation
6295func (s LogsConfig) GoString() string {
6296	return s.String()
6297}
6298
6299// Validate inspects the fields of the type to determine if they are valid.
6300func (s *LogsConfig) Validate() error {
6301	invalidParams := request.ErrInvalidParams{Context: "LogsConfig"}
6302	if s.CloudWatchLogs != nil {
6303		if err := s.CloudWatchLogs.Validate(); err != nil {
6304			invalidParams.AddNested("CloudWatchLogs", err.(request.ErrInvalidParams))
6305		}
6306	}
6307	if s.S3Logs != nil {
6308		if err := s.S3Logs.Validate(); err != nil {
6309			invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams))
6310		}
6311	}
6312
6313	if invalidParams.Len() > 0 {
6314		return invalidParams
6315	}
6316	return nil
6317}
6318
6319// SetCloudWatchLogs sets the CloudWatchLogs field's value.
6320func (s *LogsConfig) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsConfig {
6321	s.CloudWatchLogs = v
6322	return s
6323}
6324
6325// SetS3Logs sets the S3Logs field's value.
6326func (s *LogsConfig) SetS3Logs(v *S3LogsConfig) *LogsConfig {
6327	s.S3Logs = v
6328	return s
6329}
6330
6331// Information about build logs in Amazon CloudWatch Logs.
6332type LogsLocation struct {
6333	_ struct{} `type:"structure"`
6334
6335	// Information about Amazon CloudWatch Logs for a build project.
6336	CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" type:"structure"`
6337
6338	// The ARN of Amazon CloudWatch Logs for a build project. Its format is arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}.
6339	// For more information, see Resources Defined by Amazon CloudWatch Logs (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatchlogs.html#amazoncloudwatchlogs-resources-for-iam-policies).
6340	CloudWatchLogsArn *string `locationName:"cloudWatchLogsArn" type:"string"`
6341
6342	// The URL to an individual build log in Amazon CloudWatch Logs.
6343	DeepLink *string `locationName:"deepLink" type:"string"`
6344
6345	// The name of the Amazon CloudWatch Logs group for the build logs.
6346	GroupName *string `locationName:"groupName" type:"string"`
6347
6348	// The URL to a build log in an S3 bucket.
6349	S3DeepLink *string `locationName:"s3DeepLink" type:"string"`
6350
6351	// Information about S3 logs for a build project.
6352	S3Logs *S3LogsConfig `locationName:"s3Logs" type:"structure"`
6353
6354	// The ARN of S3 logs for a build project. Its format is arn:${Partition}:s3:::${BucketName}/${ObjectName}.
6355	// For more information, see Resources Defined by Amazon S3 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html#amazons3-resources-for-iam-policies).
6356	S3LogsArn *string `locationName:"s3LogsArn" type:"string"`
6357
6358	// The name of the Amazon CloudWatch Logs stream for the build logs.
6359	StreamName *string `locationName:"streamName" type:"string"`
6360}
6361
6362// String returns the string representation
6363func (s LogsLocation) String() string {
6364	return awsutil.Prettify(s)
6365}
6366
6367// GoString returns the string representation
6368func (s LogsLocation) GoString() string {
6369	return s.String()
6370}
6371
6372// SetCloudWatchLogs sets the CloudWatchLogs field's value.
6373func (s *LogsLocation) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsLocation {
6374	s.CloudWatchLogs = v
6375	return s
6376}
6377
6378// SetCloudWatchLogsArn sets the CloudWatchLogsArn field's value.
6379func (s *LogsLocation) SetCloudWatchLogsArn(v string) *LogsLocation {
6380	s.CloudWatchLogsArn = &v
6381	return s
6382}
6383
6384// SetDeepLink sets the DeepLink field's value.
6385func (s *LogsLocation) SetDeepLink(v string) *LogsLocation {
6386	s.DeepLink = &v
6387	return s
6388}
6389
6390// SetGroupName sets the GroupName field's value.
6391func (s *LogsLocation) SetGroupName(v string) *LogsLocation {
6392	s.GroupName = &v
6393	return s
6394}
6395
6396// SetS3DeepLink sets the S3DeepLink field's value.
6397func (s *LogsLocation) SetS3DeepLink(v string) *LogsLocation {
6398	s.S3DeepLink = &v
6399	return s
6400}
6401
6402// SetS3Logs sets the S3Logs field's value.
6403func (s *LogsLocation) SetS3Logs(v *S3LogsConfig) *LogsLocation {
6404	s.S3Logs = v
6405	return s
6406}
6407
6408// SetS3LogsArn sets the S3LogsArn field's value.
6409func (s *LogsLocation) SetS3LogsArn(v string) *LogsLocation {
6410	s.S3LogsArn = &v
6411	return s
6412}
6413
6414// SetStreamName sets the StreamName field's value.
6415func (s *LogsLocation) SetStreamName(v string) *LogsLocation {
6416	s.StreamName = &v
6417	return s
6418}
6419
6420// Describes a network interface.
6421type NetworkInterface struct {
6422	_ struct{} `type:"structure"`
6423
6424	// The ID of the network interface.
6425	NetworkInterfaceId *string `locationName:"networkInterfaceId" min:"1" type:"string"`
6426
6427	// The ID of the subnet.
6428	SubnetId *string `locationName:"subnetId" min:"1" type:"string"`
6429}
6430
6431// String returns the string representation
6432func (s NetworkInterface) String() string {
6433	return awsutil.Prettify(s)
6434}
6435
6436// GoString returns the string representation
6437func (s NetworkInterface) GoString() string {
6438	return s.String()
6439}
6440
6441// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
6442func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
6443	s.NetworkInterfaceId = &v
6444	return s
6445}
6446
6447// SetSubnetId sets the SubnetId field's value.
6448func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
6449	s.SubnetId = &v
6450	return s
6451}
6452
6453// Additional information about a build phase that has an error. You can use
6454// this information for troubleshooting.
6455type PhaseContext struct {
6456	_ struct{} `type:"structure"`
6457
6458	// An explanation of the build phase's context. This might include a command
6459	// ID and an exit code.
6460	Message *string `locationName:"message" type:"string"`
6461
6462	// The status code for the context of the build phase.
6463	StatusCode *string `locationName:"statusCode" type:"string"`
6464}
6465
6466// String returns the string representation
6467func (s PhaseContext) String() string {
6468	return awsutil.Prettify(s)
6469}
6470
6471// GoString returns the string representation
6472func (s PhaseContext) GoString() string {
6473	return s.String()
6474}
6475
6476// SetMessage sets the Message field's value.
6477func (s *PhaseContext) SetMessage(v string) *PhaseContext {
6478	s.Message = &v
6479	return s
6480}
6481
6482// SetStatusCode sets the StatusCode field's value.
6483func (s *PhaseContext) SetStatusCode(v string) *PhaseContext {
6484	s.StatusCode = &v
6485	return s
6486}
6487
6488// Information about a build project.
6489type Project struct {
6490	_ struct{} `type:"structure"`
6491
6492	// The Amazon Resource Name (ARN) of the build project.
6493	Arn *string `locationName:"arn" type:"string"`
6494
6495	// Information about the build output artifacts for the build project.
6496	Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure"`
6497
6498	// Information about the build badge for the build project.
6499	Badge *ProjectBadge `locationName:"badge" type:"structure"`
6500
6501	// Information about the cache for the build project.
6502	Cache *ProjectCache `locationName:"cache" type:"structure"`
6503
6504	// When the build project was created, expressed in Unix time format.
6505	Created *time.Time `locationName:"created" type:"timestamp"`
6506
6507	// A description that makes the build project easy to identify.
6508	Description *string `locationName:"description" type:"string"`
6509
6510	// The AWS Key Management Service (AWS KMS) customer master key (CMK) to be
6511	// used for encrypting the build output artifacts.
6512	//
6513	// You can use a cross-account KMS key to encrypt the build output artifacts
6514	// if your service role has permission to that key.
6515	//
6516	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
6517	// the CMK's alias (using the format alias/alias-name ).
6518	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
6519
6520	// Information about the build environment for this build project.
6521	Environment *ProjectEnvironment `locationName:"environment" type:"structure"`
6522
6523	// When the build project's settings were last modified, expressed in Unix time
6524	// format.
6525	LastModified *time.Time `locationName:"lastModified" type:"timestamp"`
6526
6527	// Information about logs for the build project. A project can create logs in
6528	// Amazon CloudWatch Logs, an S3 bucket, or both.
6529	LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"`
6530
6531	// The name of the build project.
6532	Name *string `locationName:"name" min:"2" type:"string"`
6533
6534	// The number of minutes a build is allowed to be queued before it times out.
6535	QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" type:"integer"`
6536
6537	// An array of ProjectArtifacts objects.
6538	SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"`
6539
6540	// An array of ProjectSourceVersion objects. If secondarySourceVersions is specified
6541	// at the build level, then they take over these secondarySourceVersions (at
6542	// the project level).
6543	SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"`
6544
6545	// An array of ProjectSource objects.
6546	SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"`
6547
6548	// The ARN of the AWS Identity and Access Management (IAM) role that enables
6549	// AWS CodeBuild to interact with dependent AWS services on behalf of the AWS
6550	// account.
6551	ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"`
6552
6553	// Information about the build input source code for this build project.
6554	Source *ProjectSource `locationName:"source" type:"structure"`
6555
6556	// A version of the build input to be built for this project. If not specified,
6557	// the latest version is used. If specified, it must be one of:
6558	//
6559	//    * For AWS CodeCommit: the commit ID, branch, or Git tag to use.
6560	//
6561	//    * For GitHub: the commit ID, pull request ID, branch name, or tag name
6562	//    that corresponds to the version of the source code you want to build.
6563	//    If a pull request ID is specified, it must use the format pr/pull-request-ID
6564	//    (for example pr/25). If a branch name is specified, the branch's HEAD
6565	//    commit ID is used. If not specified, the default branch's HEAD commit
6566	//    ID is used.
6567	//
6568	//    * For Bitbucket: the commit ID, branch name, or tag name that corresponds
6569	//    to the version of the source code you want to build. If a branch name
6570	//    is specified, the branch's HEAD commit ID is used. If not specified, the
6571	//    default branch's HEAD commit ID is used.
6572	//
6573	//    * For Amazon Simple Storage Service (Amazon S3): the version ID of the
6574	//    object that represents the build input ZIP file to use.
6575	//
6576	// If sourceVersion is specified at the build level, then that version takes
6577	// precedence over this sourceVersion (at the project level).
6578	//
6579	// For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html)
6580	// in the AWS CodeBuild User Guide.
6581	SourceVersion *string `locationName:"sourceVersion" type:"string"`
6582
6583	// The tags for this build project.
6584	//
6585	// These tags are available for use by AWS services that support AWS CodeBuild
6586	// build project tags.
6587	Tags []*Tag `locationName:"tags" type:"list"`
6588
6589	// How long, in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait
6590	// before timing out any related build that did not get marked as completed.
6591	// The default is 60 minutes.
6592	TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"`
6593
6594	// Information about the VPC configuration that AWS CodeBuild accesses.
6595	VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"`
6596
6597	// Information about a webhook that connects repository events to a build project
6598	// in AWS CodeBuild.
6599	Webhook *Webhook `locationName:"webhook" type:"structure"`
6600}
6601
6602// String returns the string representation
6603func (s Project) String() string {
6604	return awsutil.Prettify(s)
6605}
6606
6607// GoString returns the string representation
6608func (s Project) GoString() string {
6609	return s.String()
6610}
6611
6612// SetArn sets the Arn field's value.
6613func (s *Project) SetArn(v string) *Project {
6614	s.Arn = &v
6615	return s
6616}
6617
6618// SetArtifacts sets the Artifacts field's value.
6619func (s *Project) SetArtifacts(v *ProjectArtifacts) *Project {
6620	s.Artifacts = v
6621	return s
6622}
6623
6624// SetBadge sets the Badge field's value.
6625func (s *Project) SetBadge(v *ProjectBadge) *Project {
6626	s.Badge = v
6627	return s
6628}
6629
6630// SetCache sets the Cache field's value.
6631func (s *Project) SetCache(v *ProjectCache) *Project {
6632	s.Cache = v
6633	return s
6634}
6635
6636// SetCreated sets the Created field's value.
6637func (s *Project) SetCreated(v time.Time) *Project {
6638	s.Created = &v
6639	return s
6640}
6641
6642// SetDescription sets the Description field's value.
6643func (s *Project) SetDescription(v string) *Project {
6644	s.Description = &v
6645	return s
6646}
6647
6648// SetEncryptionKey sets the EncryptionKey field's value.
6649func (s *Project) SetEncryptionKey(v string) *Project {
6650	s.EncryptionKey = &v
6651	return s
6652}
6653
6654// SetEnvironment sets the Environment field's value.
6655func (s *Project) SetEnvironment(v *ProjectEnvironment) *Project {
6656	s.Environment = v
6657	return s
6658}
6659
6660// SetLastModified sets the LastModified field's value.
6661func (s *Project) SetLastModified(v time.Time) *Project {
6662	s.LastModified = &v
6663	return s
6664}
6665
6666// SetLogsConfig sets the LogsConfig field's value.
6667func (s *Project) SetLogsConfig(v *LogsConfig) *Project {
6668	s.LogsConfig = v
6669	return s
6670}
6671
6672// SetName sets the Name field's value.
6673func (s *Project) SetName(v string) *Project {
6674	s.Name = &v
6675	return s
6676}
6677
6678// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value.
6679func (s *Project) SetQueuedTimeoutInMinutes(v int64) *Project {
6680	s.QueuedTimeoutInMinutes = &v
6681	return s
6682}
6683
6684// SetSecondaryArtifacts sets the SecondaryArtifacts field's value.
6685func (s *Project) SetSecondaryArtifacts(v []*ProjectArtifacts) *Project {
6686	s.SecondaryArtifacts = v
6687	return s
6688}
6689
6690// SetSecondarySourceVersions sets the SecondarySourceVersions field's value.
6691func (s *Project) SetSecondarySourceVersions(v []*ProjectSourceVersion) *Project {
6692	s.SecondarySourceVersions = v
6693	return s
6694}
6695
6696// SetSecondarySources sets the SecondarySources field's value.
6697func (s *Project) SetSecondarySources(v []*ProjectSource) *Project {
6698	s.SecondarySources = v
6699	return s
6700}
6701
6702// SetServiceRole sets the ServiceRole field's value.
6703func (s *Project) SetServiceRole(v string) *Project {
6704	s.ServiceRole = &v
6705	return s
6706}
6707
6708// SetSource sets the Source field's value.
6709func (s *Project) SetSource(v *ProjectSource) *Project {
6710	s.Source = v
6711	return s
6712}
6713
6714// SetSourceVersion sets the SourceVersion field's value.
6715func (s *Project) SetSourceVersion(v string) *Project {
6716	s.SourceVersion = &v
6717	return s
6718}
6719
6720// SetTags sets the Tags field's value.
6721func (s *Project) SetTags(v []*Tag) *Project {
6722	s.Tags = v
6723	return s
6724}
6725
6726// SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
6727func (s *Project) SetTimeoutInMinutes(v int64) *Project {
6728	s.TimeoutInMinutes = &v
6729	return s
6730}
6731
6732// SetVpcConfig sets the VpcConfig field's value.
6733func (s *Project) SetVpcConfig(v *VpcConfig) *Project {
6734	s.VpcConfig = v
6735	return s
6736}
6737
6738// SetWebhook sets the Webhook field's value.
6739func (s *Project) SetWebhook(v *Webhook) *Project {
6740	s.Webhook = v
6741	return s
6742}
6743
6744// Information about the build output artifacts for the build project.
6745type ProjectArtifacts struct {
6746	_ struct{} `type:"structure"`
6747
6748	// An identifier for this artifact definition.
6749	ArtifactIdentifier *string `locationName:"artifactIdentifier" type:"string"`
6750
6751	// Set to true if you do not want your output artifacts encrypted. This option
6752	// is valid only if your artifacts type is Amazon Simple Storage Service (Amazon
6753	// S3). If this is set with another artifacts type, an invalidInputException
6754	// is thrown.
6755	EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"`
6756
6757	// Information about the build output artifact location:
6758	//
6759	//    * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value
6760	//    if specified. This is because AWS CodePipeline manages its build output
6761	//    locations instead of AWS CodeBuild.
6762	//
6763	//    * If type is set to NO_ARTIFACTS, this value is ignored if specified,
6764	//    because no build output is produced.
6765	//
6766	//    * If type is set to S3, this is the name of the output bucket.
6767	Location *string `locationName:"location" type:"string"`
6768
6769	// Along with path and namespaceType, the pattern that AWS CodeBuild uses to
6770	// name and store the output artifact:
6771	//
6772	//    * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value
6773	//    if specified. This is because AWS CodePipeline manages its build output
6774	//    names instead of AWS CodeBuild.
6775	//
6776	//    * If type is set to NO_ARTIFACTS, this value is ignored if specified,
6777	//    because no build output is produced.
6778	//
6779	//    * If type is set to S3, this is the name of the output artifact object.
6780	//    If you set the name to be a forward slash ("/"), the artifact is stored
6781	//    in the root of the output bucket.
6782	//
6783	// For example:
6784	//
6785	//    * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and
6786	//    name is set to MyArtifact.zip, then the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip.
6787	//
6788	//    * If path is empty, namespaceType is set to NONE, and name is set to "/",
6789	//    the output artifact is stored in the root of the output bucket.
6790	//
6791	//    * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and
6792	//    name is set to "/", the output artifact is stored in MyArtifacts/build-ID .
6793	Name *string `locationName:"name" type:"string"`
6794
6795	// Along with path and name, the pattern that AWS CodeBuild uses to determine
6796	// the name and location to store the output artifact:
6797	//
6798	//    * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value
6799	//    if specified. This is because AWS CodePipeline manages its build output
6800	//    names instead of AWS CodeBuild.
6801	//
6802	//    * If type is set to NO_ARTIFACTS, this value is ignored if specified,
6803	//    because no build output is produced.
6804	//
6805	//    * If type is set to S3, valid values include: BUILD_ID: Include the build
6806	//    ID in the location of the build output artifact. NONE: Do not include
6807	//    the build ID. This is the default if namespaceType is not specified.
6808	//
6809	// For example, if path is set to MyArtifacts, namespaceType is set to BUILD_ID,
6810	// and name is set to MyArtifact.zip, the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip.
6811	NamespaceType *string `locationName:"namespaceType" type:"string" enum:"ArtifactNamespace"`
6812
6813	// If this flag is set, a name specified in the build spec file overrides the
6814	// artifact name. The name specified in a build spec file is calculated at build
6815	// time and uses the Shell Command Language. For example, you can append a date
6816	// and time to your artifact name so that it is always unique.
6817	OverrideArtifactName *bool `locationName:"overrideArtifactName" type:"boolean"`
6818
6819	// The type of build output artifact to create:
6820	//
6821	//    * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value
6822	//    if specified. This is because AWS CodePipeline manages its build output
6823	//    artifacts instead of AWS CodeBuild.
6824	//
6825	//    * If type is set to NO_ARTIFACTS, this value is ignored if specified,
6826	//    because no build output is produced.
6827	//
6828	//    * If type is set to S3, valid values include: NONE: AWS CodeBuild creates
6829	//    in the output bucket a folder that contains the build output. This is
6830	//    the default if packaging is not specified. ZIP: AWS CodeBuild creates
6831	//    in the output bucket a ZIP file that contains the build output.
6832	Packaging *string `locationName:"packaging" type:"string" enum:"ArtifactPackaging"`
6833
6834	// Along with namespaceType and name, the pattern that AWS CodeBuild uses to
6835	// name and store the output artifact:
6836	//
6837	//    * If type is set to CODEPIPELINE, AWS CodePipeline ignores this value
6838	//    if specified. This is because AWS CodePipeline manages its build output
6839	//    names instead of AWS CodeBuild.
6840	//
6841	//    * If type is set to NO_ARTIFACTS, this value is ignored if specified,
6842	//    because no build output is produced.
6843	//
6844	//    * If type is set to S3, this is the path to the output artifact. If path
6845	//    is not specified, path is not used.
6846	//
6847	// For example, if path is set to MyArtifacts, namespaceType is set to NONE,
6848	// and name is set to MyArtifact.zip, the output artifact is stored in the output
6849	// bucket at MyArtifacts/MyArtifact.zip.
6850	Path *string `locationName:"path" type:"string"`
6851
6852	// The type of build output artifact. Valid values include:
6853	//
6854	//    * CODEPIPELINE: The build project has build output generated through AWS
6855	//    CodePipeline. The CODEPIPELINE type is not supported for secondaryArtifacts.
6856	//
6857	//    * NO_ARTIFACTS: The build project does not produce any build output.
6858	//
6859	//    * S3: The build project stores build output in Amazon Simple Storage Service
6860	//    (Amazon S3).
6861	//
6862	// Type is a required field
6863	Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactsType"`
6864}
6865
6866// String returns the string representation
6867func (s ProjectArtifacts) String() string {
6868	return awsutil.Prettify(s)
6869}
6870
6871// GoString returns the string representation
6872func (s ProjectArtifacts) GoString() string {
6873	return s.String()
6874}
6875
6876// Validate inspects the fields of the type to determine if they are valid.
6877func (s *ProjectArtifacts) Validate() error {
6878	invalidParams := request.ErrInvalidParams{Context: "ProjectArtifacts"}
6879	if s.Type == nil {
6880		invalidParams.Add(request.NewErrParamRequired("Type"))
6881	}
6882
6883	if invalidParams.Len() > 0 {
6884		return invalidParams
6885	}
6886	return nil
6887}
6888
6889// SetArtifactIdentifier sets the ArtifactIdentifier field's value.
6890func (s *ProjectArtifacts) SetArtifactIdentifier(v string) *ProjectArtifacts {
6891	s.ArtifactIdentifier = &v
6892	return s
6893}
6894
6895// SetEncryptionDisabled sets the EncryptionDisabled field's value.
6896func (s *ProjectArtifacts) SetEncryptionDisabled(v bool) *ProjectArtifacts {
6897	s.EncryptionDisabled = &v
6898	return s
6899}
6900
6901// SetLocation sets the Location field's value.
6902func (s *ProjectArtifacts) SetLocation(v string) *ProjectArtifacts {
6903	s.Location = &v
6904	return s
6905}
6906
6907// SetName sets the Name field's value.
6908func (s *ProjectArtifacts) SetName(v string) *ProjectArtifacts {
6909	s.Name = &v
6910	return s
6911}
6912
6913// SetNamespaceType sets the NamespaceType field's value.
6914func (s *ProjectArtifacts) SetNamespaceType(v string) *ProjectArtifacts {
6915	s.NamespaceType = &v
6916	return s
6917}
6918
6919// SetOverrideArtifactName sets the OverrideArtifactName field's value.
6920func (s *ProjectArtifacts) SetOverrideArtifactName(v bool) *ProjectArtifacts {
6921	s.OverrideArtifactName = &v
6922	return s
6923}
6924
6925// SetPackaging sets the Packaging field's value.
6926func (s *ProjectArtifacts) SetPackaging(v string) *ProjectArtifacts {
6927	s.Packaging = &v
6928	return s
6929}
6930
6931// SetPath sets the Path field's value.
6932func (s *ProjectArtifacts) SetPath(v string) *ProjectArtifacts {
6933	s.Path = &v
6934	return s
6935}
6936
6937// SetType sets the Type field's value.
6938func (s *ProjectArtifacts) SetType(v string) *ProjectArtifacts {
6939	s.Type = &v
6940	return s
6941}
6942
6943// Information about the build badge for the build project.
6944type ProjectBadge struct {
6945	_ struct{} `type:"structure"`
6946
6947	// Set this to true to generate a publicly accessible URL for your project's
6948	// build badge.
6949	BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"`
6950
6951	// The publicly-accessible URL through which you can access the build badge
6952	// for your project.
6953	//
6954	// The publicly accessible URL through which you can access the build badge
6955	// for your project.
6956	BadgeRequestUrl *string `locationName:"badgeRequestUrl" type:"string"`
6957}
6958
6959// String returns the string representation
6960func (s ProjectBadge) String() string {
6961	return awsutil.Prettify(s)
6962}
6963
6964// GoString returns the string representation
6965func (s ProjectBadge) GoString() string {
6966	return s.String()
6967}
6968
6969// SetBadgeEnabled sets the BadgeEnabled field's value.
6970func (s *ProjectBadge) SetBadgeEnabled(v bool) *ProjectBadge {
6971	s.BadgeEnabled = &v
6972	return s
6973}
6974
6975// SetBadgeRequestUrl sets the BadgeRequestUrl field's value.
6976func (s *ProjectBadge) SetBadgeRequestUrl(v string) *ProjectBadge {
6977	s.BadgeRequestUrl = &v
6978	return s
6979}
6980
6981// Information about the cache for the build project.
6982type ProjectCache struct {
6983	_ struct{} `type:"structure"`
6984
6985	// Information about the cache location:
6986	//
6987	//    * NO_CACHE or LOCAL: This value is ignored.
6988	//
6989	//    * S3: This is the S3 bucket name/prefix.
6990	Location *string `locationName:"location" type:"string"`
6991
6992	// If you use a LOCAL cache, the local cache mode. You can use one or more local
6993	// cache modes at the same time.
6994	//
6995	//    * LOCAL_SOURCE_CACHE mode caches Git metadata for primary and secondary
6996	//    sources. After the cache is created, subsequent builds pull only the change
6997	//    between commits. This mode is a good choice for projects with a clean
6998	//    working directory and a source that is a large Git repository. If you
6999	//    choose this option and your project does not use a Git repository (GitHub,
7000	//    GitHub Enterprise, or Bitbucket), the option is ignored.
7001	//
7002	//    * LOCAL_DOCKER_LAYER_CACHE mode caches existing Docker layers. This mode
7003	//    is a good choice for projects that build or pull large Docker images.
7004	//    It can prevent the performance issues caused by pulling large Docker images
7005	//    down from the network. You can use a Docker layer cache in the Linux environment
7006	//    only. The privileged flag must be set so that your project has the required
7007	//    Docker permissions. You should consider the security implications before
7008	//    you use a Docker layer cache.
7009	//
7010	//    * LOCAL_CUSTOM_CACHE mode caches directories you specify in the buildspec
7011	//    file. This mode is a good choice if your build scenario is not suited
7012	//    to one of the other three local cache modes. If you use a custom cache:
7013	//    Only directories can be specified for caching. You cannot specify individual
7014	//    files. Symlinks are used to reference cached directories. Cached directories
7015	//    are linked to your build before it downloads its project sources. Cached
7016	//    items are overridden if a source item has the same name. Directories are
7017	//    specified using cache paths in the buildspec file.
7018	Modes []*string `locationName:"modes" type:"list"`
7019
7020	// The type of cache used by the build project. Valid values include:
7021	//
7022	//    * NO_CACHE: The build project does not use any cache.
7023	//
7024	//    * S3: The build project reads and writes from and to S3.
7025	//
7026	//    * LOCAL: The build project stores a cache locally on a build host that
7027	//    is only available to that build host.
7028	//
7029	// Type is a required field
7030	Type *string `locationName:"type" type:"string" required:"true" enum:"CacheType"`
7031}
7032
7033// String returns the string representation
7034func (s ProjectCache) String() string {
7035	return awsutil.Prettify(s)
7036}
7037
7038// GoString returns the string representation
7039func (s ProjectCache) GoString() string {
7040	return s.String()
7041}
7042
7043// Validate inspects the fields of the type to determine if they are valid.
7044func (s *ProjectCache) Validate() error {
7045	invalidParams := request.ErrInvalidParams{Context: "ProjectCache"}
7046	if s.Type == nil {
7047		invalidParams.Add(request.NewErrParamRequired("Type"))
7048	}
7049
7050	if invalidParams.Len() > 0 {
7051		return invalidParams
7052	}
7053	return nil
7054}
7055
7056// SetLocation sets the Location field's value.
7057func (s *ProjectCache) SetLocation(v string) *ProjectCache {
7058	s.Location = &v
7059	return s
7060}
7061
7062// SetModes sets the Modes field's value.
7063func (s *ProjectCache) SetModes(v []*string) *ProjectCache {
7064	s.Modes = v
7065	return s
7066}
7067
7068// SetType sets the Type field's value.
7069func (s *ProjectCache) SetType(v string) *ProjectCache {
7070	s.Type = &v
7071	return s
7072}
7073
7074// Information about the build environment of the build project.
7075type ProjectEnvironment struct {
7076	_ struct{} `type:"structure"`
7077
7078	// The certificate to use with this build project.
7079	Certificate *string `locationName:"certificate" type:"string"`
7080
7081	// Information about the compute resources the build project uses. Available
7082	// values include:
7083	//
7084	//    * BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds.
7085	//
7086	//    * BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds.
7087	//
7088	//    * BUILD_GENERAL1_LARGE: Use up to 16 GB memory and 8 vCPUs for builds,
7089	//    depending on your environment type.
7090	//
7091	//    * BUILD_GENERAL1_2XLARGE: Use up to 145 GB memory, 72 vCPUs, and 824 GB
7092	//    of SSD storage for builds. This compute type supports Docker images up
7093	//    to 100 GB uncompressed.
7094	//
7095	// If you use BUILD_GENERAL1_LARGE:
7096	//
7097	//    * For environment type LINUX_CONTAINER, you can use up to 15 GB memory
7098	//    and 8 vCPUs for builds.
7099	//
7100	//    * For environment type LINUX_GPU_CONTAINER, you can use up to 255 GB memory,
7101	//    32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.
7102	//
7103	//    * For environment type ARM_CONTAINER, you can use up to 16 GB memory and
7104	//    8 vCPUs on ARM-based processors for builds.
7105	//
7106	// For more information, see Build Environment Compute Types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html)
7107	// in the AWS CodeBuild User Guide.
7108	//
7109	// ComputeType is a required field
7110	ComputeType *string `locationName:"computeType" type:"string" required:"true" enum:"ComputeType"`
7111
7112	// A set of environment variables to make available to builds for this build
7113	// project.
7114	EnvironmentVariables []*EnvironmentVariable `locationName:"environmentVariables" type:"list"`
7115
7116	// The image tag or image digest that identifies the Docker image to use for
7117	// this build project. Use the following formats:
7118	//
7119	//    * For an image tag: registry/repository:tag. For example, to specify an
7120	//    image with the tag "latest," use registry/repository:latest.
7121	//
7122	//    * For an image digest: registry/repository@digest. For example, to specify
7123	//    an image with the digest "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf,"
7124	//    use registry/repository@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf.
7125	//
7126	// Image is a required field
7127	Image *string `locationName:"image" min:"1" type:"string" required:"true"`
7128
7129	// The type of credentials AWS CodeBuild uses to pull images in your build.
7130	// There are two valid values:
7131	//
7132	//    * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This
7133	//    requires that you modify your ECR repository policy to trust AWS CodeBuild's
7134	//    service principal.
7135	//
7136	//    * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's
7137	//    service role.
7138	//
7139	// When you use a cross-account or private registry image, you must use SERVICE_ROLE
7140	// credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD
7141	// credentials.
7142	ImagePullCredentialsType *string `locationName:"imagePullCredentialsType" type:"string" enum:"ImagePullCredentialsType"`
7143
7144	// Enables running the Docker daemon inside a Docker container. Set to true
7145	// only if the build project is used to build Docker images. Otherwise, a build
7146	// that attempts to interact with the Docker daemon fails. The default setting
7147	// is false.
7148	//
7149	// You can initialize the Docker daemon during the install phase of your build
7150	// by adding one of the following sets of commands to the install phase of your
7151	// buildspec file:
7152	//
7153	// If the operating system's base image is Ubuntu Linux:
7154	//
7155	// - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375
7156	// --storage-driver=overlay&
7157	//
7158	// - timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
7159	//
7160	// If the operating system's base image is Alpine Linux and the previous command
7161	// does not work, add the -t argument to timeout:
7162	//
7163	// - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375
7164	// --storage-driver=overlay&
7165	//
7166	// - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done"
7167	PrivilegedMode *bool `locationName:"privilegedMode" type:"boolean"`
7168
7169	// The credentials for access to a private registry.
7170	RegistryCredential *RegistryCredential `locationName:"registryCredential" type:"structure"`
7171
7172	// The type of build environment to use for related builds.
7173	//
7174	//    * The environment type ARM_CONTAINER is available only in regions US East
7175	//    (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific
7176	//    (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and EU (Frankfurt).
7177	//
7178	//    * The environment type LINUX_CONTAINER with compute type build.general1.2xlarge
7179	//    is available only in regions US East (N. Virginia), US East (N. Virginia),
7180	//    US West (Oregon), Canada (Central), EU (Ireland), EU (London), EU (Frankfurt),
7181	//    Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore),
7182	//    Asia Pacific (Sydney), China (Beijing), and China (Ningxia).
7183	//
7184	//    * The environment type LINUX_GPU_CONTAINER is available only in regions
7185	//    US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada
7186	//    (Central), EU (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo),
7187	//    Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney)
7188	//    , China (Beijing), and China (Ningxia).
7189	//
7190	// Type is a required field
7191	Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentType"`
7192}
7193
7194// String returns the string representation
7195func (s ProjectEnvironment) String() string {
7196	return awsutil.Prettify(s)
7197}
7198
7199// GoString returns the string representation
7200func (s ProjectEnvironment) GoString() string {
7201	return s.String()
7202}
7203
7204// Validate inspects the fields of the type to determine if they are valid.
7205func (s *ProjectEnvironment) Validate() error {
7206	invalidParams := request.ErrInvalidParams{Context: "ProjectEnvironment"}
7207	if s.ComputeType == nil {
7208		invalidParams.Add(request.NewErrParamRequired("ComputeType"))
7209	}
7210	if s.Image == nil {
7211		invalidParams.Add(request.NewErrParamRequired("Image"))
7212	}
7213	if s.Image != nil && len(*s.Image) < 1 {
7214		invalidParams.Add(request.NewErrParamMinLen("Image", 1))
7215	}
7216	if s.Type == nil {
7217		invalidParams.Add(request.NewErrParamRequired("Type"))
7218	}
7219	if s.EnvironmentVariables != nil {
7220		for i, v := range s.EnvironmentVariables {
7221			if v == nil {
7222				continue
7223			}
7224			if err := v.Validate(); err != nil {
7225				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentVariables", i), err.(request.ErrInvalidParams))
7226			}
7227		}
7228	}
7229	if s.RegistryCredential != nil {
7230		if err := s.RegistryCredential.Validate(); err != nil {
7231			invalidParams.AddNested("RegistryCredential", err.(request.ErrInvalidParams))
7232		}
7233	}
7234
7235	if invalidParams.Len() > 0 {
7236		return invalidParams
7237	}
7238	return nil
7239}
7240
7241// SetCertificate sets the Certificate field's value.
7242func (s *ProjectEnvironment) SetCertificate(v string) *ProjectEnvironment {
7243	s.Certificate = &v
7244	return s
7245}
7246
7247// SetComputeType sets the ComputeType field's value.
7248func (s *ProjectEnvironment) SetComputeType(v string) *ProjectEnvironment {
7249	s.ComputeType = &v
7250	return s
7251}
7252
7253// SetEnvironmentVariables sets the EnvironmentVariables field's value.
7254func (s *ProjectEnvironment) SetEnvironmentVariables(v []*EnvironmentVariable) *ProjectEnvironment {
7255	s.EnvironmentVariables = v
7256	return s
7257}
7258
7259// SetImage sets the Image field's value.
7260func (s *ProjectEnvironment) SetImage(v string) *ProjectEnvironment {
7261	s.Image = &v
7262	return s
7263}
7264
7265// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value.
7266func (s *ProjectEnvironment) SetImagePullCredentialsType(v string) *ProjectEnvironment {
7267	s.ImagePullCredentialsType = &v
7268	return s
7269}
7270
7271// SetPrivilegedMode sets the PrivilegedMode field's value.
7272func (s *ProjectEnvironment) SetPrivilegedMode(v bool) *ProjectEnvironment {
7273	s.PrivilegedMode = &v
7274	return s
7275}
7276
7277// SetRegistryCredential sets the RegistryCredential field's value.
7278func (s *ProjectEnvironment) SetRegistryCredential(v *RegistryCredential) *ProjectEnvironment {
7279	s.RegistryCredential = v
7280	return s
7281}
7282
7283// SetType sets the Type field's value.
7284func (s *ProjectEnvironment) SetType(v string) *ProjectEnvironment {
7285	s.Type = &v
7286	return s
7287}
7288
7289// Information about the build input source code for the build project.
7290type ProjectSource struct {
7291	_ struct{} `type:"structure"`
7292
7293	// Information about the authorization settings for AWS CodeBuild to access
7294	// the source code to be built.
7295	//
7296	// This information is for the AWS CodeBuild console's use only. Your code should
7297	// not get or set this information directly.
7298	Auth *SourceAuth `locationName:"auth" type:"structure"`
7299
7300	// The build spec declaration to use for the builds in this build project.
7301	//
7302	// If this value is not specified, a build spec must be included along with
7303	// the source code to be built.
7304	Buildspec *string `locationName:"buildspec" type:"string"`
7305
7306	// Information about the Git clone depth for the build project.
7307	GitCloneDepth *int64 `locationName:"gitCloneDepth" type:"integer"`
7308
7309	// Information about the Git submodules configuration for the build project.
7310	GitSubmodulesConfig *GitSubmodulesConfig `locationName:"gitSubmodulesConfig" type:"structure"`
7311
7312	// Enable this flag to ignore SSL warnings while connecting to the project source
7313	// code.
7314	InsecureSsl *bool `locationName:"insecureSsl" type:"boolean"`
7315
7316	// Information about the location of the source code to be built. Valid values
7317	// include:
7318	//
7319	//    * For source code settings that are specified in the source action of
7320	//    a pipeline in AWS CodePipeline, location should not be specified. If it
7321	//    is specified, AWS CodePipeline ignores it. This is because AWS CodePipeline
7322	//    uses the settings in a pipeline's source action instead of this value.
7323	//
7324	//    * For source code in an AWS CodeCommit repository, the HTTPS clone URL
7325	//    to the repository that contains the source code and the build spec (for
7326	//    example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name
7327	//    ).
7328	//
7329	//    * For source code in an Amazon Simple Storage Service (Amazon S3) input
7330	//    bucket, one of the following. The path to the ZIP file that contains the
7331	//    source code (for example, bucket-name/path/to/object-name.zip). The path
7332	//    to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/).
7333	//
7334	//    * For source code in a GitHub repository, the HTTPS clone URL to the repository
7335	//    that contains the source and the build spec. You must connect your AWS
7336	//    account to your GitHub account. Use the AWS CodeBuild console to start
7337	//    creating a build project. When you use the console to connect (or reconnect)
7338	//    with GitHub, on the GitHub Authorize application page, for Organization
7339	//    access, choose Request access next to each repository you want to allow
7340	//    AWS CodeBuild to have access to, and then choose Authorize application.
7341	//    (After you have connected to your GitHub account, you do not need to finish
7342	//    creating the build project. You can leave the AWS CodeBuild console.)
7343	//    To instruct AWS CodeBuild to use this connection, in the source object,
7344	//    set the auth object's type value to OAUTH.
7345	//
7346	//    * For source code in a Bitbucket repository, the HTTPS clone URL to the
7347	//    repository that contains the source and the build spec. You must connect
7348	//    your AWS account to your Bitbucket account. Use the AWS CodeBuild console
7349	//    to start creating a build project. When you use the console to connect
7350	//    (or reconnect) with Bitbucket, on the Bitbucket Confirm access to your
7351	//    account page, choose Grant access. (After you have connected to your Bitbucket
7352	//    account, you do not need to finish creating the build project. You can
7353	//    leave the AWS CodeBuild console.) To instruct AWS CodeBuild to use this
7354	//    connection, in the source object, set the auth object's type value to
7355	//    OAUTH.
7356	Location *string `locationName:"location" type:"string"`
7357
7358	// Set to true to report the status of a build's start and finish to your source
7359	// provider. This option is valid only when your source provider is GitHub,
7360	// GitHub Enterprise, or Bitbucket. If this is set and you use a different source
7361	// provider, an invalidInputException is thrown.
7362	//
7363	// The status of a build triggered by a webhook is always reported to your source
7364	// provider.
7365	ReportBuildStatus *bool `locationName:"reportBuildStatus" type:"boolean"`
7366
7367	// An identifier for this project source.
7368	SourceIdentifier *string `locationName:"sourceIdentifier" type:"string"`
7369
7370	// The type of repository that contains the source code to be built. Valid values
7371	// include:
7372	//
7373	//    * BITBUCKET: The source code is in a Bitbucket repository.
7374	//
7375	//    * CODECOMMIT: The source code is in an AWS CodeCommit repository.
7376	//
7377	//    * CODEPIPELINE: The source code settings are specified in the source action
7378	//    of a pipeline in AWS CodePipeline.
7379	//
7380	//    * GITHUB: The source code is in a GitHub repository.
7381	//
7382	//    * GITHUB_ENTERPRISE: The source code is in a GitHub Enterprise repository.
7383	//
7384	//    * NO_SOURCE: The project does not have input source code.
7385	//
7386	//    * S3: The source code is in an Amazon Simple Storage Service (Amazon S3)
7387	//    input bucket.
7388	//
7389	// Type is a required field
7390	Type *string `locationName:"type" type:"string" required:"true" enum:"SourceType"`
7391}
7392
7393// String returns the string representation
7394func (s ProjectSource) String() string {
7395	return awsutil.Prettify(s)
7396}
7397
7398// GoString returns the string representation
7399func (s ProjectSource) GoString() string {
7400	return s.String()
7401}
7402
7403// Validate inspects the fields of the type to determine if they are valid.
7404func (s *ProjectSource) Validate() error {
7405	invalidParams := request.ErrInvalidParams{Context: "ProjectSource"}
7406	if s.Type == nil {
7407		invalidParams.Add(request.NewErrParamRequired("Type"))
7408	}
7409	if s.Auth != nil {
7410		if err := s.Auth.Validate(); err != nil {
7411			invalidParams.AddNested("Auth", err.(request.ErrInvalidParams))
7412		}
7413	}
7414	if s.GitSubmodulesConfig != nil {
7415		if err := s.GitSubmodulesConfig.Validate(); err != nil {
7416			invalidParams.AddNested("GitSubmodulesConfig", err.(request.ErrInvalidParams))
7417		}
7418	}
7419
7420	if invalidParams.Len() > 0 {
7421		return invalidParams
7422	}
7423	return nil
7424}
7425
7426// SetAuth sets the Auth field's value.
7427func (s *ProjectSource) SetAuth(v *SourceAuth) *ProjectSource {
7428	s.Auth = v
7429	return s
7430}
7431
7432// SetBuildspec sets the Buildspec field's value.
7433func (s *ProjectSource) SetBuildspec(v string) *ProjectSource {
7434	s.Buildspec = &v
7435	return s
7436}
7437
7438// SetGitCloneDepth sets the GitCloneDepth field's value.
7439func (s *ProjectSource) SetGitCloneDepth(v int64) *ProjectSource {
7440	s.GitCloneDepth = &v
7441	return s
7442}
7443
7444// SetGitSubmodulesConfig sets the GitSubmodulesConfig field's value.
7445func (s *ProjectSource) SetGitSubmodulesConfig(v *GitSubmodulesConfig) *ProjectSource {
7446	s.GitSubmodulesConfig = v
7447	return s
7448}
7449
7450// SetInsecureSsl sets the InsecureSsl field's value.
7451func (s *ProjectSource) SetInsecureSsl(v bool) *ProjectSource {
7452	s.InsecureSsl = &v
7453	return s
7454}
7455
7456// SetLocation sets the Location field's value.
7457func (s *ProjectSource) SetLocation(v string) *ProjectSource {
7458	s.Location = &v
7459	return s
7460}
7461
7462// SetReportBuildStatus sets the ReportBuildStatus field's value.
7463func (s *ProjectSource) SetReportBuildStatus(v bool) *ProjectSource {
7464	s.ReportBuildStatus = &v
7465	return s
7466}
7467
7468// SetSourceIdentifier sets the SourceIdentifier field's value.
7469func (s *ProjectSource) SetSourceIdentifier(v string) *ProjectSource {
7470	s.SourceIdentifier = &v
7471	return s
7472}
7473
7474// SetType sets the Type field's value.
7475func (s *ProjectSource) SetType(v string) *ProjectSource {
7476	s.Type = &v
7477	return s
7478}
7479
7480// A source identifier and its corresponding version.
7481type ProjectSourceVersion struct {
7482	_ struct{} `type:"structure"`
7483
7484	// An identifier for a source in the build project.
7485	//
7486	// SourceIdentifier is a required field
7487	SourceIdentifier *string `locationName:"sourceIdentifier" type:"string" required:"true"`
7488
7489	// The source version for the corresponding source identifier. If specified,
7490	// must be one of:
7491	//
7492	//    * For AWS CodeCommit: the commit ID, branch, or Git tag to use.
7493	//
7494	//    * For GitHub: the commit ID, pull request ID, branch name, or tag name
7495	//    that corresponds to the version of the source code you want to build.
7496	//    If a pull request ID is specified, it must use the format pr/pull-request-ID
7497	//    (for example, pr/25). If a branch name is specified, the branch's HEAD
7498	//    commit ID is used. If not specified, the default branch's HEAD commit
7499	//    ID is used.
7500	//
7501	//    * For Bitbucket: the commit ID, branch name, or tag name that corresponds
7502	//    to the version of the source code you want to build. If a branch name
7503	//    is specified, the branch's HEAD commit ID is used. If not specified, the
7504	//    default branch's HEAD commit ID is used.
7505	//
7506	//    * For Amazon Simple Storage Service (Amazon S3): the version ID of the
7507	//    object that represents the build input ZIP file to use.
7508	//
7509	// For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html)
7510	// in the AWS CodeBuild User Guide.
7511	//
7512	// SourceVersion is a required field
7513	SourceVersion *string `locationName:"sourceVersion" type:"string" required:"true"`
7514}
7515
7516// String returns the string representation
7517func (s ProjectSourceVersion) String() string {
7518	return awsutil.Prettify(s)
7519}
7520
7521// GoString returns the string representation
7522func (s ProjectSourceVersion) GoString() string {
7523	return s.String()
7524}
7525
7526// Validate inspects the fields of the type to determine if they are valid.
7527func (s *ProjectSourceVersion) Validate() error {
7528	invalidParams := request.ErrInvalidParams{Context: "ProjectSourceVersion"}
7529	if s.SourceIdentifier == nil {
7530		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
7531	}
7532	if s.SourceVersion == nil {
7533		invalidParams.Add(request.NewErrParamRequired("SourceVersion"))
7534	}
7535
7536	if invalidParams.Len() > 0 {
7537		return invalidParams
7538	}
7539	return nil
7540}
7541
7542// SetSourceIdentifier sets the SourceIdentifier field's value.
7543func (s *ProjectSourceVersion) SetSourceIdentifier(v string) *ProjectSourceVersion {
7544	s.SourceIdentifier = &v
7545	return s
7546}
7547
7548// SetSourceVersion sets the SourceVersion field's value.
7549func (s *ProjectSourceVersion) SetSourceVersion(v string) *ProjectSourceVersion {
7550	s.SourceVersion = &v
7551	return s
7552}
7553
7554type PutResourcePolicyInput struct {
7555	_ struct{} `type:"structure"`
7556
7557	// A JSON-formatted resource policy. For more information, see Sharing a Project
7558	// (https://docs.aws.amazon.com/codebuild/latest/userguide/project-sharing.html#project-sharing-share)
7559	// and Sharing a Report Group (https://docs.aws.amazon.com/codebuild/latest/userguide/report-groups-sharing.html#report-groups-sharing-share)
7560	// in the AWS CodeBuild User Guide.
7561	//
7562	// Policy is a required field
7563	Policy *string `locationName:"policy" min:"1" type:"string" required:"true"`
7564
7565	// The ARN of the Project or ReportGroup resource you want to associate with
7566	// a resource policy.
7567	//
7568	// ResourceArn is a required field
7569	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
7570}
7571
7572// String returns the string representation
7573func (s PutResourcePolicyInput) String() string {
7574	return awsutil.Prettify(s)
7575}
7576
7577// GoString returns the string representation
7578func (s PutResourcePolicyInput) GoString() string {
7579	return s.String()
7580}
7581
7582// Validate inspects the fields of the type to determine if they are valid.
7583func (s *PutResourcePolicyInput) Validate() error {
7584	invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"}
7585	if s.Policy == nil {
7586		invalidParams.Add(request.NewErrParamRequired("Policy"))
7587	}
7588	if s.Policy != nil && len(*s.Policy) < 1 {
7589		invalidParams.Add(request.NewErrParamMinLen("Policy", 1))
7590	}
7591	if s.ResourceArn == nil {
7592		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
7593	}
7594	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
7595		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
7596	}
7597
7598	if invalidParams.Len() > 0 {
7599		return invalidParams
7600	}
7601	return nil
7602}
7603
7604// SetPolicy sets the Policy field's value.
7605func (s *PutResourcePolicyInput) SetPolicy(v string) *PutResourcePolicyInput {
7606	s.Policy = &v
7607	return s
7608}
7609
7610// SetResourceArn sets the ResourceArn field's value.
7611func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput {
7612	s.ResourceArn = &v
7613	return s
7614}
7615
7616type PutResourcePolicyOutput struct {
7617	_ struct{} `type:"structure"`
7618
7619	// The ARN of the Project or ReportGroup resource that is associated with a
7620	// resource policy.
7621	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
7622}
7623
7624// String returns the string representation
7625func (s PutResourcePolicyOutput) String() string {
7626	return awsutil.Prettify(s)
7627}
7628
7629// GoString returns the string representation
7630func (s PutResourcePolicyOutput) GoString() string {
7631	return s.String()
7632}
7633
7634// SetResourceArn sets the ResourceArn field's value.
7635func (s *PutResourcePolicyOutput) SetResourceArn(v string) *PutResourcePolicyOutput {
7636	s.ResourceArn = &v
7637	return s
7638}
7639
7640// Information about credentials that provide access to a private Docker registry.
7641// When this is set:
7642//
7643//    * imagePullCredentialsType must be set to SERVICE_ROLE.
7644//
7645//    * images cannot be curated or an Amazon ECR image.
7646//
7647// For more information, see Private Registry with AWS Secrets Manager Sample
7648// for AWS CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-private-registry.html).
7649type RegistryCredential struct {
7650	_ struct{} `type:"structure"`
7651
7652	// The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets
7653	// Manager.
7654	//
7655	// The credential can use the name of the credentials only if they exist in
7656	// your current region.
7657	//
7658	// Credential is a required field
7659	Credential *string `locationName:"credential" min:"1" type:"string" required:"true"`
7660
7661	// The service that created the credentials to access a private Docker registry.
7662	// The valid value, SECRETS_MANAGER, is for AWS Secrets Manager.
7663	//
7664	// CredentialProvider is a required field
7665	CredentialProvider *string `locationName:"credentialProvider" type:"string" required:"true" enum:"CredentialProviderType"`
7666}
7667
7668// String returns the string representation
7669func (s RegistryCredential) String() string {
7670	return awsutil.Prettify(s)
7671}
7672
7673// GoString returns the string representation
7674func (s RegistryCredential) GoString() string {
7675	return s.String()
7676}
7677
7678// Validate inspects the fields of the type to determine if they are valid.
7679func (s *RegistryCredential) Validate() error {
7680	invalidParams := request.ErrInvalidParams{Context: "RegistryCredential"}
7681	if s.Credential == nil {
7682		invalidParams.Add(request.NewErrParamRequired("Credential"))
7683	}
7684	if s.Credential != nil && len(*s.Credential) < 1 {
7685		invalidParams.Add(request.NewErrParamMinLen("Credential", 1))
7686	}
7687	if s.CredentialProvider == nil {
7688		invalidParams.Add(request.NewErrParamRequired("CredentialProvider"))
7689	}
7690
7691	if invalidParams.Len() > 0 {
7692		return invalidParams
7693	}
7694	return nil
7695}
7696
7697// SetCredential sets the Credential field's value.
7698func (s *RegistryCredential) SetCredential(v string) *RegistryCredential {
7699	s.Credential = &v
7700	return s
7701}
7702
7703// SetCredentialProvider sets the CredentialProvider field's value.
7704func (s *RegistryCredential) SetCredentialProvider(v string) *RegistryCredential {
7705	s.CredentialProvider = &v
7706	return s
7707}
7708
7709// Information about the results from running a series of test cases during
7710// the run of a build project. The test cases are specified in the buildspec
7711// for the build project using one or more paths to the test case files. You
7712// can specify any type of tests you want, such as unit tests, integration tests,
7713// and functional tests.
7714type Report struct {
7715	_ struct{} `type:"structure"`
7716
7717	// The ARN of the report run.
7718	Arn *string `locationName:"arn" min:"1" type:"string"`
7719
7720	// The date and time this report run occurred.
7721	Created *time.Time `locationName:"created" type:"timestamp"`
7722
7723	// The ARN of the build run that generated this report.
7724	ExecutionId *string `locationName:"executionId" type:"string"`
7725
7726	// The date and time a report expires. A report expires 30 days after it is
7727	// created. An expired report is not available to view in CodeBuild.
7728	Expired *time.Time `locationName:"expired" type:"timestamp"`
7729
7730	// Information about where the raw data used to generate this report was exported.
7731	ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"`
7732
7733	// The name of the report that was run.
7734	Name *string `locationName:"name" type:"string"`
7735
7736	// The ARN of the report group associated with this report.
7737	ReportGroupArn *string `locationName:"reportGroupArn" min:"1" type:"string"`
7738
7739	// The status of this report.
7740	Status *string `locationName:"status" type:"string" enum:"ReportStatusType"`
7741
7742	// A TestReportSummary object that contains information about this test report.
7743	TestSummary *TestReportSummary `locationName:"testSummary" type:"structure"`
7744
7745	// A boolean that specifies if this report run is truncated. The list of test
7746	// cases is truncated after the maximum number of test cases is reached.
7747	Truncated *bool `locationName:"truncated" type:"boolean"`
7748
7749	// The type of the report that was run.
7750	Type *string `locationName:"type" type:"string" enum:"ReportType"`
7751}
7752
7753// String returns the string representation
7754func (s Report) String() string {
7755	return awsutil.Prettify(s)
7756}
7757
7758// GoString returns the string representation
7759func (s Report) GoString() string {
7760	return s.String()
7761}
7762
7763// SetArn sets the Arn field's value.
7764func (s *Report) SetArn(v string) *Report {
7765	s.Arn = &v
7766	return s
7767}
7768
7769// SetCreated sets the Created field's value.
7770func (s *Report) SetCreated(v time.Time) *Report {
7771	s.Created = &v
7772	return s
7773}
7774
7775// SetExecutionId sets the ExecutionId field's value.
7776func (s *Report) SetExecutionId(v string) *Report {
7777	s.ExecutionId = &v
7778	return s
7779}
7780
7781// SetExpired sets the Expired field's value.
7782func (s *Report) SetExpired(v time.Time) *Report {
7783	s.Expired = &v
7784	return s
7785}
7786
7787// SetExportConfig sets the ExportConfig field's value.
7788func (s *Report) SetExportConfig(v *ReportExportConfig) *Report {
7789	s.ExportConfig = v
7790	return s
7791}
7792
7793// SetName sets the Name field's value.
7794func (s *Report) SetName(v string) *Report {
7795	s.Name = &v
7796	return s
7797}
7798
7799// SetReportGroupArn sets the ReportGroupArn field's value.
7800func (s *Report) SetReportGroupArn(v string) *Report {
7801	s.ReportGroupArn = &v
7802	return s
7803}
7804
7805// SetStatus sets the Status field's value.
7806func (s *Report) SetStatus(v string) *Report {
7807	s.Status = &v
7808	return s
7809}
7810
7811// SetTestSummary sets the TestSummary field's value.
7812func (s *Report) SetTestSummary(v *TestReportSummary) *Report {
7813	s.TestSummary = v
7814	return s
7815}
7816
7817// SetTruncated sets the Truncated field's value.
7818func (s *Report) SetTruncated(v bool) *Report {
7819	s.Truncated = &v
7820	return s
7821}
7822
7823// SetType sets the Type field's value.
7824func (s *Report) SetType(v string) *Report {
7825	s.Type = &v
7826	return s
7827}
7828
7829// Information about the location where the run of a report is exported.
7830type ReportExportConfig struct {
7831	_ struct{} `type:"structure"`
7832
7833	// The export configuration type. Valid values are:
7834	//
7835	//    * S3: The report results are exported to an S3 bucket.
7836	//
7837	//    * NO_EXPORT: The report results are not exported.
7838	ExportConfigType *string `locationName:"exportConfigType" type:"string" enum:"ReportExportConfigType"`
7839
7840	// A S3ReportExportConfig object that contains information about the S3 bucket
7841	// where the run of a report is exported.
7842	S3Destination *S3ReportExportConfig `locationName:"s3Destination" type:"structure"`
7843}
7844
7845// String returns the string representation
7846func (s ReportExportConfig) String() string {
7847	return awsutil.Prettify(s)
7848}
7849
7850// GoString returns the string representation
7851func (s ReportExportConfig) GoString() string {
7852	return s.String()
7853}
7854
7855// Validate inspects the fields of the type to determine if they are valid.
7856func (s *ReportExportConfig) Validate() error {
7857	invalidParams := request.ErrInvalidParams{Context: "ReportExportConfig"}
7858	if s.S3Destination != nil {
7859		if err := s.S3Destination.Validate(); err != nil {
7860			invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams))
7861		}
7862	}
7863
7864	if invalidParams.Len() > 0 {
7865		return invalidParams
7866	}
7867	return nil
7868}
7869
7870// SetExportConfigType sets the ExportConfigType field's value.
7871func (s *ReportExportConfig) SetExportConfigType(v string) *ReportExportConfig {
7872	s.ExportConfigType = &v
7873	return s
7874}
7875
7876// SetS3Destination sets the S3Destination field's value.
7877func (s *ReportExportConfig) SetS3Destination(v *S3ReportExportConfig) *ReportExportConfig {
7878	s.S3Destination = v
7879	return s
7880}
7881
7882// A filter used to return reports with the status specified by the input status
7883// parameter.
7884type ReportFilter struct {
7885	_ struct{} `type:"structure"`
7886
7887	// The status used to filter reports. You can filter using one status only.
7888	Status *string `locationName:"status" type:"string" enum:"ReportStatusType"`
7889}
7890
7891// String returns the string representation
7892func (s ReportFilter) String() string {
7893	return awsutil.Prettify(s)
7894}
7895
7896// GoString returns the string representation
7897func (s ReportFilter) GoString() string {
7898	return s.String()
7899}
7900
7901// SetStatus sets the Status field's value.
7902func (s *ReportFilter) SetStatus(v string) *ReportFilter {
7903	s.Status = &v
7904	return s
7905}
7906
7907// A series of reports. Each report contains information about the results from
7908// running a series of test cases. You specify the test cases for a report group
7909// in the buildspec for a build project using one or more paths to the test
7910// case files.
7911type ReportGroup struct {
7912	_ struct{} `type:"structure"`
7913
7914	// The ARN of a ReportGroup.
7915	Arn *string `locationName:"arn" min:"1" type:"string"`
7916
7917	// The date and time this ReportGroup was created.
7918	Created *time.Time `locationName:"created" type:"timestamp"`
7919
7920	// Information about the destination where the raw data of this ReportGroup
7921	// is exported.
7922	ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"`
7923
7924	// The date and time this ReportGroup was last modified.
7925	LastModified *time.Time `locationName:"lastModified" type:"timestamp"`
7926
7927	// The name of a ReportGroup.
7928	Name *string `locationName:"name" min:"2" type:"string"`
7929
7930	// The type of the ReportGroup. The one valid value is TEST.
7931	Type *string `locationName:"type" type:"string" enum:"ReportType"`
7932}
7933
7934// String returns the string representation
7935func (s ReportGroup) String() string {
7936	return awsutil.Prettify(s)
7937}
7938
7939// GoString returns the string representation
7940func (s ReportGroup) GoString() string {
7941	return s.String()
7942}
7943
7944// SetArn sets the Arn field's value.
7945func (s *ReportGroup) SetArn(v string) *ReportGroup {
7946	s.Arn = &v
7947	return s
7948}
7949
7950// SetCreated sets the Created field's value.
7951func (s *ReportGroup) SetCreated(v time.Time) *ReportGroup {
7952	s.Created = &v
7953	return s
7954}
7955
7956// SetExportConfig sets the ExportConfig field's value.
7957func (s *ReportGroup) SetExportConfig(v *ReportExportConfig) *ReportGroup {
7958	s.ExportConfig = v
7959	return s
7960}
7961
7962// SetLastModified sets the LastModified field's value.
7963func (s *ReportGroup) SetLastModified(v time.Time) *ReportGroup {
7964	s.LastModified = &v
7965	return s
7966}
7967
7968// SetName sets the Name field's value.
7969func (s *ReportGroup) SetName(v string) *ReportGroup {
7970	s.Name = &v
7971	return s
7972}
7973
7974// SetType sets the Type field's value.
7975func (s *ReportGroup) SetType(v string) *ReportGroup {
7976	s.Type = &v
7977	return s
7978}
7979
7980// Information about S3 logs for a build project.
7981type S3LogsConfig struct {
7982	_ struct{} `type:"structure"`
7983
7984	// Set to true if you do not want your S3 build log output encrypted. By default
7985	// S3 build logs are encrypted.
7986	EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"`
7987
7988	// The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3
7989	// bucket name is my-bucket, and your path prefix is build-log, then acceptable
7990	// formats are my-bucket/build-log or arn:aws:s3:::my-bucket/build-log.
7991	Location *string `locationName:"location" type:"string"`
7992
7993	// The current status of the S3 build logs. Valid values are:
7994	//
7995	//    * ENABLED: S3 build logs are enabled for this build project.
7996	//
7997	//    * DISABLED: S3 build logs are not enabled for this build project.
7998	//
7999	// Status is a required field
8000	Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"`
8001}
8002
8003// String returns the string representation
8004func (s S3LogsConfig) String() string {
8005	return awsutil.Prettify(s)
8006}
8007
8008// GoString returns the string representation
8009func (s S3LogsConfig) GoString() string {
8010	return s.String()
8011}
8012
8013// Validate inspects the fields of the type to determine if they are valid.
8014func (s *S3LogsConfig) Validate() error {
8015	invalidParams := request.ErrInvalidParams{Context: "S3LogsConfig"}
8016	if s.Status == nil {
8017		invalidParams.Add(request.NewErrParamRequired("Status"))
8018	}
8019
8020	if invalidParams.Len() > 0 {
8021		return invalidParams
8022	}
8023	return nil
8024}
8025
8026// SetEncryptionDisabled sets the EncryptionDisabled field's value.
8027func (s *S3LogsConfig) SetEncryptionDisabled(v bool) *S3LogsConfig {
8028	s.EncryptionDisabled = &v
8029	return s
8030}
8031
8032// SetLocation sets the Location field's value.
8033func (s *S3LogsConfig) SetLocation(v string) *S3LogsConfig {
8034	s.Location = &v
8035	return s
8036}
8037
8038// SetStatus sets the Status field's value.
8039func (s *S3LogsConfig) SetStatus(v string) *S3LogsConfig {
8040	s.Status = &v
8041	return s
8042}
8043
8044// Information about the S3 bucket where the raw data of a report are exported.
8045type S3ReportExportConfig struct {
8046	_ struct{} `type:"structure"`
8047
8048	// The name of the S3 bucket where the raw data of a report are exported.
8049	Bucket *string `locationName:"bucket" min:"1" type:"string"`
8050
8051	// A boolean value that specifies if the results of a report are encrypted.
8052	EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"`
8053
8054	// The encryption key for the report's encrypted raw data.
8055	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
8056
8057	// The type of build output artifact to create. Valid values include:
8058	//
8059	//    * NONE: AWS CodeBuild creates the raw data in the output bucket. This
8060	//    is the default if packaging is not specified.
8061	//
8062	//    * ZIP: AWS CodeBuild creates a ZIP file with the raw data in the output
8063	//    bucket.
8064	Packaging *string `locationName:"packaging" type:"string" enum:"ReportPackagingType"`
8065
8066	// The path to the exported report's raw data results.
8067	Path *string `locationName:"path" type:"string"`
8068}
8069
8070// String returns the string representation
8071func (s S3ReportExportConfig) String() string {
8072	return awsutil.Prettify(s)
8073}
8074
8075// GoString returns the string representation
8076func (s S3ReportExportConfig) GoString() string {
8077	return s.String()
8078}
8079
8080// Validate inspects the fields of the type to determine if they are valid.
8081func (s *S3ReportExportConfig) Validate() error {
8082	invalidParams := request.ErrInvalidParams{Context: "S3ReportExportConfig"}
8083	if s.Bucket != nil && len(*s.Bucket) < 1 {
8084		invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
8085	}
8086	if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 {
8087		invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1))
8088	}
8089
8090	if invalidParams.Len() > 0 {
8091		return invalidParams
8092	}
8093	return nil
8094}
8095
8096// SetBucket sets the Bucket field's value.
8097func (s *S3ReportExportConfig) SetBucket(v string) *S3ReportExportConfig {
8098	s.Bucket = &v
8099	return s
8100}
8101
8102// SetEncryptionDisabled sets the EncryptionDisabled field's value.
8103func (s *S3ReportExportConfig) SetEncryptionDisabled(v bool) *S3ReportExportConfig {
8104	s.EncryptionDisabled = &v
8105	return s
8106}
8107
8108// SetEncryptionKey sets the EncryptionKey field's value.
8109func (s *S3ReportExportConfig) SetEncryptionKey(v string) *S3ReportExportConfig {
8110	s.EncryptionKey = &v
8111	return s
8112}
8113
8114// SetPackaging sets the Packaging field's value.
8115func (s *S3ReportExportConfig) SetPackaging(v string) *S3ReportExportConfig {
8116	s.Packaging = &v
8117	return s
8118}
8119
8120// SetPath sets the Path field's value.
8121func (s *S3ReportExportConfig) SetPath(v string) *S3ReportExportConfig {
8122	s.Path = &v
8123	return s
8124}
8125
8126// Information about the authorization settings for AWS CodeBuild to access
8127// the source code to be built.
8128//
8129// This information is for the AWS CodeBuild console's use only. Your code should
8130// not get or set this information directly.
8131type SourceAuth struct {
8132	_ struct{} `type:"structure"`
8133
8134	// The resource value that applies to the specified authorization type.
8135	Resource *string `locationName:"resource" type:"string"`
8136
8137	//
8138	// This data type is deprecated and is no longer accurate or used.
8139	//
8140	// The authorization type to use. The only valid value is OAUTH, which represents
8141	// the OAuth authorization type.
8142	//
8143	// Type is a required field
8144	Type *string `locationName:"type" type:"string" required:"true" enum:"SourceAuthType"`
8145}
8146
8147// String returns the string representation
8148func (s SourceAuth) String() string {
8149	return awsutil.Prettify(s)
8150}
8151
8152// GoString returns the string representation
8153func (s SourceAuth) GoString() string {
8154	return s.String()
8155}
8156
8157// Validate inspects the fields of the type to determine if they are valid.
8158func (s *SourceAuth) Validate() error {
8159	invalidParams := request.ErrInvalidParams{Context: "SourceAuth"}
8160	if s.Type == nil {
8161		invalidParams.Add(request.NewErrParamRequired("Type"))
8162	}
8163
8164	if invalidParams.Len() > 0 {
8165		return invalidParams
8166	}
8167	return nil
8168}
8169
8170// SetResource sets the Resource field's value.
8171func (s *SourceAuth) SetResource(v string) *SourceAuth {
8172	s.Resource = &v
8173	return s
8174}
8175
8176// SetType sets the Type field's value.
8177func (s *SourceAuth) SetType(v string) *SourceAuth {
8178	s.Type = &v
8179	return s
8180}
8181
8182// Information about the credentials for a GitHub, GitHub Enterprise, or Bitbucket
8183// repository.
8184type SourceCredentialsInfo struct {
8185	_ struct{} `type:"structure"`
8186
8187	// The Amazon Resource Name (ARN) of the token.
8188	Arn *string `locationName:"arn" min:"1" type:"string"`
8189
8190	// The type of authentication used by the credentials. Valid options are OAUTH,
8191	// BASIC_AUTH, or PERSONAL_ACCESS_TOKEN.
8192	AuthType *string `locationName:"authType" type:"string" enum:"AuthType"`
8193
8194	// The type of source provider. The valid options are GITHUB, GITHUB_ENTERPRISE,
8195	// or BITBUCKET.
8196	ServerType *string `locationName:"serverType" type:"string" enum:"ServerType"`
8197}
8198
8199// String returns the string representation
8200func (s SourceCredentialsInfo) String() string {
8201	return awsutil.Prettify(s)
8202}
8203
8204// GoString returns the string representation
8205func (s SourceCredentialsInfo) GoString() string {
8206	return s.String()
8207}
8208
8209// SetArn sets the Arn field's value.
8210func (s *SourceCredentialsInfo) SetArn(v string) *SourceCredentialsInfo {
8211	s.Arn = &v
8212	return s
8213}
8214
8215// SetAuthType sets the AuthType field's value.
8216func (s *SourceCredentialsInfo) SetAuthType(v string) *SourceCredentialsInfo {
8217	s.AuthType = &v
8218	return s
8219}
8220
8221// SetServerType sets the ServerType field's value.
8222func (s *SourceCredentialsInfo) SetServerType(v string) *SourceCredentialsInfo {
8223	s.ServerType = &v
8224	return s
8225}
8226
8227type StartBuildInput struct {
8228	_ struct{} `type:"structure"`
8229
8230	// Build output artifact settings that override, for this build only, the latest
8231	// ones already defined in the build project.
8232	ArtifactsOverride *ProjectArtifacts `locationName:"artifactsOverride" type:"structure"`
8233
8234	// A build spec declaration that overrides, for this build only, the latest
8235	// one already defined in the build project.
8236	BuildspecOverride *string `locationName:"buildspecOverride" type:"string"`
8237
8238	// A ProjectCache object specified for this build that overrides the one defined
8239	// in the build project.
8240	CacheOverride *ProjectCache `locationName:"cacheOverride" type:"structure"`
8241
8242	// The name of a certificate for this build that overrides the one specified
8243	// in the build project.
8244	CertificateOverride *string `locationName:"certificateOverride" type:"string"`
8245
8246	// The name of a compute type for this build that overrides the one specified
8247	// in the build project.
8248	ComputeTypeOverride *string `locationName:"computeTypeOverride" type:"string" enum:"ComputeType"`
8249
8250	// A container type for this build that overrides the one specified in the build
8251	// project.
8252	EnvironmentTypeOverride *string `locationName:"environmentTypeOverride" type:"string" enum:"EnvironmentType"`
8253
8254	// A set of environment variables that overrides, for this build only, the latest
8255	// ones already defined in the build project.
8256	EnvironmentVariablesOverride []*EnvironmentVariable `locationName:"environmentVariablesOverride" type:"list"`
8257
8258	// The user-defined depth of history, with a minimum value of 0, that overrides,
8259	// for this build only, any previous depth of history defined in the build project.
8260	GitCloneDepthOverride *int64 `locationName:"gitCloneDepthOverride" type:"integer"`
8261
8262	// Information about the Git submodules configuration for this build of an AWS
8263	// CodeBuild build project.
8264	GitSubmodulesConfigOverride *GitSubmodulesConfig `locationName:"gitSubmodulesConfigOverride" type:"structure"`
8265
8266	// A unique, case sensitive identifier you provide to ensure the idempotency
8267	// of the StartBuild request. The token is included in the StartBuild request
8268	// and is valid for 12 hours. If you repeat the StartBuild request with the
8269	// same token, but change a parameter, AWS CodeBuild returns a parameter mismatch
8270	// error.
8271	IdempotencyToken *string `locationName:"idempotencyToken" type:"string"`
8272
8273	// The name of an image for this build that overrides the one specified in the
8274	// build project.
8275	ImageOverride *string `locationName:"imageOverride" min:"1" type:"string"`
8276
8277	// The type of credentials AWS CodeBuild uses to pull images in your build.
8278	// There are two valid values:
8279	//
8280	//    * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This
8281	//    requires that you modify your ECR repository policy to trust AWS CodeBuild's
8282	//    service principal.
8283	//
8284	//    * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's
8285	//    service role.
8286	//
8287	// When using a cross-account or private registry image, you must use SERVICE_ROLE
8288	// credentials. When using an AWS CodeBuild curated image, you must use CODEBUILD
8289	// credentials.
8290	ImagePullCredentialsTypeOverride *string `locationName:"imagePullCredentialsTypeOverride" type:"string" enum:"ImagePullCredentialsType"`
8291
8292	// Enable this flag to override the insecure SSL setting that is specified in
8293	// the build project. The insecure SSL setting determines whether to ignore
8294	// SSL warnings while connecting to the project source code. This override applies
8295	// only if the build's source is GitHub Enterprise.
8296	InsecureSslOverride *bool `locationName:"insecureSslOverride" type:"boolean"`
8297
8298	// Log settings for this build that override the log settings defined in the
8299	// build project.
8300	LogsConfigOverride *LogsConfig `locationName:"logsConfigOverride" type:"structure"`
8301
8302	// Enable this flag to override privileged mode in the build project.
8303	PrivilegedModeOverride *bool `locationName:"privilegedModeOverride" type:"boolean"`
8304
8305	// The name of the AWS CodeBuild build project to start running a build.
8306	//
8307	// ProjectName is a required field
8308	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
8309
8310	// The number of minutes a build is allowed to be queued before it times out.
8311	QueuedTimeoutInMinutesOverride *int64 `locationName:"queuedTimeoutInMinutesOverride" min:"5" type:"integer"`
8312
8313	// The credentials for access to a private registry.
8314	RegistryCredentialOverride *RegistryCredential `locationName:"registryCredentialOverride" type:"structure"`
8315
8316	// Set to true to report to your source provider the status of a build's start
8317	// and completion. If you use this option with a source provider other than
8318	// GitHub, GitHub Enterprise, or Bitbucket, an invalidInputException is thrown.
8319	//
8320	// The status of a build triggered by a webhook is always reported to your source
8321	// provider.
8322	ReportBuildStatusOverride *bool `locationName:"reportBuildStatusOverride" type:"boolean"`
8323
8324	// An array of ProjectArtifacts objects.
8325	SecondaryArtifactsOverride []*ProjectArtifacts `locationName:"secondaryArtifactsOverride" type:"list"`
8326
8327	// An array of ProjectSource objects.
8328	SecondarySourcesOverride []*ProjectSource `locationName:"secondarySourcesOverride" type:"list"`
8329
8330	// An array of ProjectSourceVersion objects that specify one or more versions
8331	// of the project's secondary sources to be used for this build only.
8332	SecondarySourcesVersionOverride []*ProjectSourceVersion `locationName:"secondarySourcesVersionOverride" type:"list"`
8333
8334	// The name of a service role for this build that overrides the one specified
8335	// in the build project.
8336	ServiceRoleOverride *string `locationName:"serviceRoleOverride" min:"1" type:"string"`
8337
8338	// An authorization type for this build that overrides the one defined in the
8339	// build project. This override applies only if the build project's source is
8340	// BitBucket or GitHub.
8341	SourceAuthOverride *SourceAuth `locationName:"sourceAuthOverride" type:"structure"`
8342
8343	// A location that overrides, for this build, the source location for the one
8344	// defined in the build project.
8345	SourceLocationOverride *string `locationName:"sourceLocationOverride" type:"string"`
8346
8347	// A source input type, for this build, that overrides the source input defined
8348	// in the build project.
8349	SourceTypeOverride *string `locationName:"sourceTypeOverride" type:"string" enum:"SourceType"`
8350
8351	// A version of the build input to be built, for this build only. If not specified,
8352	// the latest version is used. If specified, must be one of:
8353	//
8354	//    * For AWS CodeCommit: the commit ID, branch, or Git tag to use.
8355	//
8356	//    * For GitHub: the commit ID, pull request ID, branch name, or tag name
8357	//    that corresponds to the version of the source code you want to build.
8358	//    If a pull request ID is specified, it must use the format pr/pull-request-ID
8359	//    (for example pr/25). If a branch name is specified, the branch's HEAD
8360	//    commit ID is used. If not specified, the default branch's HEAD commit
8361	//    ID is used.
8362	//
8363	//    * For Bitbucket: the commit ID, branch name, or tag name that corresponds
8364	//    to the version of the source code you want to build. If a branch name
8365	//    is specified, the branch's HEAD commit ID is used. If not specified, the
8366	//    default branch's HEAD commit ID is used.
8367	//
8368	//    * For Amazon Simple Storage Service (Amazon S3): the version ID of the
8369	//    object that represents the build input ZIP file to use.
8370	//
8371	// If sourceVersion is specified at the project level, then this sourceVersion
8372	// (at the build level) takes precedence.
8373	//
8374	// For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html)
8375	// in the AWS CodeBuild User Guide.
8376	SourceVersion *string `locationName:"sourceVersion" type:"string"`
8377
8378	// The number of build timeout minutes, from 5 to 480 (8 hours), that overrides,
8379	// for this build only, the latest setting already defined in the build project.
8380	TimeoutInMinutesOverride *int64 `locationName:"timeoutInMinutesOverride" min:"5" type:"integer"`
8381}
8382
8383// String returns the string representation
8384func (s StartBuildInput) String() string {
8385	return awsutil.Prettify(s)
8386}
8387
8388// GoString returns the string representation
8389func (s StartBuildInput) GoString() string {
8390	return s.String()
8391}
8392
8393// Validate inspects the fields of the type to determine if they are valid.
8394func (s *StartBuildInput) Validate() error {
8395	invalidParams := request.ErrInvalidParams{Context: "StartBuildInput"}
8396	if s.ImageOverride != nil && len(*s.ImageOverride) < 1 {
8397		invalidParams.Add(request.NewErrParamMinLen("ImageOverride", 1))
8398	}
8399	if s.ProjectName == nil {
8400		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
8401	}
8402	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
8403		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
8404	}
8405	if s.QueuedTimeoutInMinutesOverride != nil && *s.QueuedTimeoutInMinutesOverride < 5 {
8406		invalidParams.Add(request.NewErrParamMinValue("QueuedTimeoutInMinutesOverride", 5))
8407	}
8408	if s.ServiceRoleOverride != nil && len(*s.ServiceRoleOverride) < 1 {
8409		invalidParams.Add(request.NewErrParamMinLen("ServiceRoleOverride", 1))
8410	}
8411	if s.TimeoutInMinutesOverride != nil && *s.TimeoutInMinutesOverride < 5 {
8412		invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutesOverride", 5))
8413	}
8414	if s.ArtifactsOverride != nil {
8415		if err := s.ArtifactsOverride.Validate(); err != nil {
8416			invalidParams.AddNested("ArtifactsOverride", err.(request.ErrInvalidParams))
8417		}
8418	}
8419	if s.CacheOverride != nil {
8420		if err := s.CacheOverride.Validate(); err != nil {
8421			invalidParams.AddNested("CacheOverride", err.(request.ErrInvalidParams))
8422		}
8423	}
8424	if s.EnvironmentVariablesOverride != nil {
8425		for i, v := range s.EnvironmentVariablesOverride {
8426			if v == nil {
8427				continue
8428			}
8429			if err := v.Validate(); err != nil {
8430				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentVariablesOverride", i), err.(request.ErrInvalidParams))
8431			}
8432		}
8433	}
8434	if s.GitSubmodulesConfigOverride != nil {
8435		if err := s.GitSubmodulesConfigOverride.Validate(); err != nil {
8436			invalidParams.AddNested("GitSubmodulesConfigOverride", err.(request.ErrInvalidParams))
8437		}
8438	}
8439	if s.LogsConfigOverride != nil {
8440		if err := s.LogsConfigOverride.Validate(); err != nil {
8441			invalidParams.AddNested("LogsConfigOverride", err.(request.ErrInvalidParams))
8442		}
8443	}
8444	if s.RegistryCredentialOverride != nil {
8445		if err := s.RegistryCredentialOverride.Validate(); err != nil {
8446			invalidParams.AddNested("RegistryCredentialOverride", err.(request.ErrInvalidParams))
8447		}
8448	}
8449	if s.SecondaryArtifactsOverride != nil {
8450		for i, v := range s.SecondaryArtifactsOverride {
8451			if v == nil {
8452				continue
8453			}
8454			if err := v.Validate(); err != nil {
8455				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondaryArtifactsOverride", i), err.(request.ErrInvalidParams))
8456			}
8457		}
8458	}
8459	if s.SecondarySourcesOverride != nil {
8460		for i, v := range s.SecondarySourcesOverride {
8461			if v == nil {
8462				continue
8463			}
8464			if err := v.Validate(); err != nil {
8465				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourcesOverride", i), err.(request.ErrInvalidParams))
8466			}
8467		}
8468	}
8469	if s.SecondarySourcesVersionOverride != nil {
8470		for i, v := range s.SecondarySourcesVersionOverride {
8471			if v == nil {
8472				continue
8473			}
8474			if err := v.Validate(); err != nil {
8475				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourcesVersionOverride", i), err.(request.ErrInvalidParams))
8476			}
8477		}
8478	}
8479	if s.SourceAuthOverride != nil {
8480		if err := s.SourceAuthOverride.Validate(); err != nil {
8481			invalidParams.AddNested("SourceAuthOverride", err.(request.ErrInvalidParams))
8482		}
8483	}
8484
8485	if invalidParams.Len() > 0 {
8486		return invalidParams
8487	}
8488	return nil
8489}
8490
8491// SetArtifactsOverride sets the ArtifactsOverride field's value.
8492func (s *StartBuildInput) SetArtifactsOverride(v *ProjectArtifacts) *StartBuildInput {
8493	s.ArtifactsOverride = v
8494	return s
8495}
8496
8497// SetBuildspecOverride sets the BuildspecOverride field's value.
8498func (s *StartBuildInput) SetBuildspecOverride(v string) *StartBuildInput {
8499	s.BuildspecOverride = &v
8500	return s
8501}
8502
8503// SetCacheOverride sets the CacheOverride field's value.
8504func (s *StartBuildInput) SetCacheOverride(v *ProjectCache) *StartBuildInput {
8505	s.CacheOverride = v
8506	return s
8507}
8508
8509// SetCertificateOverride sets the CertificateOverride field's value.
8510func (s *StartBuildInput) SetCertificateOverride(v string) *StartBuildInput {
8511	s.CertificateOverride = &v
8512	return s
8513}
8514
8515// SetComputeTypeOverride sets the ComputeTypeOverride field's value.
8516func (s *StartBuildInput) SetComputeTypeOverride(v string) *StartBuildInput {
8517	s.ComputeTypeOverride = &v
8518	return s
8519}
8520
8521// SetEnvironmentTypeOverride sets the EnvironmentTypeOverride field's value.
8522func (s *StartBuildInput) SetEnvironmentTypeOverride(v string) *StartBuildInput {
8523	s.EnvironmentTypeOverride = &v
8524	return s
8525}
8526
8527// SetEnvironmentVariablesOverride sets the EnvironmentVariablesOverride field's value.
8528func (s *StartBuildInput) SetEnvironmentVariablesOverride(v []*EnvironmentVariable) *StartBuildInput {
8529	s.EnvironmentVariablesOverride = v
8530	return s
8531}
8532
8533// SetGitCloneDepthOverride sets the GitCloneDepthOverride field's value.
8534func (s *StartBuildInput) SetGitCloneDepthOverride(v int64) *StartBuildInput {
8535	s.GitCloneDepthOverride = &v
8536	return s
8537}
8538
8539// SetGitSubmodulesConfigOverride sets the GitSubmodulesConfigOverride field's value.
8540func (s *StartBuildInput) SetGitSubmodulesConfigOverride(v *GitSubmodulesConfig) *StartBuildInput {
8541	s.GitSubmodulesConfigOverride = v
8542	return s
8543}
8544
8545// SetIdempotencyToken sets the IdempotencyToken field's value.
8546func (s *StartBuildInput) SetIdempotencyToken(v string) *StartBuildInput {
8547	s.IdempotencyToken = &v
8548	return s
8549}
8550
8551// SetImageOverride sets the ImageOverride field's value.
8552func (s *StartBuildInput) SetImageOverride(v string) *StartBuildInput {
8553	s.ImageOverride = &v
8554	return s
8555}
8556
8557// SetImagePullCredentialsTypeOverride sets the ImagePullCredentialsTypeOverride field's value.
8558func (s *StartBuildInput) SetImagePullCredentialsTypeOverride(v string) *StartBuildInput {
8559	s.ImagePullCredentialsTypeOverride = &v
8560	return s
8561}
8562
8563// SetInsecureSslOverride sets the InsecureSslOverride field's value.
8564func (s *StartBuildInput) SetInsecureSslOverride(v bool) *StartBuildInput {
8565	s.InsecureSslOverride = &v
8566	return s
8567}
8568
8569// SetLogsConfigOverride sets the LogsConfigOverride field's value.
8570func (s *StartBuildInput) SetLogsConfigOverride(v *LogsConfig) *StartBuildInput {
8571	s.LogsConfigOverride = v
8572	return s
8573}
8574
8575// SetPrivilegedModeOverride sets the PrivilegedModeOverride field's value.
8576func (s *StartBuildInput) SetPrivilegedModeOverride(v bool) *StartBuildInput {
8577	s.PrivilegedModeOverride = &v
8578	return s
8579}
8580
8581// SetProjectName sets the ProjectName field's value.
8582func (s *StartBuildInput) SetProjectName(v string) *StartBuildInput {
8583	s.ProjectName = &v
8584	return s
8585}
8586
8587// SetQueuedTimeoutInMinutesOverride sets the QueuedTimeoutInMinutesOverride field's value.
8588func (s *StartBuildInput) SetQueuedTimeoutInMinutesOverride(v int64) *StartBuildInput {
8589	s.QueuedTimeoutInMinutesOverride = &v
8590	return s
8591}
8592
8593// SetRegistryCredentialOverride sets the RegistryCredentialOverride field's value.
8594func (s *StartBuildInput) SetRegistryCredentialOverride(v *RegistryCredential) *StartBuildInput {
8595	s.RegistryCredentialOverride = v
8596	return s
8597}
8598
8599// SetReportBuildStatusOverride sets the ReportBuildStatusOverride field's value.
8600func (s *StartBuildInput) SetReportBuildStatusOverride(v bool) *StartBuildInput {
8601	s.ReportBuildStatusOverride = &v
8602	return s
8603}
8604
8605// SetSecondaryArtifactsOverride sets the SecondaryArtifactsOverride field's value.
8606func (s *StartBuildInput) SetSecondaryArtifactsOverride(v []*ProjectArtifacts) *StartBuildInput {
8607	s.SecondaryArtifactsOverride = v
8608	return s
8609}
8610
8611// SetSecondarySourcesOverride sets the SecondarySourcesOverride field's value.
8612func (s *StartBuildInput) SetSecondarySourcesOverride(v []*ProjectSource) *StartBuildInput {
8613	s.SecondarySourcesOverride = v
8614	return s
8615}
8616
8617// SetSecondarySourcesVersionOverride sets the SecondarySourcesVersionOverride field's value.
8618func (s *StartBuildInput) SetSecondarySourcesVersionOverride(v []*ProjectSourceVersion) *StartBuildInput {
8619	s.SecondarySourcesVersionOverride = v
8620	return s
8621}
8622
8623// SetServiceRoleOverride sets the ServiceRoleOverride field's value.
8624func (s *StartBuildInput) SetServiceRoleOverride(v string) *StartBuildInput {
8625	s.ServiceRoleOverride = &v
8626	return s
8627}
8628
8629// SetSourceAuthOverride sets the SourceAuthOverride field's value.
8630func (s *StartBuildInput) SetSourceAuthOverride(v *SourceAuth) *StartBuildInput {
8631	s.SourceAuthOverride = v
8632	return s
8633}
8634
8635// SetSourceLocationOverride sets the SourceLocationOverride field's value.
8636func (s *StartBuildInput) SetSourceLocationOverride(v string) *StartBuildInput {
8637	s.SourceLocationOverride = &v
8638	return s
8639}
8640
8641// SetSourceTypeOverride sets the SourceTypeOverride field's value.
8642func (s *StartBuildInput) SetSourceTypeOverride(v string) *StartBuildInput {
8643	s.SourceTypeOverride = &v
8644	return s
8645}
8646
8647// SetSourceVersion sets the SourceVersion field's value.
8648func (s *StartBuildInput) SetSourceVersion(v string) *StartBuildInput {
8649	s.SourceVersion = &v
8650	return s
8651}
8652
8653// SetTimeoutInMinutesOverride sets the TimeoutInMinutesOverride field's value.
8654func (s *StartBuildInput) SetTimeoutInMinutesOverride(v int64) *StartBuildInput {
8655	s.TimeoutInMinutesOverride = &v
8656	return s
8657}
8658
8659type StartBuildOutput struct {
8660	_ struct{} `type:"structure"`
8661
8662	// Information about the build to be run.
8663	Build *Build `locationName:"build" type:"structure"`
8664}
8665
8666// String returns the string representation
8667func (s StartBuildOutput) String() string {
8668	return awsutil.Prettify(s)
8669}
8670
8671// GoString returns the string representation
8672func (s StartBuildOutput) GoString() string {
8673	return s.String()
8674}
8675
8676// SetBuild sets the Build field's value.
8677func (s *StartBuildOutput) SetBuild(v *Build) *StartBuildOutput {
8678	s.Build = v
8679	return s
8680}
8681
8682type StopBuildInput struct {
8683	_ struct{} `type:"structure"`
8684
8685	// The ID of the build.
8686	//
8687	// Id is a required field
8688	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
8689}
8690
8691// String returns the string representation
8692func (s StopBuildInput) String() string {
8693	return awsutil.Prettify(s)
8694}
8695
8696// GoString returns the string representation
8697func (s StopBuildInput) GoString() string {
8698	return s.String()
8699}
8700
8701// Validate inspects the fields of the type to determine if they are valid.
8702func (s *StopBuildInput) Validate() error {
8703	invalidParams := request.ErrInvalidParams{Context: "StopBuildInput"}
8704	if s.Id == nil {
8705		invalidParams.Add(request.NewErrParamRequired("Id"))
8706	}
8707	if s.Id != nil && len(*s.Id) < 1 {
8708		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
8709	}
8710
8711	if invalidParams.Len() > 0 {
8712		return invalidParams
8713	}
8714	return nil
8715}
8716
8717// SetId sets the Id field's value.
8718func (s *StopBuildInput) SetId(v string) *StopBuildInput {
8719	s.Id = &v
8720	return s
8721}
8722
8723type StopBuildOutput struct {
8724	_ struct{} `type:"structure"`
8725
8726	// Information about the build.
8727	Build *Build `locationName:"build" type:"structure"`
8728}
8729
8730// String returns the string representation
8731func (s StopBuildOutput) String() string {
8732	return awsutil.Prettify(s)
8733}
8734
8735// GoString returns the string representation
8736func (s StopBuildOutput) GoString() string {
8737	return s.String()
8738}
8739
8740// SetBuild sets the Build field's value.
8741func (s *StopBuildOutput) SetBuild(v *Build) *StopBuildOutput {
8742	s.Build = v
8743	return s
8744}
8745
8746// A tag, consisting of a key and a value.
8747//
8748// This tag is available for use by AWS services that support tags in AWS CodeBuild.
8749type Tag struct {
8750	_ struct{} `type:"structure"`
8751
8752	// The tag's key.
8753	Key *string `locationName:"key" min:"1" type:"string"`
8754
8755	// The tag's value.
8756	Value *string `locationName:"value" min:"1" type:"string"`
8757}
8758
8759// String returns the string representation
8760func (s Tag) String() string {
8761	return awsutil.Prettify(s)
8762}
8763
8764// GoString returns the string representation
8765func (s Tag) GoString() string {
8766	return s.String()
8767}
8768
8769// Validate inspects the fields of the type to determine if they are valid.
8770func (s *Tag) Validate() error {
8771	invalidParams := request.ErrInvalidParams{Context: "Tag"}
8772	if s.Key != nil && len(*s.Key) < 1 {
8773		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
8774	}
8775	if s.Value != nil && len(*s.Value) < 1 {
8776		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
8777	}
8778
8779	if invalidParams.Len() > 0 {
8780		return invalidParams
8781	}
8782	return nil
8783}
8784
8785// SetKey sets the Key field's value.
8786func (s *Tag) SetKey(v string) *Tag {
8787	s.Key = &v
8788	return s
8789}
8790
8791// SetValue sets the Value field's value.
8792func (s *Tag) SetValue(v string) *Tag {
8793	s.Value = &v
8794	return s
8795}
8796
8797// Information about a test case created using a framework such as NUnit or
8798// Cucumber. A test case might be a unit test or a configuration test.
8799type TestCase struct {
8800	_ struct{} `type:"structure"`
8801
8802	// The number of nanoseconds it took to run this test case.
8803	DurationInNanoSeconds *int64 `locationName:"durationInNanoSeconds" type:"long"`
8804
8805	// The date and time a test case expires. A test case expires 30 days after
8806	// it is created. An expired test case is not available to view in CodeBuild.
8807	Expired *time.Time `locationName:"expired" type:"timestamp"`
8808
8809	// A message associated with a test case. For example, an error message or stack
8810	// trace.
8811	Message *string `locationName:"message" type:"string"`
8812
8813	// The name of the test case.
8814	Name *string `locationName:"name" type:"string"`
8815
8816	// A string that is applied to a series of related test cases. CodeBuild generates
8817	// the prefix. The prefix depends on the framework used to generate the tests.
8818	Prefix *string `locationName:"prefix" type:"string"`
8819
8820	// The ARN of the report to which the test case belongs.
8821	ReportArn *string `locationName:"reportArn" min:"1" type:"string"`
8822
8823	// The status returned by the test case after it was run. Valid statuses are
8824	// SUCCEEDED, FAILED, ERROR, SKIPPED, and UNKNOWN.
8825	Status *string `locationName:"status" type:"string"`
8826
8827	// The path to the raw data file that contains the test result.
8828	TestRawDataPath *string `locationName:"testRawDataPath" type:"string"`
8829}
8830
8831// String returns the string representation
8832func (s TestCase) String() string {
8833	return awsutil.Prettify(s)
8834}
8835
8836// GoString returns the string representation
8837func (s TestCase) GoString() string {
8838	return s.String()
8839}
8840
8841// SetDurationInNanoSeconds sets the DurationInNanoSeconds field's value.
8842func (s *TestCase) SetDurationInNanoSeconds(v int64) *TestCase {
8843	s.DurationInNanoSeconds = &v
8844	return s
8845}
8846
8847// SetExpired sets the Expired field's value.
8848func (s *TestCase) SetExpired(v time.Time) *TestCase {
8849	s.Expired = &v
8850	return s
8851}
8852
8853// SetMessage sets the Message field's value.
8854func (s *TestCase) SetMessage(v string) *TestCase {
8855	s.Message = &v
8856	return s
8857}
8858
8859// SetName sets the Name field's value.
8860func (s *TestCase) SetName(v string) *TestCase {
8861	s.Name = &v
8862	return s
8863}
8864
8865// SetPrefix sets the Prefix field's value.
8866func (s *TestCase) SetPrefix(v string) *TestCase {
8867	s.Prefix = &v
8868	return s
8869}
8870
8871// SetReportArn sets the ReportArn field's value.
8872func (s *TestCase) SetReportArn(v string) *TestCase {
8873	s.ReportArn = &v
8874	return s
8875}
8876
8877// SetStatus sets the Status field's value.
8878func (s *TestCase) SetStatus(v string) *TestCase {
8879	s.Status = &v
8880	return s
8881}
8882
8883// SetTestRawDataPath sets the TestRawDataPath field's value.
8884func (s *TestCase) SetTestRawDataPath(v string) *TestCase {
8885	s.TestRawDataPath = &v
8886	return s
8887}
8888
8889// A filter used to return specific types of test cases.
8890type TestCaseFilter struct {
8891	_ struct{} `type:"structure"`
8892
8893	// The status used to filter test cases. Valid statuses are SUCCEEDED, FAILED,
8894	// ERROR, SKIPPED, and UNKNOWN. A TestCaseFilter can have one status.
8895	Status *string `locationName:"status" type:"string"`
8896}
8897
8898// String returns the string representation
8899func (s TestCaseFilter) String() string {
8900	return awsutil.Prettify(s)
8901}
8902
8903// GoString returns the string representation
8904func (s TestCaseFilter) GoString() string {
8905	return s.String()
8906}
8907
8908// SetStatus sets the Status field's value.
8909func (s *TestCaseFilter) SetStatus(v string) *TestCaseFilter {
8910	s.Status = &v
8911	return s
8912}
8913
8914// Information about a test report.
8915type TestReportSummary struct {
8916	_ struct{} `type:"structure"`
8917
8918	// The number of nanoseconds it took to run all of the test cases in this report.
8919	//
8920	// DurationInNanoSeconds is a required field
8921	DurationInNanoSeconds *int64 `locationName:"durationInNanoSeconds" type:"long" required:"true"`
8922
8923	// A map that contains the number of each type of status returned by the test
8924	// results in this TestReportSummary.
8925	//
8926	// StatusCounts is a required field
8927	StatusCounts map[string]*int64 `locationName:"statusCounts" type:"map" required:"true"`
8928
8929	// The number of test cases in this TestReportSummary. The total includes truncated
8930	// test cases.
8931	//
8932	// Total is a required field
8933	Total *int64 `locationName:"total" type:"integer" required:"true"`
8934}
8935
8936// String returns the string representation
8937func (s TestReportSummary) String() string {
8938	return awsutil.Prettify(s)
8939}
8940
8941// GoString returns the string representation
8942func (s TestReportSummary) GoString() string {
8943	return s.String()
8944}
8945
8946// SetDurationInNanoSeconds sets the DurationInNanoSeconds field's value.
8947func (s *TestReportSummary) SetDurationInNanoSeconds(v int64) *TestReportSummary {
8948	s.DurationInNanoSeconds = &v
8949	return s
8950}
8951
8952// SetStatusCounts sets the StatusCounts field's value.
8953func (s *TestReportSummary) SetStatusCounts(v map[string]*int64) *TestReportSummary {
8954	s.StatusCounts = v
8955	return s
8956}
8957
8958// SetTotal sets the Total field's value.
8959func (s *TestReportSummary) SetTotal(v int64) *TestReportSummary {
8960	s.Total = &v
8961	return s
8962}
8963
8964type UpdateProjectInput struct {
8965	_ struct{} `type:"structure"`
8966
8967	// Information to be changed about the build output artifacts for the build
8968	// project.
8969	Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure"`
8970
8971	// Set this to true to generate a publicly accessible URL for your project's
8972	// build badge.
8973	BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"`
8974
8975	// Stores recently used information so that it can be quickly accessed at a
8976	// later time.
8977	Cache *ProjectCache `locationName:"cache" type:"structure"`
8978
8979	// A new or replacement description of the build project.
8980	Description *string `locationName:"description" type:"string"`
8981
8982	// The AWS Key Management Service (AWS KMS) customer master key (CMK) to be
8983	// used for encrypting the build output artifacts.
8984	//
8985	// You can use a cross-account KMS key to encrypt the build output artifacts
8986	// if your service role has permission to that key.
8987	//
8988	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
8989	// the CMK's alias (using the format alias/alias-name ).
8990	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
8991
8992	// Information to be changed about the build environment for the build project.
8993	Environment *ProjectEnvironment `locationName:"environment" type:"structure"`
8994
8995	// Information about logs for the build project. A project can create logs in
8996	// Amazon CloudWatch Logs, logs in an S3 bucket, or both.
8997	LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"`
8998
8999	// The name of the build project.
9000	//
9001	// You cannot change a build project's name.
9002	//
9003	// Name is a required field
9004	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9005
9006	// The number of minutes a build is allowed to be queued before it times out.
9007	QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" type:"integer"`
9008
9009	// An array of ProjectSource objects.
9010	SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"`
9011
9012	// An array of ProjectSourceVersion objects. If secondarySourceVersions is specified
9013	// at the build level, then they take over these secondarySourceVersions (at
9014	// the project level).
9015	SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"`
9016
9017	// An array of ProjectSource objects.
9018	SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"`
9019
9020	// The replacement ARN of the AWS Identity and Access Management (IAM) role
9021	// that enables AWS CodeBuild to interact with dependent AWS services on behalf
9022	// of the AWS account.
9023	ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"`
9024
9025	// Information to be changed about the build input source code for the build
9026	// project.
9027	Source *ProjectSource `locationName:"source" type:"structure"`
9028
9029	// A version of the build input to be built for this project. If not specified,
9030	// the latest version is used. If specified, it must be one of:
9031	//
9032	//    * For AWS CodeCommit: the commit ID, branch, or Git tag to use.
9033	//
9034	//    * For GitHub: the commit ID, pull request ID, branch name, or tag name
9035	//    that corresponds to the version of the source code you want to build.
9036	//    If a pull request ID is specified, it must use the format pr/pull-request-ID
9037	//    (for example pr/25). If a branch name is specified, the branch's HEAD
9038	//    commit ID is used. If not specified, the default branch's HEAD commit
9039	//    ID is used.
9040	//
9041	//    * For Bitbucket: the commit ID, branch name, or tag name that corresponds
9042	//    to the version of the source code you want to build. If a branch name
9043	//    is specified, the branch's HEAD commit ID is used. If not specified, the
9044	//    default branch's HEAD commit ID is used.
9045	//
9046	//    * For Amazon Simple Storage Service (Amazon S3): the version ID of the
9047	//    object that represents the build input ZIP file to use.
9048	//
9049	// If sourceVersion is specified at the build level, then that version takes
9050	// precedence over this sourceVersion (at the project level).
9051	//
9052	// For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html)
9053	// in the AWS CodeBuild User Guide.
9054	SourceVersion *string `locationName:"sourceVersion" type:"string"`
9055
9056	// The replacement set of tags for this build project.
9057	//
9058	// These tags are available for use by AWS services that support AWS CodeBuild
9059	// build project tags.
9060	Tags []*Tag `locationName:"tags" type:"list"`
9061
9062	// The replacement value in minutes, from 5 to 480 (8 hours), for AWS CodeBuild
9063	// to wait before timing out any related build that did not get marked as completed.
9064	TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"`
9065
9066	// VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.
9067	VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"`
9068}
9069
9070// String returns the string representation
9071func (s UpdateProjectInput) String() string {
9072	return awsutil.Prettify(s)
9073}
9074
9075// GoString returns the string representation
9076func (s UpdateProjectInput) GoString() string {
9077	return s.String()
9078}
9079
9080// Validate inspects the fields of the type to determine if they are valid.
9081func (s *UpdateProjectInput) Validate() error {
9082	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"}
9083	if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 {
9084		invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1))
9085	}
9086	if s.Name == nil {
9087		invalidParams.Add(request.NewErrParamRequired("Name"))
9088	}
9089	if s.Name != nil && len(*s.Name) < 1 {
9090		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9091	}
9092	if s.QueuedTimeoutInMinutes != nil && *s.QueuedTimeoutInMinutes < 5 {
9093		invalidParams.Add(request.NewErrParamMinValue("QueuedTimeoutInMinutes", 5))
9094	}
9095	if s.ServiceRole != nil && len(*s.ServiceRole) < 1 {
9096		invalidParams.Add(request.NewErrParamMinLen("ServiceRole", 1))
9097	}
9098	if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 5 {
9099		invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 5))
9100	}
9101	if s.Artifacts != nil {
9102		if err := s.Artifacts.Validate(); err != nil {
9103			invalidParams.AddNested("Artifacts", err.(request.ErrInvalidParams))
9104		}
9105	}
9106	if s.Cache != nil {
9107		if err := s.Cache.Validate(); err != nil {
9108			invalidParams.AddNested("Cache", err.(request.ErrInvalidParams))
9109		}
9110	}
9111	if s.Environment != nil {
9112		if err := s.Environment.Validate(); err != nil {
9113			invalidParams.AddNested("Environment", err.(request.ErrInvalidParams))
9114		}
9115	}
9116	if s.LogsConfig != nil {
9117		if err := s.LogsConfig.Validate(); err != nil {
9118			invalidParams.AddNested("LogsConfig", err.(request.ErrInvalidParams))
9119		}
9120	}
9121	if s.SecondaryArtifacts != nil {
9122		for i, v := range s.SecondaryArtifacts {
9123			if v == nil {
9124				continue
9125			}
9126			if err := v.Validate(); err != nil {
9127				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondaryArtifacts", i), err.(request.ErrInvalidParams))
9128			}
9129		}
9130	}
9131	if s.SecondarySourceVersions != nil {
9132		for i, v := range s.SecondarySourceVersions {
9133			if v == nil {
9134				continue
9135			}
9136			if err := v.Validate(); err != nil {
9137				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourceVersions", i), err.(request.ErrInvalidParams))
9138			}
9139		}
9140	}
9141	if s.SecondarySources != nil {
9142		for i, v := range s.SecondarySources {
9143			if v == nil {
9144				continue
9145			}
9146			if err := v.Validate(); err != nil {
9147				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySources", i), err.(request.ErrInvalidParams))
9148			}
9149		}
9150	}
9151	if s.Source != nil {
9152		if err := s.Source.Validate(); err != nil {
9153			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
9154		}
9155	}
9156	if s.Tags != nil {
9157		for i, v := range s.Tags {
9158			if v == nil {
9159				continue
9160			}
9161			if err := v.Validate(); err != nil {
9162				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9163			}
9164		}
9165	}
9166	if s.VpcConfig != nil {
9167		if err := s.VpcConfig.Validate(); err != nil {
9168			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
9169		}
9170	}
9171
9172	if invalidParams.Len() > 0 {
9173		return invalidParams
9174	}
9175	return nil
9176}
9177
9178// SetArtifacts sets the Artifacts field's value.
9179func (s *UpdateProjectInput) SetArtifacts(v *ProjectArtifacts) *UpdateProjectInput {
9180	s.Artifacts = v
9181	return s
9182}
9183
9184// SetBadgeEnabled sets the BadgeEnabled field's value.
9185func (s *UpdateProjectInput) SetBadgeEnabled(v bool) *UpdateProjectInput {
9186	s.BadgeEnabled = &v
9187	return s
9188}
9189
9190// SetCache sets the Cache field's value.
9191func (s *UpdateProjectInput) SetCache(v *ProjectCache) *UpdateProjectInput {
9192	s.Cache = v
9193	return s
9194}
9195
9196// SetDescription sets the Description field's value.
9197func (s *UpdateProjectInput) SetDescription(v string) *UpdateProjectInput {
9198	s.Description = &v
9199	return s
9200}
9201
9202// SetEncryptionKey sets the EncryptionKey field's value.
9203func (s *UpdateProjectInput) SetEncryptionKey(v string) *UpdateProjectInput {
9204	s.EncryptionKey = &v
9205	return s
9206}
9207
9208// SetEnvironment sets the Environment field's value.
9209func (s *UpdateProjectInput) SetEnvironment(v *ProjectEnvironment) *UpdateProjectInput {
9210	s.Environment = v
9211	return s
9212}
9213
9214// SetLogsConfig sets the LogsConfig field's value.
9215func (s *UpdateProjectInput) SetLogsConfig(v *LogsConfig) *UpdateProjectInput {
9216	s.LogsConfig = v
9217	return s
9218}
9219
9220// SetName sets the Name field's value.
9221func (s *UpdateProjectInput) SetName(v string) *UpdateProjectInput {
9222	s.Name = &v
9223	return s
9224}
9225
9226// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value.
9227func (s *UpdateProjectInput) SetQueuedTimeoutInMinutes(v int64) *UpdateProjectInput {
9228	s.QueuedTimeoutInMinutes = &v
9229	return s
9230}
9231
9232// SetSecondaryArtifacts sets the SecondaryArtifacts field's value.
9233func (s *UpdateProjectInput) SetSecondaryArtifacts(v []*ProjectArtifacts) *UpdateProjectInput {
9234	s.SecondaryArtifacts = v
9235	return s
9236}
9237
9238// SetSecondarySourceVersions sets the SecondarySourceVersions field's value.
9239func (s *UpdateProjectInput) SetSecondarySourceVersions(v []*ProjectSourceVersion) *UpdateProjectInput {
9240	s.SecondarySourceVersions = v
9241	return s
9242}
9243
9244// SetSecondarySources sets the SecondarySources field's value.
9245func (s *UpdateProjectInput) SetSecondarySources(v []*ProjectSource) *UpdateProjectInput {
9246	s.SecondarySources = v
9247	return s
9248}
9249
9250// SetServiceRole sets the ServiceRole field's value.
9251func (s *UpdateProjectInput) SetServiceRole(v string) *UpdateProjectInput {
9252	s.ServiceRole = &v
9253	return s
9254}
9255
9256// SetSource sets the Source field's value.
9257func (s *UpdateProjectInput) SetSource(v *ProjectSource) *UpdateProjectInput {
9258	s.Source = v
9259	return s
9260}
9261
9262// SetSourceVersion sets the SourceVersion field's value.
9263func (s *UpdateProjectInput) SetSourceVersion(v string) *UpdateProjectInput {
9264	s.SourceVersion = &v
9265	return s
9266}
9267
9268// SetTags sets the Tags field's value.
9269func (s *UpdateProjectInput) SetTags(v []*Tag) *UpdateProjectInput {
9270	s.Tags = v
9271	return s
9272}
9273
9274// SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
9275func (s *UpdateProjectInput) SetTimeoutInMinutes(v int64) *UpdateProjectInput {
9276	s.TimeoutInMinutes = &v
9277	return s
9278}
9279
9280// SetVpcConfig sets the VpcConfig field's value.
9281func (s *UpdateProjectInput) SetVpcConfig(v *VpcConfig) *UpdateProjectInput {
9282	s.VpcConfig = v
9283	return s
9284}
9285
9286type UpdateProjectOutput struct {
9287	_ struct{} `type:"structure"`
9288
9289	// Information about the build project that was changed.
9290	Project *Project `locationName:"project" type:"structure"`
9291}
9292
9293// String returns the string representation
9294func (s UpdateProjectOutput) String() string {
9295	return awsutil.Prettify(s)
9296}
9297
9298// GoString returns the string representation
9299func (s UpdateProjectOutput) GoString() string {
9300	return s.String()
9301}
9302
9303// SetProject sets the Project field's value.
9304func (s *UpdateProjectOutput) SetProject(v *Project) *UpdateProjectOutput {
9305	s.Project = v
9306	return s
9307}
9308
9309type UpdateReportGroupInput struct {
9310	_ struct{} `type:"structure"`
9311
9312	// The ARN of the report group to update.
9313	//
9314	// Arn is a required field
9315	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
9316
9317	// Used to specify an updated export type. Valid values are:
9318	//
9319	//    * S3: The report results are exported to an S3 bucket.
9320	//
9321	//    * NO_EXPORT: The report results are not exported.
9322	ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"`
9323}
9324
9325// String returns the string representation
9326func (s UpdateReportGroupInput) String() string {
9327	return awsutil.Prettify(s)
9328}
9329
9330// GoString returns the string representation
9331func (s UpdateReportGroupInput) GoString() string {
9332	return s.String()
9333}
9334
9335// Validate inspects the fields of the type to determine if they are valid.
9336func (s *UpdateReportGroupInput) Validate() error {
9337	invalidParams := request.ErrInvalidParams{Context: "UpdateReportGroupInput"}
9338	if s.Arn == nil {
9339		invalidParams.Add(request.NewErrParamRequired("Arn"))
9340	}
9341	if s.Arn != nil && len(*s.Arn) < 1 {
9342		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
9343	}
9344	if s.ExportConfig != nil {
9345		if err := s.ExportConfig.Validate(); err != nil {
9346			invalidParams.AddNested("ExportConfig", err.(request.ErrInvalidParams))
9347		}
9348	}
9349
9350	if invalidParams.Len() > 0 {
9351		return invalidParams
9352	}
9353	return nil
9354}
9355
9356// SetArn sets the Arn field's value.
9357func (s *UpdateReportGroupInput) SetArn(v string) *UpdateReportGroupInput {
9358	s.Arn = &v
9359	return s
9360}
9361
9362// SetExportConfig sets the ExportConfig field's value.
9363func (s *UpdateReportGroupInput) SetExportConfig(v *ReportExportConfig) *UpdateReportGroupInput {
9364	s.ExportConfig = v
9365	return s
9366}
9367
9368type UpdateReportGroupOutput struct {
9369	_ struct{} `type:"structure"`
9370
9371	// Information about the updated report group.
9372	ReportGroup *ReportGroup `locationName:"reportGroup" type:"structure"`
9373}
9374
9375// String returns the string representation
9376func (s UpdateReportGroupOutput) String() string {
9377	return awsutil.Prettify(s)
9378}
9379
9380// GoString returns the string representation
9381func (s UpdateReportGroupOutput) GoString() string {
9382	return s.String()
9383}
9384
9385// SetReportGroup sets the ReportGroup field's value.
9386func (s *UpdateReportGroupOutput) SetReportGroup(v *ReportGroup) *UpdateReportGroupOutput {
9387	s.ReportGroup = v
9388	return s
9389}
9390
9391type UpdateWebhookInput struct {
9392	_ struct{} `type:"structure"`
9393
9394	// A regular expression used to determine which repository branches are built
9395	// when a webhook is triggered. If the name of a branch matches the regular
9396	// expression, then it is built. If branchFilter is empty, then all branches
9397	// are built.
9398	//
9399	// It is recommended that you use filterGroups instead of branchFilter.
9400	BranchFilter *string `locationName:"branchFilter" type:"string"`
9401
9402	// An array of arrays of WebhookFilter objects used to determine if a webhook
9403	// event can trigger a build. A filter group must contain at least one EVENT
9404	// WebhookFilter.
9405	FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"`
9406
9407	// The name of the AWS CodeBuild project.
9408	//
9409	// ProjectName is a required field
9410	ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"`
9411
9412	// A boolean value that specifies whether the associated GitHub repository's
9413	// secret token should be updated. If you use Bitbucket for your repository,
9414	// rotateSecret is ignored.
9415	RotateSecret *bool `locationName:"rotateSecret" type:"boolean"`
9416}
9417
9418// String returns the string representation
9419func (s UpdateWebhookInput) String() string {
9420	return awsutil.Prettify(s)
9421}
9422
9423// GoString returns the string representation
9424func (s UpdateWebhookInput) GoString() string {
9425	return s.String()
9426}
9427
9428// Validate inspects the fields of the type to determine if they are valid.
9429func (s *UpdateWebhookInput) Validate() error {
9430	invalidParams := request.ErrInvalidParams{Context: "UpdateWebhookInput"}
9431	if s.ProjectName == nil {
9432		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
9433	}
9434	if s.ProjectName != nil && len(*s.ProjectName) < 2 {
9435		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2))
9436	}
9437
9438	if invalidParams.Len() > 0 {
9439		return invalidParams
9440	}
9441	return nil
9442}
9443
9444// SetBranchFilter sets the BranchFilter field's value.
9445func (s *UpdateWebhookInput) SetBranchFilter(v string) *UpdateWebhookInput {
9446	s.BranchFilter = &v
9447	return s
9448}
9449
9450// SetFilterGroups sets the FilterGroups field's value.
9451func (s *UpdateWebhookInput) SetFilterGroups(v [][]*WebhookFilter) *UpdateWebhookInput {
9452	s.FilterGroups = v
9453	return s
9454}
9455
9456// SetProjectName sets the ProjectName field's value.
9457func (s *UpdateWebhookInput) SetProjectName(v string) *UpdateWebhookInput {
9458	s.ProjectName = &v
9459	return s
9460}
9461
9462// SetRotateSecret sets the RotateSecret field's value.
9463func (s *UpdateWebhookInput) SetRotateSecret(v bool) *UpdateWebhookInput {
9464	s.RotateSecret = &v
9465	return s
9466}
9467
9468type UpdateWebhookOutput struct {
9469	_ struct{} `type:"structure"`
9470
9471	// Information about a repository's webhook that is associated with a project
9472	// in AWS CodeBuild.
9473	Webhook *Webhook `locationName:"webhook" type:"structure"`
9474}
9475
9476// String returns the string representation
9477func (s UpdateWebhookOutput) String() string {
9478	return awsutil.Prettify(s)
9479}
9480
9481// GoString returns the string representation
9482func (s UpdateWebhookOutput) GoString() string {
9483	return s.String()
9484}
9485
9486// SetWebhook sets the Webhook field's value.
9487func (s *UpdateWebhookOutput) SetWebhook(v *Webhook) *UpdateWebhookOutput {
9488	s.Webhook = v
9489	return s
9490}
9491
9492// Information about the VPC configuration that AWS CodeBuild accesses.
9493type VpcConfig struct {
9494	_ struct{} `type:"structure"`
9495
9496	// A list of one or more security groups IDs in your Amazon VPC.
9497	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
9498
9499	// A list of one or more subnet IDs in your Amazon VPC.
9500	Subnets []*string `locationName:"subnets" type:"list"`
9501
9502	// The ID of the Amazon VPC.
9503	VpcId *string `locationName:"vpcId" min:"1" type:"string"`
9504}
9505
9506// String returns the string representation
9507func (s VpcConfig) String() string {
9508	return awsutil.Prettify(s)
9509}
9510
9511// GoString returns the string representation
9512func (s VpcConfig) GoString() string {
9513	return s.String()
9514}
9515
9516// Validate inspects the fields of the type to determine if they are valid.
9517func (s *VpcConfig) Validate() error {
9518	invalidParams := request.ErrInvalidParams{Context: "VpcConfig"}
9519	if s.VpcId != nil && len(*s.VpcId) < 1 {
9520		invalidParams.Add(request.NewErrParamMinLen("VpcId", 1))
9521	}
9522
9523	if invalidParams.Len() > 0 {
9524		return invalidParams
9525	}
9526	return nil
9527}
9528
9529// SetSecurityGroupIds sets the SecurityGroupIds field's value.
9530func (s *VpcConfig) SetSecurityGroupIds(v []*string) *VpcConfig {
9531	s.SecurityGroupIds = v
9532	return s
9533}
9534
9535// SetSubnets sets the Subnets field's value.
9536func (s *VpcConfig) SetSubnets(v []*string) *VpcConfig {
9537	s.Subnets = v
9538	return s
9539}
9540
9541// SetVpcId sets the VpcId field's value.
9542func (s *VpcConfig) SetVpcId(v string) *VpcConfig {
9543	s.VpcId = &v
9544	return s
9545}
9546
9547// Information about a webhook that connects repository events to a build project
9548// in AWS CodeBuild.
9549type Webhook struct {
9550	_ struct{} `type:"structure"`
9551
9552	// A regular expression used to determine which repository branches are built
9553	// when a webhook is triggered. If the name of a branch matches the regular
9554	// expression, then it is built. If branchFilter is empty, then all branches
9555	// are built.
9556	//
9557	// It is recommended that you use filterGroups instead of branchFilter.
9558	BranchFilter *string `locationName:"branchFilter" type:"string"`
9559
9560	// An array of arrays of WebhookFilter objects used to determine which webhooks
9561	// are triggered. At least one WebhookFilter in the array must specify EVENT
9562	// as its type.
9563	//
9564	// For a build to be triggered, at least one filter group in the filterGroups
9565	// array must pass. For a filter group to pass, each of its filters must pass.
9566	FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"`
9567
9568	// A timestamp that indicates the last time a repository's secret token was
9569	// modified.
9570	LastModifiedSecret *time.Time `locationName:"lastModifiedSecret" type:"timestamp"`
9571
9572	// The AWS CodeBuild endpoint where webhook events are sent.
9573	PayloadUrl *string `locationName:"payloadUrl" min:"1" type:"string"`
9574
9575	// The secret token of the associated repository.
9576	//
9577	// A Bitbucket webhook does not support secret.
9578	Secret *string `locationName:"secret" min:"1" type:"string"`
9579
9580	// The URL to the webhook.
9581	Url *string `locationName:"url" min:"1" type:"string"`
9582}
9583
9584// String returns the string representation
9585func (s Webhook) String() string {
9586	return awsutil.Prettify(s)
9587}
9588
9589// GoString returns the string representation
9590func (s Webhook) GoString() string {
9591	return s.String()
9592}
9593
9594// SetBranchFilter sets the BranchFilter field's value.
9595func (s *Webhook) SetBranchFilter(v string) *Webhook {
9596	s.BranchFilter = &v
9597	return s
9598}
9599
9600// SetFilterGroups sets the FilterGroups field's value.
9601func (s *Webhook) SetFilterGroups(v [][]*WebhookFilter) *Webhook {
9602	s.FilterGroups = v
9603	return s
9604}
9605
9606// SetLastModifiedSecret sets the LastModifiedSecret field's value.
9607func (s *Webhook) SetLastModifiedSecret(v time.Time) *Webhook {
9608	s.LastModifiedSecret = &v
9609	return s
9610}
9611
9612// SetPayloadUrl sets the PayloadUrl field's value.
9613func (s *Webhook) SetPayloadUrl(v string) *Webhook {
9614	s.PayloadUrl = &v
9615	return s
9616}
9617
9618// SetSecret sets the Secret field's value.
9619func (s *Webhook) SetSecret(v string) *Webhook {
9620	s.Secret = &v
9621	return s
9622}
9623
9624// SetUrl sets the Url field's value.
9625func (s *Webhook) SetUrl(v string) *Webhook {
9626	s.Url = &v
9627	return s
9628}
9629
9630// A filter used to determine which webhooks trigger a build.
9631type WebhookFilter struct {
9632	_ struct{} `type:"structure"`
9633
9634	// Used to indicate that the pattern determines which webhook events do not
9635	// trigger a build. If true, then a webhook event that does not match the pattern
9636	// triggers a build. If false, then a webhook event that matches the pattern
9637	// triggers a build.
9638	ExcludeMatchedPattern *bool `locationName:"excludeMatchedPattern" type:"boolean"`
9639
9640	// For a WebHookFilter that uses EVENT type, a comma-separated string that specifies
9641	// one or more events. For example, the webhook filter PUSH, PULL_REQUEST_CREATED,
9642	// PULL_REQUEST_UPDATED allows all push, pull request created, and pull request
9643	// updated events to trigger a build.
9644	//
9645	// For a WebHookFilter that uses any of the other filter types, a regular expression
9646	// pattern. For example, a WebHookFilter that uses HEAD_REF for its type and
9647	// the pattern ^refs/heads/ triggers a build when the head reference is a branch
9648	// with a reference name refs/heads/branch-name.
9649	//
9650	// Pattern is a required field
9651	Pattern *string `locationName:"pattern" type:"string" required:"true"`
9652
9653	// The type of webhook filter. There are five webhook filter types: EVENT, ACTOR_ACCOUNT_ID,
9654	// HEAD_REF, BASE_REF, and FILE_PATH.
9655	//
9656	// EVENT
9657	//
9658	// A webhook event triggers a build when the provided pattern matches one of
9659	// four event types: PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, and PULL_REQUEST_REOPENED.
9660	// The EVENT patterns are specified as a comma-separated string. For example,
9661	// PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED filters all push, pull request
9662	// created, and pull request updated events.
9663	//
9664	// The PULL_REQUEST_REOPENED works with GitHub and GitHub Enterprise only.
9665	//
9666	// ACTOR_ACCOUNT_ID
9667	//
9668	// A webhook event triggers a build when a GitHub, GitHub Enterprise, or Bitbucket
9669	// account ID matches the regular expression pattern.
9670	//
9671	// HEAD_REF
9672	//
9673	// A webhook event triggers a build when the head reference matches the regular
9674	// expression pattern. For example, refs/heads/branch-name and refs/tags/tag-name.
9675	//
9676	// Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise
9677	// pull request, Bitbucket push, and Bitbucket pull request events.
9678	//
9679	// BASE_REF
9680	//
9681	// A webhook event triggers a build when the base reference matches the regular
9682	// expression pattern. For example, refs/heads/branch-name.
9683	//
9684	// Works with pull request events only.
9685	//
9686	// FILE_PATH
9687	//
9688	// A webhook triggers a build when the path of a changed file matches the regular
9689	// expression pattern.
9690	//
9691	// Works with GitHub and GitHub Enterprise push events only.
9692	//
9693	// Type is a required field
9694	Type *string `locationName:"type" type:"string" required:"true" enum:"WebhookFilterType"`
9695}
9696
9697// String returns the string representation
9698func (s WebhookFilter) String() string {
9699	return awsutil.Prettify(s)
9700}
9701
9702// GoString returns the string representation
9703func (s WebhookFilter) GoString() string {
9704	return s.String()
9705}
9706
9707// SetExcludeMatchedPattern sets the ExcludeMatchedPattern field's value.
9708func (s *WebhookFilter) SetExcludeMatchedPattern(v bool) *WebhookFilter {
9709	s.ExcludeMatchedPattern = &v
9710	return s
9711}
9712
9713// SetPattern sets the Pattern field's value.
9714func (s *WebhookFilter) SetPattern(v string) *WebhookFilter {
9715	s.Pattern = &v
9716	return s
9717}
9718
9719// SetType sets the Type field's value.
9720func (s *WebhookFilter) SetType(v string) *WebhookFilter {
9721	s.Type = &v
9722	return s
9723}
9724
9725const (
9726	// ArtifactNamespaceNone is a ArtifactNamespace enum value
9727	ArtifactNamespaceNone = "NONE"
9728
9729	// ArtifactNamespaceBuildId is a ArtifactNamespace enum value
9730	ArtifactNamespaceBuildId = "BUILD_ID"
9731)
9732
9733const (
9734	// ArtifactPackagingNone is a ArtifactPackaging enum value
9735	ArtifactPackagingNone = "NONE"
9736
9737	// ArtifactPackagingZip is a ArtifactPackaging enum value
9738	ArtifactPackagingZip = "ZIP"
9739)
9740
9741const (
9742	// ArtifactsTypeCodepipeline is a ArtifactsType enum value
9743	ArtifactsTypeCodepipeline = "CODEPIPELINE"
9744
9745	// ArtifactsTypeS3 is a ArtifactsType enum value
9746	ArtifactsTypeS3 = "S3"
9747
9748	// ArtifactsTypeNoArtifacts is a ArtifactsType enum value
9749	ArtifactsTypeNoArtifacts = "NO_ARTIFACTS"
9750)
9751
9752const (
9753	// AuthTypeOauth is a AuthType enum value
9754	AuthTypeOauth = "OAUTH"
9755
9756	// AuthTypeBasicAuth is a AuthType enum value
9757	AuthTypeBasicAuth = "BASIC_AUTH"
9758
9759	// AuthTypePersonalAccessToken is a AuthType enum value
9760	AuthTypePersonalAccessToken = "PERSONAL_ACCESS_TOKEN"
9761)
9762
9763const (
9764	// BuildPhaseTypeSubmitted is a BuildPhaseType enum value
9765	BuildPhaseTypeSubmitted = "SUBMITTED"
9766
9767	// BuildPhaseTypeQueued is a BuildPhaseType enum value
9768	BuildPhaseTypeQueued = "QUEUED"
9769
9770	// BuildPhaseTypeProvisioning is a BuildPhaseType enum value
9771	BuildPhaseTypeProvisioning = "PROVISIONING"
9772
9773	// BuildPhaseTypeDownloadSource is a BuildPhaseType enum value
9774	BuildPhaseTypeDownloadSource = "DOWNLOAD_SOURCE"
9775
9776	// BuildPhaseTypeInstall is a BuildPhaseType enum value
9777	BuildPhaseTypeInstall = "INSTALL"
9778
9779	// BuildPhaseTypePreBuild is a BuildPhaseType enum value
9780	BuildPhaseTypePreBuild = "PRE_BUILD"
9781
9782	// BuildPhaseTypeBuild is a BuildPhaseType enum value
9783	BuildPhaseTypeBuild = "BUILD"
9784
9785	// BuildPhaseTypePostBuild is a BuildPhaseType enum value
9786	BuildPhaseTypePostBuild = "POST_BUILD"
9787
9788	// BuildPhaseTypeUploadArtifacts is a BuildPhaseType enum value
9789	BuildPhaseTypeUploadArtifacts = "UPLOAD_ARTIFACTS"
9790
9791	// BuildPhaseTypeFinalizing is a BuildPhaseType enum value
9792	BuildPhaseTypeFinalizing = "FINALIZING"
9793
9794	// BuildPhaseTypeCompleted is a BuildPhaseType enum value
9795	BuildPhaseTypeCompleted = "COMPLETED"
9796)
9797
9798const (
9799	// CacheModeLocalDockerLayerCache is a CacheMode enum value
9800	CacheModeLocalDockerLayerCache = "LOCAL_DOCKER_LAYER_CACHE"
9801
9802	// CacheModeLocalSourceCache is a CacheMode enum value
9803	CacheModeLocalSourceCache = "LOCAL_SOURCE_CACHE"
9804
9805	// CacheModeLocalCustomCache is a CacheMode enum value
9806	CacheModeLocalCustomCache = "LOCAL_CUSTOM_CACHE"
9807)
9808
9809const (
9810	// CacheTypeNoCache is a CacheType enum value
9811	CacheTypeNoCache = "NO_CACHE"
9812
9813	// CacheTypeS3 is a CacheType enum value
9814	CacheTypeS3 = "S3"
9815
9816	// CacheTypeLocal is a CacheType enum value
9817	CacheTypeLocal = "LOCAL"
9818)
9819
9820const (
9821	// ComputeTypeBuildGeneral1Small is a ComputeType enum value
9822	ComputeTypeBuildGeneral1Small = "BUILD_GENERAL1_SMALL"
9823
9824	// ComputeTypeBuildGeneral1Medium is a ComputeType enum value
9825	ComputeTypeBuildGeneral1Medium = "BUILD_GENERAL1_MEDIUM"
9826
9827	// ComputeTypeBuildGeneral1Large is a ComputeType enum value
9828	ComputeTypeBuildGeneral1Large = "BUILD_GENERAL1_LARGE"
9829
9830	// ComputeTypeBuildGeneral12xlarge is a ComputeType enum value
9831	ComputeTypeBuildGeneral12xlarge = "BUILD_GENERAL1_2XLARGE"
9832)
9833
9834const (
9835	// CredentialProviderTypeSecretsManager is a CredentialProviderType enum value
9836	CredentialProviderTypeSecretsManager = "SECRETS_MANAGER"
9837)
9838
9839const (
9840	// EnvironmentTypeWindowsContainer is a EnvironmentType enum value
9841	EnvironmentTypeWindowsContainer = "WINDOWS_CONTAINER"
9842
9843	// EnvironmentTypeLinuxContainer is a EnvironmentType enum value
9844	EnvironmentTypeLinuxContainer = "LINUX_CONTAINER"
9845
9846	// EnvironmentTypeLinuxGpuContainer is a EnvironmentType enum value
9847	EnvironmentTypeLinuxGpuContainer = "LINUX_GPU_CONTAINER"
9848
9849	// EnvironmentTypeArmContainer is a EnvironmentType enum value
9850	EnvironmentTypeArmContainer = "ARM_CONTAINER"
9851)
9852
9853const (
9854	// EnvironmentVariableTypePlaintext is a EnvironmentVariableType enum value
9855	EnvironmentVariableTypePlaintext = "PLAINTEXT"
9856
9857	// EnvironmentVariableTypeParameterStore is a EnvironmentVariableType enum value
9858	EnvironmentVariableTypeParameterStore = "PARAMETER_STORE"
9859
9860	// EnvironmentVariableTypeSecretsManager is a EnvironmentVariableType enum value
9861	EnvironmentVariableTypeSecretsManager = "SECRETS_MANAGER"
9862)
9863
9864const (
9865	// ImagePullCredentialsTypeCodebuild is a ImagePullCredentialsType enum value
9866	ImagePullCredentialsTypeCodebuild = "CODEBUILD"
9867
9868	// ImagePullCredentialsTypeServiceRole is a ImagePullCredentialsType enum value
9869	ImagePullCredentialsTypeServiceRole = "SERVICE_ROLE"
9870)
9871
9872const (
9873	// LanguageTypeJava is a LanguageType enum value
9874	LanguageTypeJava = "JAVA"
9875
9876	// LanguageTypePython is a LanguageType enum value
9877	LanguageTypePython = "PYTHON"
9878
9879	// LanguageTypeNodeJs is a LanguageType enum value
9880	LanguageTypeNodeJs = "NODE_JS"
9881
9882	// LanguageTypeRuby is a LanguageType enum value
9883	LanguageTypeRuby = "RUBY"
9884
9885	// LanguageTypeGolang is a LanguageType enum value
9886	LanguageTypeGolang = "GOLANG"
9887
9888	// LanguageTypeDocker is a LanguageType enum value
9889	LanguageTypeDocker = "DOCKER"
9890
9891	// LanguageTypeAndroid is a LanguageType enum value
9892	LanguageTypeAndroid = "ANDROID"
9893
9894	// LanguageTypeDotnet is a LanguageType enum value
9895	LanguageTypeDotnet = "DOTNET"
9896
9897	// LanguageTypeBase is a LanguageType enum value
9898	LanguageTypeBase = "BASE"
9899
9900	// LanguageTypePhp is a LanguageType enum value
9901	LanguageTypePhp = "PHP"
9902)
9903
9904const (
9905	// LogsConfigStatusTypeEnabled is a LogsConfigStatusType enum value
9906	LogsConfigStatusTypeEnabled = "ENABLED"
9907
9908	// LogsConfigStatusTypeDisabled is a LogsConfigStatusType enum value
9909	LogsConfigStatusTypeDisabled = "DISABLED"
9910)
9911
9912const (
9913	// PlatformTypeDebian is a PlatformType enum value
9914	PlatformTypeDebian = "DEBIAN"
9915
9916	// PlatformTypeAmazonLinux is a PlatformType enum value
9917	PlatformTypeAmazonLinux = "AMAZON_LINUX"
9918
9919	// PlatformTypeUbuntu is a PlatformType enum value
9920	PlatformTypeUbuntu = "UBUNTU"
9921
9922	// PlatformTypeWindowsServer is a PlatformType enum value
9923	PlatformTypeWindowsServer = "WINDOWS_SERVER"
9924)
9925
9926const (
9927	// ProjectSortByTypeName is a ProjectSortByType enum value
9928	ProjectSortByTypeName = "NAME"
9929
9930	// ProjectSortByTypeCreatedTime is a ProjectSortByType enum value
9931	ProjectSortByTypeCreatedTime = "CREATED_TIME"
9932
9933	// ProjectSortByTypeLastModifiedTime is a ProjectSortByType enum value
9934	ProjectSortByTypeLastModifiedTime = "LAST_MODIFIED_TIME"
9935)
9936
9937const (
9938	// ReportExportConfigTypeS3 is a ReportExportConfigType enum value
9939	ReportExportConfigTypeS3 = "S3"
9940
9941	// ReportExportConfigTypeNoExport is a ReportExportConfigType enum value
9942	ReportExportConfigTypeNoExport = "NO_EXPORT"
9943)
9944
9945const (
9946	// ReportGroupSortByTypeName is a ReportGroupSortByType enum value
9947	ReportGroupSortByTypeName = "NAME"
9948
9949	// ReportGroupSortByTypeCreatedTime is a ReportGroupSortByType enum value
9950	ReportGroupSortByTypeCreatedTime = "CREATED_TIME"
9951
9952	// ReportGroupSortByTypeLastModifiedTime is a ReportGroupSortByType enum value
9953	ReportGroupSortByTypeLastModifiedTime = "LAST_MODIFIED_TIME"
9954)
9955
9956const (
9957	// ReportPackagingTypeZip is a ReportPackagingType enum value
9958	ReportPackagingTypeZip = "ZIP"
9959
9960	// ReportPackagingTypeNone is a ReportPackagingType enum value
9961	ReportPackagingTypeNone = "NONE"
9962)
9963
9964const (
9965	// ReportStatusTypeGenerating is a ReportStatusType enum value
9966	ReportStatusTypeGenerating = "GENERATING"
9967
9968	// ReportStatusTypeSucceeded is a ReportStatusType enum value
9969	ReportStatusTypeSucceeded = "SUCCEEDED"
9970
9971	// ReportStatusTypeFailed is a ReportStatusType enum value
9972	ReportStatusTypeFailed = "FAILED"
9973
9974	// ReportStatusTypeIncomplete is a ReportStatusType enum value
9975	ReportStatusTypeIncomplete = "INCOMPLETE"
9976
9977	// ReportStatusTypeDeleting is a ReportStatusType enum value
9978	ReportStatusTypeDeleting = "DELETING"
9979)
9980
9981const (
9982	// ReportTypeTest is a ReportType enum value
9983	ReportTypeTest = "TEST"
9984)
9985
9986const (
9987	// ServerTypeGithub is a ServerType enum value
9988	ServerTypeGithub = "GITHUB"
9989
9990	// ServerTypeBitbucket is a ServerType enum value
9991	ServerTypeBitbucket = "BITBUCKET"
9992
9993	// ServerTypeGithubEnterprise is a ServerType enum value
9994	ServerTypeGithubEnterprise = "GITHUB_ENTERPRISE"
9995)
9996
9997const (
9998	// SharedResourceSortByTypeArn is a SharedResourceSortByType enum value
9999	SharedResourceSortByTypeArn = "ARN"
10000
10001	// SharedResourceSortByTypeModifiedTime is a SharedResourceSortByType enum value
10002	SharedResourceSortByTypeModifiedTime = "MODIFIED_TIME"
10003)
10004
10005const (
10006	// SortOrderTypeAscending is a SortOrderType enum value
10007	SortOrderTypeAscending = "ASCENDING"
10008
10009	// SortOrderTypeDescending is a SortOrderType enum value
10010	SortOrderTypeDescending = "DESCENDING"
10011)
10012
10013const (
10014	// SourceAuthTypeOauth is a SourceAuthType enum value
10015	SourceAuthTypeOauth = "OAUTH"
10016)
10017
10018const (
10019	// SourceTypeCodecommit is a SourceType enum value
10020	SourceTypeCodecommit = "CODECOMMIT"
10021
10022	// SourceTypeCodepipeline is a SourceType enum value
10023	SourceTypeCodepipeline = "CODEPIPELINE"
10024
10025	// SourceTypeGithub is a SourceType enum value
10026	SourceTypeGithub = "GITHUB"
10027
10028	// SourceTypeS3 is a SourceType enum value
10029	SourceTypeS3 = "S3"
10030
10031	// SourceTypeBitbucket is a SourceType enum value
10032	SourceTypeBitbucket = "BITBUCKET"
10033
10034	// SourceTypeGithubEnterprise is a SourceType enum value
10035	SourceTypeGithubEnterprise = "GITHUB_ENTERPRISE"
10036
10037	// SourceTypeNoSource is a SourceType enum value
10038	SourceTypeNoSource = "NO_SOURCE"
10039)
10040
10041const (
10042	// StatusTypeSucceeded is a StatusType enum value
10043	StatusTypeSucceeded = "SUCCEEDED"
10044
10045	// StatusTypeFailed is a StatusType enum value
10046	StatusTypeFailed = "FAILED"
10047
10048	// StatusTypeFault is a StatusType enum value
10049	StatusTypeFault = "FAULT"
10050
10051	// StatusTypeTimedOut is a StatusType enum value
10052	StatusTypeTimedOut = "TIMED_OUT"
10053
10054	// StatusTypeInProgress is a StatusType enum value
10055	StatusTypeInProgress = "IN_PROGRESS"
10056
10057	// StatusTypeStopped is a StatusType enum value
10058	StatusTypeStopped = "STOPPED"
10059)
10060
10061const (
10062	// WebhookFilterTypeEvent is a WebhookFilterType enum value
10063	WebhookFilterTypeEvent = "EVENT"
10064
10065	// WebhookFilterTypeBaseRef is a WebhookFilterType enum value
10066	WebhookFilterTypeBaseRef = "BASE_REF"
10067
10068	// WebhookFilterTypeHeadRef is a WebhookFilterType enum value
10069	WebhookFilterTypeHeadRef = "HEAD_REF"
10070
10071	// WebhookFilterTypeActorAccountId is a WebhookFilterType enum value
10072	WebhookFilterTypeActorAccountId = "ACTOR_ACCOUNT_ID"
10073
10074	// WebhookFilterTypeFilePath is a WebhookFilterType enum value
10075	WebhookFilterTypeFilePath = "FILE_PATH"
10076)
10077