1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package codecommit
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 opAssociateApprovalRuleTemplateWithRepository = "AssociateApprovalRuleTemplateWithRepository"
17
18// AssociateApprovalRuleTemplateWithRepositoryRequest generates a "aws/request.Request" representing the
19// client's request for the AssociateApprovalRuleTemplateWithRepository 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 AssociateApprovalRuleTemplateWithRepository for more information on using the AssociateApprovalRuleTemplateWithRepository
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 AssociateApprovalRuleTemplateWithRepositoryRequest method.
34//    req, resp := client.AssociateApprovalRuleTemplateWithRepositoryRequest(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/codecommit-2015-04-13/AssociateApprovalRuleTemplateWithRepository
42func (c *CodeCommit) AssociateApprovalRuleTemplateWithRepositoryRequest(input *AssociateApprovalRuleTemplateWithRepositoryInput) (req *request.Request, output *AssociateApprovalRuleTemplateWithRepositoryOutput) {
43	op := &request.Operation{
44		Name:       opAssociateApprovalRuleTemplateWithRepository,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AssociateApprovalRuleTemplateWithRepositoryInput{}
51	}
52
53	output = &AssociateApprovalRuleTemplateWithRepositoryOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AssociateApprovalRuleTemplateWithRepository API operation for AWS CodeCommit.
60//
61// Creates an association between an approval rule template and a specified
62// repository. Then, the next time a pull request is created in the repository
63// where the destination reference (if specified) matches the destination reference
64// (branch) for the pull request, an approval rule that matches the template
65// conditions is automatically created for that pull request. If no destination
66// references are specified in the template, an approval rule that matches the
67// template contents is created for all pull requests in that repository.
68//
69// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
70// with awserr.Error's Code and Message methods to get detailed information about
71// the error.
72//
73// See the AWS API reference guide for AWS CodeCommit's
74// API operation AssociateApprovalRuleTemplateWithRepository for usage and error information.
75//
76// Returned Error Codes:
77//   * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException"
78//   An approval rule template name is required, but was not specified.
79//
80//   * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException"
81//   The name of the approval rule template is not valid. Template names must
82//   be between 1 and 100 valid characters in length. For more information about
83//   limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
84//
85//   * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException"
86//   The specified approval rule template does not exist. Verify that the name
87//   is correct and that you are signed in to the AWS Region where the template
88//   was created, and then try again.
89//
90//   * ErrCodeMaximumRuleTemplatesAssociatedWithRepositoryException "MaximumRuleTemplatesAssociatedWithRepositoryException"
91//   The maximum number of approval rule templates for a repository has been exceeded.
92//   You cannot associate more than 25 approval rule templates with a repository.
93//
94//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
95//   A repository name is required, but was not specified.
96//
97//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
98//   A specified repository name is not valid.
99//
100//   This exception occurs only when a specified repository name is not valid.
101//   Other exceptions occur when a required repository parameter is missing, or
102//   when a specified repository does not exist.
103//
104//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
105//   The specified repository does not exist.
106//
107//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
108//   An encryption integrity check failed.
109//
110//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
111//   An encryption key could not be accessed.
112//
113//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
114//   The encryption key is disabled.
115//
116//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
117//   No encryption key was found.
118//
119//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
120//   The encryption key is not available.
121//
122// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/AssociateApprovalRuleTemplateWithRepository
123func (c *CodeCommit) AssociateApprovalRuleTemplateWithRepository(input *AssociateApprovalRuleTemplateWithRepositoryInput) (*AssociateApprovalRuleTemplateWithRepositoryOutput, error) {
124	req, out := c.AssociateApprovalRuleTemplateWithRepositoryRequest(input)
125	return out, req.Send()
126}
127
128// AssociateApprovalRuleTemplateWithRepositoryWithContext is the same as AssociateApprovalRuleTemplateWithRepository with the addition of
129// the ability to pass a context and additional request options.
130//
131// See AssociateApprovalRuleTemplateWithRepository for details on how to use this API operation.
132//
133// The context must be non-nil and will be used for request cancellation. If
134// the context is nil a panic will occur. In the future the SDK may create
135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
136// for more information on using Contexts.
137func (c *CodeCommit) AssociateApprovalRuleTemplateWithRepositoryWithContext(ctx aws.Context, input *AssociateApprovalRuleTemplateWithRepositoryInput, opts ...request.Option) (*AssociateApprovalRuleTemplateWithRepositoryOutput, error) {
138	req, out := c.AssociateApprovalRuleTemplateWithRepositoryRequest(input)
139	req.SetContext(ctx)
140	req.ApplyOptions(opts...)
141	return out, req.Send()
142}
143
144const opBatchAssociateApprovalRuleTemplateWithRepositories = "BatchAssociateApprovalRuleTemplateWithRepositories"
145
146// BatchAssociateApprovalRuleTemplateWithRepositoriesRequest generates a "aws/request.Request" representing the
147// client's request for the BatchAssociateApprovalRuleTemplateWithRepositories operation. The "output" return
148// value will be populated with the request's response once the request completes
149// successfully.
150//
151// Use "Send" method on the returned Request to send the API call to the service.
152// the "output" return value is not valid until after Send returns without error.
153//
154// See BatchAssociateApprovalRuleTemplateWithRepositories for more information on using the BatchAssociateApprovalRuleTemplateWithRepositories
155// API call, and error handling.
156//
157// This method is useful when you want to inject custom logic or configuration
158// into the SDK's request lifecycle. Such as custom headers, or retry logic.
159//
160//
161//    // Example sending a request using the BatchAssociateApprovalRuleTemplateWithRepositoriesRequest method.
162//    req, resp := client.BatchAssociateApprovalRuleTemplateWithRepositoriesRequest(params)
163//
164//    err := req.Send()
165//    if err == nil { // resp is now filled
166//        fmt.Println(resp)
167//    }
168//
169// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchAssociateApprovalRuleTemplateWithRepositories
170func (c *CodeCommit) BatchAssociateApprovalRuleTemplateWithRepositoriesRequest(input *BatchAssociateApprovalRuleTemplateWithRepositoriesInput) (req *request.Request, output *BatchAssociateApprovalRuleTemplateWithRepositoriesOutput) {
171	op := &request.Operation{
172		Name:       opBatchAssociateApprovalRuleTemplateWithRepositories,
173		HTTPMethod: "POST",
174		HTTPPath:   "/",
175	}
176
177	if input == nil {
178		input = &BatchAssociateApprovalRuleTemplateWithRepositoriesInput{}
179	}
180
181	output = &BatchAssociateApprovalRuleTemplateWithRepositoriesOutput{}
182	req = c.newRequest(op, input, output)
183	return
184}
185
186// BatchAssociateApprovalRuleTemplateWithRepositories API operation for AWS CodeCommit.
187//
188// Creates an association between an approval rule template and one or more
189// specified repositories.
190//
191// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
192// with awserr.Error's Code and Message methods to get detailed information about
193// the error.
194//
195// See the AWS API reference guide for AWS CodeCommit's
196// API operation BatchAssociateApprovalRuleTemplateWithRepositories for usage and error information.
197//
198// Returned Error Codes:
199//   * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException"
200//   An approval rule template name is required, but was not specified.
201//
202//   * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException"
203//   The name of the approval rule template is not valid. Template names must
204//   be between 1 and 100 valid characters in length. For more information about
205//   limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
206//
207//   * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException"
208//   The specified approval rule template does not exist. Verify that the name
209//   is correct and that you are signed in to the AWS Region where the template
210//   was created, and then try again.
211//
212//   * ErrCodeRepositoryNamesRequiredException "RepositoryNamesRequiredException"
213//   At least one repository name object is required, but was not specified.
214//
215//   * ErrCodeMaximumRepositoryNamesExceededException "MaximumRepositoryNamesExceededException"
216//   The maximum number of allowed repository names was exceeded. Currently, this
217//   number is 100.
218//
219//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
220//   An encryption integrity check failed.
221//
222//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
223//   An encryption key could not be accessed.
224//
225//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
226//   The encryption key is disabled.
227//
228//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
229//   No encryption key was found.
230//
231//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
232//   The encryption key is not available.
233//
234// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchAssociateApprovalRuleTemplateWithRepositories
235func (c *CodeCommit) BatchAssociateApprovalRuleTemplateWithRepositories(input *BatchAssociateApprovalRuleTemplateWithRepositoriesInput) (*BatchAssociateApprovalRuleTemplateWithRepositoriesOutput, error) {
236	req, out := c.BatchAssociateApprovalRuleTemplateWithRepositoriesRequest(input)
237	return out, req.Send()
238}
239
240// BatchAssociateApprovalRuleTemplateWithRepositoriesWithContext is the same as BatchAssociateApprovalRuleTemplateWithRepositories with the addition of
241// the ability to pass a context and additional request options.
242//
243// See BatchAssociateApprovalRuleTemplateWithRepositories for details on how to use this API operation.
244//
245// The context must be non-nil and will be used for request cancellation. If
246// the context is nil a panic will occur. In the future the SDK may create
247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
248// for more information on using Contexts.
249func (c *CodeCommit) BatchAssociateApprovalRuleTemplateWithRepositoriesWithContext(ctx aws.Context, input *BatchAssociateApprovalRuleTemplateWithRepositoriesInput, opts ...request.Option) (*BatchAssociateApprovalRuleTemplateWithRepositoriesOutput, error) {
250	req, out := c.BatchAssociateApprovalRuleTemplateWithRepositoriesRequest(input)
251	req.SetContext(ctx)
252	req.ApplyOptions(opts...)
253	return out, req.Send()
254}
255
256const opBatchDescribeMergeConflicts = "BatchDescribeMergeConflicts"
257
258// BatchDescribeMergeConflictsRequest generates a "aws/request.Request" representing the
259// client's request for the BatchDescribeMergeConflicts operation. The "output" return
260// value will be populated with the request's response once the request completes
261// successfully.
262//
263// Use "Send" method on the returned Request to send the API call to the service.
264// the "output" return value is not valid until after Send returns without error.
265//
266// See BatchDescribeMergeConflicts for more information on using the BatchDescribeMergeConflicts
267// API call, and error handling.
268//
269// This method is useful when you want to inject custom logic or configuration
270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
271//
272//
273//    // Example sending a request using the BatchDescribeMergeConflictsRequest method.
274//    req, resp := client.BatchDescribeMergeConflictsRequest(params)
275//
276//    err := req.Send()
277//    if err == nil { // resp is now filled
278//        fmt.Println(resp)
279//    }
280//
281// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchDescribeMergeConflicts
282func (c *CodeCommit) BatchDescribeMergeConflictsRequest(input *BatchDescribeMergeConflictsInput) (req *request.Request, output *BatchDescribeMergeConflictsOutput) {
283	op := &request.Operation{
284		Name:       opBatchDescribeMergeConflicts,
285		HTTPMethod: "POST",
286		HTTPPath:   "/",
287	}
288
289	if input == nil {
290		input = &BatchDescribeMergeConflictsInput{}
291	}
292
293	output = &BatchDescribeMergeConflictsOutput{}
294	req = c.newRequest(op, input, output)
295	return
296}
297
298// BatchDescribeMergeConflicts API operation for AWS CodeCommit.
299//
300// Returns information about one or more merge conflicts in the attempted merge
301// of two commit specifiers using the squash or three-way merge strategy.
302//
303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
304// with awserr.Error's Code and Message methods to get detailed information about
305// the error.
306//
307// See the AWS API reference guide for AWS CodeCommit's
308// API operation BatchDescribeMergeConflicts for usage and error information.
309//
310// Returned Error Codes:
311//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
312//   A repository name is required, but was not specified.
313//
314//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
315//   A specified repository name is not valid.
316//
317//   This exception occurs only when a specified repository name is not valid.
318//   Other exceptions occur when a required repository parameter is missing, or
319//   when a specified repository does not exist.
320//
321//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
322//   The specified repository does not exist.
323//
324//   * ErrCodeMergeOptionRequiredException "MergeOptionRequiredException"
325//   A merge option or stategy is required, and none was provided.
326//
327//   * ErrCodeInvalidMergeOptionException "InvalidMergeOptionException"
328//   The specified merge option is not valid for this operation. Not all merge
329//   strategies are supported for all operations.
330//
331//   * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException"
332//   The specified continuation token is not valid.
333//
334//   * ErrCodeCommitRequiredException "CommitRequiredException"
335//   A commit was not specified.
336//
337//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
338//   The specified commit does not exist or no commit was specified, and the specified
339//   repository has no default branch.
340//
341//   * ErrCodeInvalidCommitException "InvalidCommitException"
342//   The specified commit is not valid.
343//
344//   * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException"
345//   The divergence between the tips of the provided commit specifiers is too
346//   great to determine whether there might be any merge conflicts. Locally compare
347//   the specifiers using git diff or a diff tool.
348//
349//   * ErrCodeInvalidMaxConflictFilesException "InvalidMaxConflictFilesException"
350//   The specified value for the number of conflict files to return is not valid.
351//
352//   * ErrCodeInvalidMaxMergeHunksException "InvalidMaxMergeHunksException"
353//   The specified value for the number of merge hunks to return is not valid.
354//
355//   * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException"
356//   The specified conflict detail level is not valid.
357//
358//   * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException"
359//   The specified conflict resolution strategy is not valid.
360//
361//   * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException"
362//   The number of files to load exceeds the allowed limit.
363//
364//   * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException"
365//   The number of items to compare between the source or destination branches
366//   and the merge base has exceeded the maximum allowed.
367//
368//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
369//   An encryption integrity check failed.
370//
371//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
372//   An encryption key could not be accessed.
373//
374//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
375//   The encryption key is disabled.
376//
377//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
378//   No encryption key was found.
379//
380//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
381//   The encryption key is not available.
382//
383// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchDescribeMergeConflicts
384func (c *CodeCommit) BatchDescribeMergeConflicts(input *BatchDescribeMergeConflictsInput) (*BatchDescribeMergeConflictsOutput, error) {
385	req, out := c.BatchDescribeMergeConflictsRequest(input)
386	return out, req.Send()
387}
388
389// BatchDescribeMergeConflictsWithContext is the same as BatchDescribeMergeConflicts with the addition of
390// the ability to pass a context and additional request options.
391//
392// See BatchDescribeMergeConflicts for details on how to use this API operation.
393//
394// The context must be non-nil and will be used for request cancellation. If
395// the context is nil a panic will occur. In the future the SDK may create
396// sub-contexts for http.Requests. See https://golang.org/pkg/context/
397// for more information on using Contexts.
398func (c *CodeCommit) BatchDescribeMergeConflictsWithContext(ctx aws.Context, input *BatchDescribeMergeConflictsInput, opts ...request.Option) (*BatchDescribeMergeConflictsOutput, error) {
399	req, out := c.BatchDescribeMergeConflictsRequest(input)
400	req.SetContext(ctx)
401	req.ApplyOptions(opts...)
402	return out, req.Send()
403}
404
405const opBatchDisassociateApprovalRuleTemplateFromRepositories = "BatchDisassociateApprovalRuleTemplateFromRepositories"
406
407// BatchDisassociateApprovalRuleTemplateFromRepositoriesRequest generates a "aws/request.Request" representing the
408// client's request for the BatchDisassociateApprovalRuleTemplateFromRepositories operation. The "output" return
409// value will be populated with the request's response once the request completes
410// successfully.
411//
412// Use "Send" method on the returned Request to send the API call to the service.
413// the "output" return value is not valid until after Send returns without error.
414//
415// See BatchDisassociateApprovalRuleTemplateFromRepositories for more information on using the BatchDisassociateApprovalRuleTemplateFromRepositories
416// API call, and error handling.
417//
418// This method is useful when you want to inject custom logic or configuration
419// into the SDK's request lifecycle. Such as custom headers, or retry logic.
420//
421//
422//    // Example sending a request using the BatchDisassociateApprovalRuleTemplateFromRepositoriesRequest method.
423//    req, resp := client.BatchDisassociateApprovalRuleTemplateFromRepositoriesRequest(params)
424//
425//    err := req.Send()
426//    if err == nil { // resp is now filled
427//        fmt.Println(resp)
428//    }
429//
430// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchDisassociateApprovalRuleTemplateFromRepositories
431func (c *CodeCommit) BatchDisassociateApprovalRuleTemplateFromRepositoriesRequest(input *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) (req *request.Request, output *BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput) {
432	op := &request.Operation{
433		Name:       opBatchDisassociateApprovalRuleTemplateFromRepositories,
434		HTTPMethod: "POST",
435		HTTPPath:   "/",
436	}
437
438	if input == nil {
439		input = &BatchDisassociateApprovalRuleTemplateFromRepositoriesInput{}
440	}
441
442	output = &BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput{}
443	req = c.newRequest(op, input, output)
444	return
445}
446
447// BatchDisassociateApprovalRuleTemplateFromRepositories API operation for AWS CodeCommit.
448//
449// Removes the association between an approval rule template and one or more
450// specified repositories.
451//
452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
453// with awserr.Error's Code and Message methods to get detailed information about
454// the error.
455//
456// See the AWS API reference guide for AWS CodeCommit's
457// API operation BatchDisassociateApprovalRuleTemplateFromRepositories for usage and error information.
458//
459// Returned Error Codes:
460//   * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException"
461//   An approval rule template name is required, but was not specified.
462//
463//   * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException"
464//   The name of the approval rule template is not valid. Template names must
465//   be between 1 and 100 valid characters in length. For more information about
466//   limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
467//
468//   * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException"
469//   The specified approval rule template does not exist. Verify that the name
470//   is correct and that you are signed in to the AWS Region where the template
471//   was created, and then try again.
472//
473//   * ErrCodeRepositoryNamesRequiredException "RepositoryNamesRequiredException"
474//   At least one repository name object is required, but was not specified.
475//
476//   * ErrCodeMaximumRepositoryNamesExceededException "MaximumRepositoryNamesExceededException"
477//   The maximum number of allowed repository names was exceeded. Currently, this
478//   number is 100.
479//
480//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
481//   An encryption integrity check failed.
482//
483//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
484//   An encryption key could not be accessed.
485//
486//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
487//   The encryption key is disabled.
488//
489//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
490//   No encryption key was found.
491//
492//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
493//   The encryption key is not available.
494//
495// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchDisassociateApprovalRuleTemplateFromRepositories
496func (c *CodeCommit) BatchDisassociateApprovalRuleTemplateFromRepositories(input *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) (*BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput, error) {
497	req, out := c.BatchDisassociateApprovalRuleTemplateFromRepositoriesRequest(input)
498	return out, req.Send()
499}
500
501// BatchDisassociateApprovalRuleTemplateFromRepositoriesWithContext is the same as BatchDisassociateApprovalRuleTemplateFromRepositories with the addition of
502// the ability to pass a context and additional request options.
503//
504// See BatchDisassociateApprovalRuleTemplateFromRepositories for details on how to use this API operation.
505//
506// The context must be non-nil and will be used for request cancellation. If
507// the context is nil a panic will occur. In the future the SDK may create
508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
509// for more information on using Contexts.
510func (c *CodeCommit) BatchDisassociateApprovalRuleTemplateFromRepositoriesWithContext(ctx aws.Context, input *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput, opts ...request.Option) (*BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput, error) {
511	req, out := c.BatchDisassociateApprovalRuleTemplateFromRepositoriesRequest(input)
512	req.SetContext(ctx)
513	req.ApplyOptions(opts...)
514	return out, req.Send()
515}
516
517const opBatchGetCommits = "BatchGetCommits"
518
519// BatchGetCommitsRequest generates a "aws/request.Request" representing the
520// client's request for the BatchGetCommits operation. The "output" return
521// value will be populated with the request's response once the request completes
522// successfully.
523//
524// Use "Send" method on the returned Request to send the API call to the service.
525// the "output" return value is not valid until after Send returns without error.
526//
527// See BatchGetCommits for more information on using the BatchGetCommits
528// API call, and error handling.
529//
530// This method is useful when you want to inject custom logic or configuration
531// into the SDK's request lifecycle. Such as custom headers, or retry logic.
532//
533//
534//    // Example sending a request using the BatchGetCommitsRequest method.
535//    req, resp := client.BatchGetCommitsRequest(params)
536//
537//    err := req.Send()
538//    if err == nil { // resp is now filled
539//        fmt.Println(resp)
540//    }
541//
542// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchGetCommits
543func (c *CodeCommit) BatchGetCommitsRequest(input *BatchGetCommitsInput) (req *request.Request, output *BatchGetCommitsOutput) {
544	op := &request.Operation{
545		Name:       opBatchGetCommits,
546		HTTPMethod: "POST",
547		HTTPPath:   "/",
548	}
549
550	if input == nil {
551		input = &BatchGetCommitsInput{}
552	}
553
554	output = &BatchGetCommitsOutput{}
555	req = c.newRequest(op, input, output)
556	return
557}
558
559// BatchGetCommits API operation for AWS CodeCommit.
560//
561// Returns information about the contents of one or more commits in a repository.
562//
563// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
564// with awserr.Error's Code and Message methods to get detailed information about
565// the error.
566//
567// See the AWS API reference guide for AWS CodeCommit's
568// API operation BatchGetCommits for usage and error information.
569//
570// Returned Error Codes:
571//   * ErrCodeCommitIdsListRequiredException "CommitIdsListRequiredException"
572//   A list of commit IDs is required, but was either not specified or the list
573//   was empty.
574//
575//   * ErrCodeCommitIdsLimitExceededException "CommitIdsLimitExceededException"
576//   The maximum number of allowed commit IDs in a batch request is 100. Verify
577//   that your batch requests contains no more than 100 commit IDs, and then try
578//   again.
579//
580//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
581//   A repository name is required, but was not specified.
582//
583//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
584//   A specified repository name is not valid.
585//
586//   This exception occurs only when a specified repository name is not valid.
587//   Other exceptions occur when a required repository parameter is missing, or
588//   when a specified repository does not exist.
589//
590//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
591//   The specified repository does not exist.
592//
593//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
594//   An encryption integrity check failed.
595//
596//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
597//   An encryption key could not be accessed.
598//
599//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
600//   The encryption key is disabled.
601//
602//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
603//   No encryption key was found.
604//
605//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
606//   The encryption key is not available.
607//
608// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchGetCommits
609func (c *CodeCommit) BatchGetCommits(input *BatchGetCommitsInput) (*BatchGetCommitsOutput, error) {
610	req, out := c.BatchGetCommitsRequest(input)
611	return out, req.Send()
612}
613
614// BatchGetCommitsWithContext is the same as BatchGetCommits with the addition of
615// the ability to pass a context and additional request options.
616//
617// See BatchGetCommits for details on how to use this API operation.
618//
619// The context must be non-nil and will be used for request cancellation. If
620// the context is nil a panic will occur. In the future the SDK may create
621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
622// for more information on using Contexts.
623func (c *CodeCommit) BatchGetCommitsWithContext(ctx aws.Context, input *BatchGetCommitsInput, opts ...request.Option) (*BatchGetCommitsOutput, error) {
624	req, out := c.BatchGetCommitsRequest(input)
625	req.SetContext(ctx)
626	req.ApplyOptions(opts...)
627	return out, req.Send()
628}
629
630const opBatchGetRepositories = "BatchGetRepositories"
631
632// BatchGetRepositoriesRequest generates a "aws/request.Request" representing the
633// client's request for the BatchGetRepositories operation. The "output" return
634// value will be populated with the request's response once the request completes
635// successfully.
636//
637// Use "Send" method on the returned Request to send the API call to the service.
638// the "output" return value is not valid until after Send returns without error.
639//
640// See BatchGetRepositories for more information on using the BatchGetRepositories
641// API call, and error handling.
642//
643// This method is useful when you want to inject custom logic or configuration
644// into the SDK's request lifecycle. Such as custom headers, or retry logic.
645//
646//
647//    // Example sending a request using the BatchGetRepositoriesRequest method.
648//    req, resp := client.BatchGetRepositoriesRequest(params)
649//
650//    err := req.Send()
651//    if err == nil { // resp is now filled
652//        fmt.Println(resp)
653//    }
654//
655// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchGetRepositories
656func (c *CodeCommit) BatchGetRepositoriesRequest(input *BatchGetRepositoriesInput) (req *request.Request, output *BatchGetRepositoriesOutput) {
657	op := &request.Operation{
658		Name:       opBatchGetRepositories,
659		HTTPMethod: "POST",
660		HTTPPath:   "/",
661	}
662
663	if input == nil {
664		input = &BatchGetRepositoriesInput{}
665	}
666
667	output = &BatchGetRepositoriesOutput{}
668	req = c.newRequest(op, input, output)
669	return
670}
671
672// BatchGetRepositories API operation for AWS CodeCommit.
673//
674// Returns information about one or more repositories.
675//
676// The description field for a repository accepts all HTML characters and all
677// valid Unicode characters. Applications that do not HTML-encode the description
678// and display it in a webpage can expose users to potentially malicious code.
679// Make sure that you HTML-encode the description field in any application that
680// uses this API to display the repository description on a webpage.
681//
682// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
683// with awserr.Error's Code and Message methods to get detailed information about
684// the error.
685//
686// See the AWS API reference guide for AWS CodeCommit's
687// API operation BatchGetRepositories for usage and error information.
688//
689// Returned Error Codes:
690//   * ErrCodeRepositoryNamesRequiredException "RepositoryNamesRequiredException"
691//   At least one repository name object is required, but was not specified.
692//
693//   * ErrCodeMaximumRepositoryNamesExceededException "MaximumRepositoryNamesExceededException"
694//   The maximum number of allowed repository names was exceeded. Currently, this
695//   number is 100.
696//
697//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
698//   A specified repository name is not valid.
699//
700//   This exception occurs only when a specified repository name is not valid.
701//   Other exceptions occur when a required repository parameter is missing, or
702//   when a specified repository does not exist.
703//
704//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
705//   An encryption integrity check failed.
706//
707//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
708//   An encryption key could not be accessed.
709//
710//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
711//   The encryption key is disabled.
712//
713//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
714//   No encryption key was found.
715//
716//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
717//   The encryption key is not available.
718//
719// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/BatchGetRepositories
720func (c *CodeCommit) BatchGetRepositories(input *BatchGetRepositoriesInput) (*BatchGetRepositoriesOutput, error) {
721	req, out := c.BatchGetRepositoriesRequest(input)
722	return out, req.Send()
723}
724
725// BatchGetRepositoriesWithContext is the same as BatchGetRepositories with the addition of
726// the ability to pass a context and additional request options.
727//
728// See BatchGetRepositories for details on how to use this API operation.
729//
730// The context must be non-nil and will be used for request cancellation. If
731// the context is nil a panic will occur. In the future the SDK may create
732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
733// for more information on using Contexts.
734func (c *CodeCommit) BatchGetRepositoriesWithContext(ctx aws.Context, input *BatchGetRepositoriesInput, opts ...request.Option) (*BatchGetRepositoriesOutput, error) {
735	req, out := c.BatchGetRepositoriesRequest(input)
736	req.SetContext(ctx)
737	req.ApplyOptions(opts...)
738	return out, req.Send()
739}
740
741const opCreateApprovalRuleTemplate = "CreateApprovalRuleTemplate"
742
743// CreateApprovalRuleTemplateRequest generates a "aws/request.Request" representing the
744// client's request for the CreateApprovalRuleTemplate operation. The "output" return
745// value will be populated with the request's response once the request completes
746// successfully.
747//
748// Use "Send" method on the returned Request to send the API call to the service.
749// the "output" return value is not valid until after Send returns without error.
750//
751// See CreateApprovalRuleTemplate for more information on using the CreateApprovalRuleTemplate
752// API call, and error handling.
753//
754// This method is useful when you want to inject custom logic or configuration
755// into the SDK's request lifecycle. Such as custom headers, or retry logic.
756//
757//
758//    // Example sending a request using the CreateApprovalRuleTemplateRequest method.
759//    req, resp := client.CreateApprovalRuleTemplateRequest(params)
760//
761//    err := req.Send()
762//    if err == nil { // resp is now filled
763//        fmt.Println(resp)
764//    }
765//
766// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateApprovalRuleTemplate
767func (c *CodeCommit) CreateApprovalRuleTemplateRequest(input *CreateApprovalRuleTemplateInput) (req *request.Request, output *CreateApprovalRuleTemplateOutput) {
768	op := &request.Operation{
769		Name:       opCreateApprovalRuleTemplate,
770		HTTPMethod: "POST",
771		HTTPPath:   "/",
772	}
773
774	if input == nil {
775		input = &CreateApprovalRuleTemplateInput{}
776	}
777
778	output = &CreateApprovalRuleTemplateOutput{}
779	req = c.newRequest(op, input, output)
780	return
781}
782
783// CreateApprovalRuleTemplate API operation for AWS CodeCommit.
784//
785// Creates a template for approval rules that can then be associated with one
786// or more repositories in your AWS account. When you associate a template with
787// a repository, AWS CodeCommit creates an approval rule that matches the conditions
788// of the template for all pull requests that meet the conditions of the template.
789// For more information, see AssociateApprovalRuleTemplateWithRepository.
790//
791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
792// with awserr.Error's Code and Message methods to get detailed information about
793// the error.
794//
795// See the AWS API reference guide for AWS CodeCommit's
796// API operation CreateApprovalRuleTemplate for usage and error information.
797//
798// Returned Error Codes:
799//   * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException"
800//   An approval rule template name is required, but was not specified.
801//
802//   * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException"
803//   The name of the approval rule template is not valid. Template names must
804//   be between 1 and 100 valid characters in length. For more information about
805//   limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
806//
807//   * ErrCodeApprovalRuleTemplateNameAlreadyExistsException "ApprovalRuleTemplateNameAlreadyExistsException"
808//   You cannot create an approval rule template with that name because a template
809//   with that name already exists in this AWS Region for your AWS account. Approval
810//   rule template names must be unique.
811//
812//   * ErrCodeApprovalRuleTemplateContentRequiredException "ApprovalRuleTemplateContentRequiredException"
813//   The content for the approval rule template is empty. You must provide some
814//   content for an approval rule template. The content cannot be null.
815//
816//   * ErrCodeInvalidApprovalRuleTemplateContentException "InvalidApprovalRuleTemplateContentException"
817//   The content of the approval rule template is not valid.
818//
819//   * ErrCodeInvalidApprovalRuleTemplateDescriptionException "InvalidApprovalRuleTemplateDescriptionException"
820//   The description for the approval rule template is not valid because it exceeds
821//   the maximum characters allowed for a description. For more information about
822//   limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
823//
824//   * ErrCodeNumberOfRuleTemplatesExceededException "NumberOfRuleTemplatesExceededException"
825//   The maximum number of approval rule templates has been exceeded for this
826//   AWS Region.
827//
828// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateApprovalRuleTemplate
829func (c *CodeCommit) CreateApprovalRuleTemplate(input *CreateApprovalRuleTemplateInput) (*CreateApprovalRuleTemplateOutput, error) {
830	req, out := c.CreateApprovalRuleTemplateRequest(input)
831	return out, req.Send()
832}
833
834// CreateApprovalRuleTemplateWithContext is the same as CreateApprovalRuleTemplate with the addition of
835// the ability to pass a context and additional request options.
836//
837// See CreateApprovalRuleTemplate for details on how to use this API operation.
838//
839// The context must be non-nil and will be used for request cancellation. If
840// the context is nil a panic will occur. In the future the SDK may create
841// sub-contexts for http.Requests. See https://golang.org/pkg/context/
842// for more information on using Contexts.
843func (c *CodeCommit) CreateApprovalRuleTemplateWithContext(ctx aws.Context, input *CreateApprovalRuleTemplateInput, opts ...request.Option) (*CreateApprovalRuleTemplateOutput, error) {
844	req, out := c.CreateApprovalRuleTemplateRequest(input)
845	req.SetContext(ctx)
846	req.ApplyOptions(opts...)
847	return out, req.Send()
848}
849
850const opCreateBranch = "CreateBranch"
851
852// CreateBranchRequest generates a "aws/request.Request" representing the
853// client's request for the CreateBranch operation. The "output" return
854// value will be populated with the request's response once the request completes
855// successfully.
856//
857// Use "Send" method on the returned Request to send the API call to the service.
858// the "output" return value is not valid until after Send returns without error.
859//
860// See CreateBranch for more information on using the CreateBranch
861// API call, and error handling.
862//
863// This method is useful when you want to inject custom logic or configuration
864// into the SDK's request lifecycle. Such as custom headers, or retry logic.
865//
866//
867//    // Example sending a request using the CreateBranchRequest method.
868//    req, resp := client.CreateBranchRequest(params)
869//
870//    err := req.Send()
871//    if err == nil { // resp is now filled
872//        fmt.Println(resp)
873//    }
874//
875// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateBranch
876func (c *CodeCommit) CreateBranchRequest(input *CreateBranchInput) (req *request.Request, output *CreateBranchOutput) {
877	op := &request.Operation{
878		Name:       opCreateBranch,
879		HTTPMethod: "POST",
880		HTTPPath:   "/",
881	}
882
883	if input == nil {
884		input = &CreateBranchInput{}
885	}
886
887	output = &CreateBranchOutput{}
888	req = c.newRequest(op, input, output)
889	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
890	return
891}
892
893// CreateBranch API operation for AWS CodeCommit.
894//
895// Creates a branch in a repository and points the branch to a commit.
896//
897// Calling the create branch operation does not set a repository's default branch.
898// To do this, call the update default branch operation.
899//
900// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
901// with awserr.Error's Code and Message methods to get detailed information about
902// the error.
903//
904// See the AWS API reference guide for AWS CodeCommit's
905// API operation CreateBranch for usage and error information.
906//
907// Returned Error Codes:
908//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
909//   A repository name is required, but was not specified.
910//
911//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
912//   A specified repository name is not valid.
913//
914//   This exception occurs only when a specified repository name is not valid.
915//   Other exceptions occur when a required repository parameter is missing, or
916//   when a specified repository does not exist.
917//
918//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
919//   The specified repository does not exist.
920//
921//   * ErrCodeBranchNameRequiredException "BranchNameRequiredException"
922//   A branch name is required, but was not specified.
923//
924//   * ErrCodeBranchNameExistsException "BranchNameExistsException"
925//   The specified branch name already exists.
926//
927//   * ErrCodeInvalidBranchNameException "InvalidBranchNameException"
928//   The specified reference name is not valid.
929//
930//   * ErrCodeCommitIdRequiredException "CommitIdRequiredException"
931//   A commit ID was not specified.
932//
933//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
934//   The specified commit does not exist or no commit was specified, and the specified
935//   repository has no default branch.
936//
937//   * ErrCodeInvalidCommitIdException "InvalidCommitIdException"
938//   The specified commit ID is not valid.
939//
940//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
941//   An encryption integrity check failed.
942//
943//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
944//   An encryption key could not be accessed.
945//
946//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
947//   The encryption key is disabled.
948//
949//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
950//   No encryption key was found.
951//
952//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
953//   The encryption key is not available.
954//
955// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateBranch
956func (c *CodeCommit) CreateBranch(input *CreateBranchInput) (*CreateBranchOutput, error) {
957	req, out := c.CreateBranchRequest(input)
958	return out, req.Send()
959}
960
961// CreateBranchWithContext is the same as CreateBranch with the addition of
962// the ability to pass a context and additional request options.
963//
964// See CreateBranch for details on how to use this API operation.
965//
966// The context must be non-nil and will be used for request cancellation. If
967// the context is nil a panic will occur. In the future the SDK may create
968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
969// for more information on using Contexts.
970func (c *CodeCommit) CreateBranchWithContext(ctx aws.Context, input *CreateBranchInput, opts ...request.Option) (*CreateBranchOutput, error) {
971	req, out := c.CreateBranchRequest(input)
972	req.SetContext(ctx)
973	req.ApplyOptions(opts...)
974	return out, req.Send()
975}
976
977const opCreateCommit = "CreateCommit"
978
979// CreateCommitRequest generates a "aws/request.Request" representing the
980// client's request for the CreateCommit operation. The "output" return
981// value will be populated with the request's response once the request completes
982// successfully.
983//
984// Use "Send" method on the returned Request to send the API call to the service.
985// the "output" return value is not valid until after Send returns without error.
986//
987// See CreateCommit for more information on using the CreateCommit
988// API call, and error handling.
989//
990// This method is useful when you want to inject custom logic or configuration
991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
992//
993//
994//    // Example sending a request using the CreateCommitRequest method.
995//    req, resp := client.CreateCommitRequest(params)
996//
997//    err := req.Send()
998//    if err == nil { // resp is now filled
999//        fmt.Println(resp)
1000//    }
1001//
1002// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateCommit
1003func (c *CodeCommit) CreateCommitRequest(input *CreateCommitInput) (req *request.Request, output *CreateCommitOutput) {
1004	op := &request.Operation{
1005		Name:       opCreateCommit,
1006		HTTPMethod: "POST",
1007		HTTPPath:   "/",
1008	}
1009
1010	if input == nil {
1011		input = &CreateCommitInput{}
1012	}
1013
1014	output = &CreateCommitOutput{}
1015	req = c.newRequest(op, input, output)
1016	return
1017}
1018
1019// CreateCommit API operation for AWS CodeCommit.
1020//
1021// Creates a commit for a repository on the tip of a specified branch.
1022//
1023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1024// with awserr.Error's Code and Message methods to get detailed information about
1025// the error.
1026//
1027// See the AWS API reference guide for AWS CodeCommit's
1028// API operation CreateCommit for usage and error information.
1029//
1030// Returned Error Codes:
1031//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
1032//   A repository name is required, but was not specified.
1033//
1034//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
1035//   A specified repository name is not valid.
1036//
1037//   This exception occurs only when a specified repository name is not valid.
1038//   Other exceptions occur when a required repository parameter is missing, or
1039//   when a specified repository does not exist.
1040//
1041//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
1042//   The specified repository does not exist.
1043//
1044//   * ErrCodeParentCommitIdRequiredException "ParentCommitIdRequiredException"
1045//   A parent commit ID is required. To view the full commit ID of a branch in
1046//   a repository, use GetBranch or a Git command (for example, git pull or git
1047//   log).
1048//
1049//   * ErrCodeInvalidParentCommitIdException "InvalidParentCommitIdException"
1050//   The parent commit ID is not valid. The commit ID cannot be empty, and must
1051//   match the head commit ID for the branch of the repository where you want
1052//   to add or update a file.
1053//
1054//   * ErrCodeParentCommitDoesNotExistException "ParentCommitDoesNotExistException"
1055//   The parent commit ID is not valid because it does not exist. The specified
1056//   parent commit ID does not exist in the specified branch of the repository.
1057//
1058//   * ErrCodeParentCommitIdOutdatedException "ParentCommitIdOutdatedException"
1059//   The file could not be added because the provided parent commit ID is not
1060//   the current tip of the specified branch. To view the full commit ID of the
1061//   current head of the branch, use GetBranch.
1062//
1063//   * ErrCodeBranchNameRequiredException "BranchNameRequiredException"
1064//   A branch name is required, but was not specified.
1065//
1066//   * ErrCodeInvalidBranchNameException "InvalidBranchNameException"
1067//   The specified reference name is not valid.
1068//
1069//   * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException"
1070//   The specified branch does not exist.
1071//
1072//   * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException"
1073//   The specified branch name is not valid because it is a tag name. Enter the
1074//   name of a branch in the repository. For a list of valid branch names, use
1075//   ListBranches.
1076//
1077//   * ErrCodeFileEntryRequiredException "FileEntryRequiredException"
1078//   The commit cannot be created because no files have been specified as added,
1079//   updated, or changed (PutFile or DeleteFile) for the commit.
1080//
1081//   * ErrCodeMaximumFileEntriesExceededException "MaximumFileEntriesExceededException"
1082//   The number of specified files to change as part of this commit exceeds the
1083//   maximum number of files that can be changed in a single commit. Consider
1084//   using a Git client for these changes.
1085//
1086//   * ErrCodePutFileEntryConflictException "PutFileEntryConflictException"
1087//   The commit cannot be created because one or more files specified in the commit
1088//   reference both a file and a folder.
1089//
1090//   * ErrCodeSourceFileOrContentRequiredException "SourceFileOrContentRequiredException"
1091//   The commit cannot be created because no source files or file content have
1092//   been specified for the commit.
1093//
1094//   * ErrCodeFileContentAndSourceFileSpecifiedException "FileContentAndSourceFileSpecifiedException"
1095//   The commit cannot be created because both a source file and file content
1096//   have been specified for the same file. You cannot provide both. Either specify
1097//   a source file or provide the file content directly.
1098//
1099//   * ErrCodePathRequiredException "PathRequiredException"
1100//   The folderPath for a location cannot be null.
1101//
1102//   * ErrCodeInvalidPathException "InvalidPathException"
1103//   The specified path is not valid.
1104//
1105//   * ErrCodeSamePathRequestException "SamePathRequestException"
1106//   The commit cannot be created because one or more changes in this commit duplicate
1107//   actions in the same file path. For example, you cannot make the same delete
1108//   request to the same file in the same file path twice, or make a delete request
1109//   and a move request to the same file as part of the same commit.
1110//
1111//   * ErrCodeFileDoesNotExistException "FileDoesNotExistException"
1112//   The specified file does not exist. Verify that you have used the correct
1113//   file name, full path, and extension.
1114//
1115//   * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException"
1116//   The file cannot be added because it is too large. The maximum file size is
1117//   6 MB, and the combined file content change size is 7 MB. Consider making
1118//   these changes using a Git client.
1119//
1120//   * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException"
1121//   The commit cannot be created because at least one of the overall changes
1122//   in the commit results in a folder whose contents exceed the limit of 6 MB.
1123//   Either reduce the number and size of your changes, or split the changes across
1124//   multiple folders.
1125//
1126//   * ErrCodeInvalidDeletionParameterException "InvalidDeletionParameterException"
1127//   The specified deletion parameter is not valid.
1128//
1129//   * ErrCodeRestrictedSourceFileException "RestrictedSourceFileException"
1130//   The commit cannot be created because one of the changes specifies copying
1131//   or moving a .gitkeep file.
1132//
1133//   * ErrCodeFileModeRequiredException "FileModeRequiredException"
1134//   The commit cannot be created because no file mode has been specified. A file
1135//   mode is required to update mode permissions for a file.
1136//
1137//   * ErrCodeInvalidFileModeException "InvalidFileModeException"
1138//   The specified file mode permission is not valid. For a list of valid file
1139//   mode permissions, see PutFile.
1140//
1141//   * ErrCodeNameLengthExceededException "NameLengthExceededException"
1142//   The user name is not valid because it has exceeded the character limit for
1143//   author names.
1144//
1145//   * ErrCodeInvalidEmailException "InvalidEmailException"
1146//   The specified email address either contains one or more characters that are
1147//   not allowed, or it exceeds the maximum number of characters allowed for an
1148//   email address.
1149//
1150//   * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException"
1151//   The commit message is too long. Provide a shorter string.
1152//
1153//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
1154//   An encryption integrity check failed.
1155//
1156//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
1157//   An encryption key could not be accessed.
1158//
1159//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
1160//   The encryption key is disabled.
1161//
1162//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
1163//   No encryption key was found.
1164//
1165//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
1166//   The encryption key is not available.
1167//
1168//   * ErrCodeNoChangeException "NoChangeException"
1169//   The commit cannot be created because no changes will be made to the repository
1170//   as a result of this commit. A commit must contain at least one change.
1171//
1172//   * ErrCodeFileNameConflictsWithDirectoryNameException "FileNameConflictsWithDirectoryNameException"
1173//   A file cannot be added to the repository because the specified file name
1174//   has the same name as a directory in this repository. Either provide another
1175//   name for the file, or add the file in a directory that does not match the
1176//   file name.
1177//
1178//   * ErrCodeDirectoryNameConflictsWithFileNameException "DirectoryNameConflictsWithFileNameException"
1179//   A file cannot be added to the repository because the specified path name
1180//   has the same name as a file that already exists in this repository. Either
1181//   provide a different name for the file, or specify a different path for the
1182//   file.
1183//
1184//   * ErrCodeFilePathConflictsWithSubmodulePathException "FilePathConflictsWithSubmodulePathException"
1185//   The commit cannot be created because a specified file path points to a submodule.
1186//   Verify that the destination files have valid file paths that do not point
1187//   to a submodule.
1188//
1189// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateCommit
1190func (c *CodeCommit) CreateCommit(input *CreateCommitInput) (*CreateCommitOutput, error) {
1191	req, out := c.CreateCommitRequest(input)
1192	return out, req.Send()
1193}
1194
1195// CreateCommitWithContext is the same as CreateCommit with the addition of
1196// the ability to pass a context and additional request options.
1197//
1198// See CreateCommit for details on how to use this API operation.
1199//
1200// The context must be non-nil and will be used for request cancellation. If
1201// the context is nil a panic will occur. In the future the SDK may create
1202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1203// for more information on using Contexts.
1204func (c *CodeCommit) CreateCommitWithContext(ctx aws.Context, input *CreateCommitInput, opts ...request.Option) (*CreateCommitOutput, error) {
1205	req, out := c.CreateCommitRequest(input)
1206	req.SetContext(ctx)
1207	req.ApplyOptions(opts...)
1208	return out, req.Send()
1209}
1210
1211const opCreatePullRequest = "CreatePullRequest"
1212
1213// CreatePullRequestRequest generates a "aws/request.Request" representing the
1214// client's request for the CreatePullRequest operation. The "output" return
1215// value will be populated with the request's response once the request completes
1216// successfully.
1217//
1218// Use "Send" method on the returned Request to send the API call to the service.
1219// the "output" return value is not valid until after Send returns without error.
1220//
1221// See CreatePullRequest for more information on using the CreatePullRequest
1222// API call, and error handling.
1223//
1224// This method is useful when you want to inject custom logic or configuration
1225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1226//
1227//
1228//    // Example sending a request using the CreatePullRequestRequest method.
1229//    req, resp := client.CreatePullRequestRequest(params)
1230//
1231//    err := req.Send()
1232//    if err == nil { // resp is now filled
1233//        fmt.Println(resp)
1234//    }
1235//
1236// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreatePullRequest
1237func (c *CodeCommit) CreatePullRequestRequest(input *CreatePullRequestInput) (req *request.Request, output *CreatePullRequestOutput) {
1238	op := &request.Operation{
1239		Name:       opCreatePullRequest,
1240		HTTPMethod: "POST",
1241		HTTPPath:   "/",
1242	}
1243
1244	if input == nil {
1245		input = &CreatePullRequestInput{}
1246	}
1247
1248	output = &CreatePullRequestOutput{}
1249	req = c.newRequest(op, input, output)
1250	return
1251}
1252
1253// CreatePullRequest API operation for AWS CodeCommit.
1254//
1255// Creates a pull request in the specified repository.
1256//
1257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1258// with awserr.Error's Code and Message methods to get detailed information about
1259// the error.
1260//
1261// See the AWS API reference guide for AWS CodeCommit's
1262// API operation CreatePullRequest for usage and error information.
1263//
1264// Returned Error Codes:
1265//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
1266//   A repository name is required, but was not specified.
1267//
1268//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
1269//   A specified repository name is not valid.
1270//
1271//   This exception occurs only when a specified repository name is not valid.
1272//   Other exceptions occur when a required repository parameter is missing, or
1273//   when a specified repository does not exist.
1274//
1275//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
1276//   The specified repository does not exist.
1277//
1278//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
1279//   An encryption integrity check failed.
1280//
1281//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
1282//   An encryption key could not be accessed.
1283//
1284//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
1285//   The encryption key is disabled.
1286//
1287//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
1288//   No encryption key was found.
1289//
1290//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
1291//   The encryption key is not available.
1292//
1293//   * ErrCodeClientRequestTokenRequiredException "ClientRequestTokenRequiredException"
1294//   A client request token is required. A client request token is an unique,
1295//   client-generated idempotency token that, when provided in a request, ensures
1296//   the request cannot be repeated with a changed parameter. If a request is
1297//   received with the same parameters and a token is included, the request returns
1298//   information about the initial request that used that token.
1299//
1300//   * ErrCodeInvalidClientRequestTokenException "InvalidClientRequestTokenException"
1301//   The client request token is not valid.
1302//
1303//   * ErrCodeIdempotencyParameterMismatchException "IdempotencyParameterMismatchException"
1304//   The client request token is not valid. Either the token is not in a valid
1305//   format, or the token has been used in a previous request and cannot be reused.
1306//
1307//   * ErrCodeReferenceNameRequiredException "ReferenceNameRequiredException"
1308//   A reference name is required, but none was provided.
1309//
1310//   * ErrCodeInvalidReferenceNameException "InvalidReferenceNameException"
1311//   The specified reference name format is not valid. Reference names must conform
1312//   to the Git references format (for example, refs/heads/master). For more information,
1313//   see Git Internals - Git References (https://git-scm.com/book/en/v2/Git-Internals-Git-References)
1314//   or consult your Git documentation.
1315//
1316//   * ErrCodeReferenceDoesNotExistException "ReferenceDoesNotExistException"
1317//   The specified reference does not exist. You must provide a full commit ID.
1318//
1319//   * ErrCodeReferenceTypeNotSupportedException "ReferenceTypeNotSupportedException"
1320//   The specified reference is not a supported type.
1321//
1322//   * ErrCodeTitleRequiredException "TitleRequiredException"
1323//   A pull request title is required. It cannot be empty or null.
1324//
1325//   * ErrCodeInvalidTitleException "InvalidTitleException"
1326//   The title of the pull request is not valid. Pull request titles cannot exceed
1327//   100 characters in length.
1328//
1329//   * ErrCodeInvalidDescriptionException "InvalidDescriptionException"
1330//   The pull request description is not valid. Descriptions cannot be more than
1331//   1,000 characters.
1332//
1333//   * ErrCodeTargetsRequiredException "TargetsRequiredException"
1334//   An array of target objects is required. It cannot be empty or null.
1335//
1336//   * ErrCodeInvalidTargetsException "InvalidTargetsException"
1337//   The targets for the pull request is not valid or not in a valid format. Targets
1338//   are a list of target objects. Each target object must contain the full values
1339//   for the repository name, source branch, and destination branch for a pull
1340//   request.
1341//
1342//   * ErrCodeTargetRequiredException "TargetRequiredException"
1343//   A pull request target is required. It cannot be empty or null. A pull request
1344//   target must contain the full values for the repository name, source branch,
1345//   and destination branch for the pull request.
1346//
1347//   * ErrCodeInvalidTargetException "InvalidTargetException"
1348//   The target for the pull request is not valid. A target must contain the full
1349//   values for the repository name, source branch, and destination branch for
1350//   the pull request.
1351//
1352//   * ErrCodeMultipleRepositoriesInPullRequestException "MultipleRepositoriesInPullRequestException"
1353//   You cannot include more than one repository in a pull request. Make sure
1354//   you have specified only one repository name in your request, and then try
1355//   again.
1356//
1357//   * ErrCodeMaximumOpenPullRequestsExceededException "MaximumOpenPullRequestsExceededException"
1358//   You cannot create the pull request because the repository has too many open
1359//   pull requests. The maximum number of open pull requests for a repository
1360//   is 1,000. Close one or more open pull requests, and then try again.
1361//
1362//   * ErrCodeSourceAndDestinationAreSameException "SourceAndDestinationAreSameException"
1363//   The source branch and destination branch for the pull request are the same.
1364//   You must specify different branches for the source and destination.
1365//
1366// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreatePullRequest
1367func (c *CodeCommit) CreatePullRequest(input *CreatePullRequestInput) (*CreatePullRequestOutput, error) {
1368	req, out := c.CreatePullRequestRequest(input)
1369	return out, req.Send()
1370}
1371
1372// CreatePullRequestWithContext is the same as CreatePullRequest with the addition of
1373// the ability to pass a context and additional request options.
1374//
1375// See CreatePullRequest for details on how to use this API operation.
1376//
1377// The context must be non-nil and will be used for request cancellation. If
1378// the context is nil a panic will occur. In the future the SDK may create
1379// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1380// for more information on using Contexts.
1381func (c *CodeCommit) CreatePullRequestWithContext(ctx aws.Context, input *CreatePullRequestInput, opts ...request.Option) (*CreatePullRequestOutput, error) {
1382	req, out := c.CreatePullRequestRequest(input)
1383	req.SetContext(ctx)
1384	req.ApplyOptions(opts...)
1385	return out, req.Send()
1386}
1387
1388const opCreatePullRequestApprovalRule = "CreatePullRequestApprovalRule"
1389
1390// CreatePullRequestApprovalRuleRequest generates a "aws/request.Request" representing the
1391// client's request for the CreatePullRequestApprovalRule operation. The "output" return
1392// value will be populated with the request's response once the request completes
1393// successfully.
1394//
1395// Use "Send" method on the returned Request to send the API call to the service.
1396// the "output" return value is not valid until after Send returns without error.
1397//
1398// See CreatePullRequestApprovalRule for more information on using the CreatePullRequestApprovalRule
1399// API call, and error handling.
1400//
1401// This method is useful when you want to inject custom logic or configuration
1402// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1403//
1404//
1405//    // Example sending a request using the CreatePullRequestApprovalRuleRequest method.
1406//    req, resp := client.CreatePullRequestApprovalRuleRequest(params)
1407//
1408//    err := req.Send()
1409//    if err == nil { // resp is now filled
1410//        fmt.Println(resp)
1411//    }
1412//
1413// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreatePullRequestApprovalRule
1414func (c *CodeCommit) CreatePullRequestApprovalRuleRequest(input *CreatePullRequestApprovalRuleInput) (req *request.Request, output *CreatePullRequestApprovalRuleOutput) {
1415	op := &request.Operation{
1416		Name:       opCreatePullRequestApprovalRule,
1417		HTTPMethod: "POST",
1418		HTTPPath:   "/",
1419	}
1420
1421	if input == nil {
1422		input = &CreatePullRequestApprovalRuleInput{}
1423	}
1424
1425	output = &CreatePullRequestApprovalRuleOutput{}
1426	req = c.newRequest(op, input, output)
1427	return
1428}
1429
1430// CreatePullRequestApprovalRule API operation for AWS CodeCommit.
1431//
1432// Creates an approval rule for a pull request.
1433//
1434// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1435// with awserr.Error's Code and Message methods to get detailed information about
1436// the error.
1437//
1438// See the AWS API reference guide for AWS CodeCommit's
1439// API operation CreatePullRequestApprovalRule for usage and error information.
1440//
1441// Returned Error Codes:
1442//   * ErrCodeApprovalRuleNameRequiredException "ApprovalRuleNameRequiredException"
1443//   An approval rule name is required, but was not specified.
1444//
1445//   * ErrCodeInvalidApprovalRuleNameException "InvalidApprovalRuleNameException"
1446//   The name for the approval rule is not valid.
1447//
1448//   * ErrCodeApprovalRuleNameAlreadyExistsException "ApprovalRuleNameAlreadyExistsException"
1449//   An approval rule with that name already exists. Approval rule names must
1450//   be unique within the scope of a pull request.
1451//
1452//   * ErrCodeApprovalRuleContentRequiredException "ApprovalRuleContentRequiredException"
1453//   The content for the approval rule is empty. You must provide some content
1454//   for an approval rule. The content cannot be null.
1455//
1456//   * ErrCodeInvalidApprovalRuleContentException "InvalidApprovalRuleContentException"
1457//   The content for the approval rule is not valid.
1458//
1459//   * ErrCodeNumberOfRulesExceededException "NumberOfRulesExceededException"
1460//   The approval rule cannot be added. The pull request has the maximum number
1461//   of approval rules associated with it.
1462//
1463//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
1464//   The pull request ID could not be found. Make sure that you have specified
1465//   the correct repository name and pull request ID, and then try again.
1466//
1467//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
1468//   The pull request ID is not valid. Make sure that you have provided the full
1469//   ID and that the pull request is in the specified repository, and then try
1470//   again.
1471//
1472//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
1473//   A pull request ID is required, but none was provided.
1474//
1475//   * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException"
1476//   The pull request status cannot be updated because it is already closed.
1477//
1478//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
1479//   An encryption integrity check failed.
1480//
1481//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
1482//   An encryption key could not be accessed.
1483//
1484//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
1485//   The encryption key is disabled.
1486//
1487//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
1488//   No encryption key was found.
1489//
1490//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
1491//   The encryption key is not available.
1492//
1493// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreatePullRequestApprovalRule
1494func (c *CodeCommit) CreatePullRequestApprovalRule(input *CreatePullRequestApprovalRuleInput) (*CreatePullRequestApprovalRuleOutput, error) {
1495	req, out := c.CreatePullRequestApprovalRuleRequest(input)
1496	return out, req.Send()
1497}
1498
1499// CreatePullRequestApprovalRuleWithContext is the same as CreatePullRequestApprovalRule with the addition of
1500// the ability to pass a context and additional request options.
1501//
1502// See CreatePullRequestApprovalRule for details on how to use this API operation.
1503//
1504// The context must be non-nil and will be used for request cancellation. If
1505// the context is nil a panic will occur. In the future the SDK may create
1506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1507// for more information on using Contexts.
1508func (c *CodeCommit) CreatePullRequestApprovalRuleWithContext(ctx aws.Context, input *CreatePullRequestApprovalRuleInput, opts ...request.Option) (*CreatePullRequestApprovalRuleOutput, error) {
1509	req, out := c.CreatePullRequestApprovalRuleRequest(input)
1510	req.SetContext(ctx)
1511	req.ApplyOptions(opts...)
1512	return out, req.Send()
1513}
1514
1515const opCreateRepository = "CreateRepository"
1516
1517// CreateRepositoryRequest generates a "aws/request.Request" representing the
1518// client's request for the CreateRepository operation. The "output" return
1519// value will be populated with the request's response once the request completes
1520// successfully.
1521//
1522// Use "Send" method on the returned Request to send the API call to the service.
1523// the "output" return value is not valid until after Send returns without error.
1524//
1525// See CreateRepository for more information on using the CreateRepository
1526// API call, and error handling.
1527//
1528// This method is useful when you want to inject custom logic or configuration
1529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1530//
1531//
1532//    // Example sending a request using the CreateRepositoryRequest method.
1533//    req, resp := client.CreateRepositoryRequest(params)
1534//
1535//    err := req.Send()
1536//    if err == nil { // resp is now filled
1537//        fmt.Println(resp)
1538//    }
1539//
1540// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateRepository
1541func (c *CodeCommit) CreateRepositoryRequest(input *CreateRepositoryInput) (req *request.Request, output *CreateRepositoryOutput) {
1542	op := &request.Operation{
1543		Name:       opCreateRepository,
1544		HTTPMethod: "POST",
1545		HTTPPath:   "/",
1546	}
1547
1548	if input == nil {
1549		input = &CreateRepositoryInput{}
1550	}
1551
1552	output = &CreateRepositoryOutput{}
1553	req = c.newRequest(op, input, output)
1554	return
1555}
1556
1557// CreateRepository API operation for AWS CodeCommit.
1558//
1559// Creates a new, empty repository.
1560//
1561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1562// with awserr.Error's Code and Message methods to get detailed information about
1563// the error.
1564//
1565// See the AWS API reference guide for AWS CodeCommit's
1566// API operation CreateRepository for usage and error information.
1567//
1568// Returned Error Codes:
1569//   * ErrCodeRepositoryNameExistsException "RepositoryNameExistsException"
1570//   The specified repository name already exists.
1571//
1572//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
1573//   A repository name is required, but was not specified.
1574//
1575//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
1576//   A specified repository name is not valid.
1577//
1578//   This exception occurs only when a specified repository name is not valid.
1579//   Other exceptions occur when a required repository parameter is missing, or
1580//   when a specified repository does not exist.
1581//
1582//   * ErrCodeInvalidRepositoryDescriptionException "InvalidRepositoryDescriptionException"
1583//   The specified repository description is not valid.
1584//
1585//   * ErrCodeRepositoryLimitExceededException "RepositoryLimitExceededException"
1586//   A repository resource limit was exceeded.
1587//
1588//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
1589//   An encryption integrity check failed.
1590//
1591//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
1592//   An encryption key could not be accessed.
1593//
1594//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
1595//   The encryption key is disabled.
1596//
1597//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
1598//   No encryption key was found.
1599//
1600//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
1601//   The encryption key is not available.
1602//
1603//   * ErrCodeInvalidTagsMapException "InvalidTagsMapException"
1604//   The map of tags is not valid.
1605//
1606//   * ErrCodeTooManyTagsException "TooManyTagsException"
1607//   The maximum number of tags for an AWS CodeCommit resource has been exceeded.
1608//
1609//   * ErrCodeInvalidSystemTagUsageException "InvalidSystemTagUsageException"
1610//   The specified tag is not valid. Key names cannot be prefixed with aws:.
1611//
1612//   * ErrCodeTagPolicyException "TagPolicyException"
1613//   The tag policy is not valid.
1614//
1615// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateRepository
1616func (c *CodeCommit) CreateRepository(input *CreateRepositoryInput) (*CreateRepositoryOutput, error) {
1617	req, out := c.CreateRepositoryRequest(input)
1618	return out, req.Send()
1619}
1620
1621// CreateRepositoryWithContext is the same as CreateRepository with the addition of
1622// the ability to pass a context and additional request options.
1623//
1624// See CreateRepository for details on how to use this API operation.
1625//
1626// The context must be non-nil and will be used for request cancellation. If
1627// the context is nil a panic will occur. In the future the SDK may create
1628// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1629// for more information on using Contexts.
1630func (c *CodeCommit) CreateRepositoryWithContext(ctx aws.Context, input *CreateRepositoryInput, opts ...request.Option) (*CreateRepositoryOutput, error) {
1631	req, out := c.CreateRepositoryRequest(input)
1632	req.SetContext(ctx)
1633	req.ApplyOptions(opts...)
1634	return out, req.Send()
1635}
1636
1637const opCreateUnreferencedMergeCommit = "CreateUnreferencedMergeCommit"
1638
1639// CreateUnreferencedMergeCommitRequest generates a "aws/request.Request" representing the
1640// client's request for the CreateUnreferencedMergeCommit operation. The "output" return
1641// value will be populated with the request's response once the request completes
1642// successfully.
1643//
1644// Use "Send" method on the returned Request to send the API call to the service.
1645// the "output" return value is not valid until after Send returns without error.
1646//
1647// See CreateUnreferencedMergeCommit for more information on using the CreateUnreferencedMergeCommit
1648// API call, and error handling.
1649//
1650// This method is useful when you want to inject custom logic or configuration
1651// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1652//
1653//
1654//    // Example sending a request using the CreateUnreferencedMergeCommitRequest method.
1655//    req, resp := client.CreateUnreferencedMergeCommitRequest(params)
1656//
1657//    err := req.Send()
1658//    if err == nil { // resp is now filled
1659//        fmt.Println(resp)
1660//    }
1661//
1662// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateUnreferencedMergeCommit
1663func (c *CodeCommit) CreateUnreferencedMergeCommitRequest(input *CreateUnreferencedMergeCommitInput) (req *request.Request, output *CreateUnreferencedMergeCommitOutput) {
1664	op := &request.Operation{
1665		Name:       opCreateUnreferencedMergeCommit,
1666		HTTPMethod: "POST",
1667		HTTPPath:   "/",
1668	}
1669
1670	if input == nil {
1671		input = &CreateUnreferencedMergeCommitInput{}
1672	}
1673
1674	output = &CreateUnreferencedMergeCommitOutput{}
1675	req = c.newRequest(op, input, output)
1676	return
1677}
1678
1679// CreateUnreferencedMergeCommit API operation for AWS CodeCommit.
1680//
1681// Creates an unreferenced commit that represents the result of merging two
1682// branches using a specified merge strategy. This can help you determine the
1683// outcome of a potential merge. This API cannot be used with the fast-forward
1684// merge strategy because that strategy does not create a merge commit.
1685//
1686// This unreferenced merge commit can only be accessed using the GetCommit API
1687// or through git commands such as git fetch. To retrieve this commit, you must
1688// specify its commit ID or otherwise reference it.
1689//
1690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1691// with awserr.Error's Code and Message methods to get detailed information about
1692// the error.
1693//
1694// See the AWS API reference guide for AWS CodeCommit's
1695// API operation CreateUnreferencedMergeCommit for usage and error information.
1696//
1697// Returned Error Codes:
1698//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
1699//   A repository name is required, but was not specified.
1700//
1701//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
1702//   A specified repository name is not valid.
1703//
1704//   This exception occurs only when a specified repository name is not valid.
1705//   Other exceptions occur when a required repository parameter is missing, or
1706//   when a specified repository does not exist.
1707//
1708//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
1709//   The specified repository does not exist.
1710//
1711//   * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException"
1712//   The divergence between the tips of the provided commit specifiers is too
1713//   great to determine whether there might be any merge conflicts. Locally compare
1714//   the specifiers using git diff or a diff tool.
1715//
1716//   * ErrCodeCommitRequiredException "CommitRequiredException"
1717//   A commit was not specified.
1718//
1719//   * ErrCodeInvalidCommitException "InvalidCommitException"
1720//   The specified commit is not valid.
1721//
1722//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
1723//   The specified commit does not exist or no commit was specified, and the specified
1724//   repository has no default branch.
1725//
1726//   * ErrCodeMergeOptionRequiredException "MergeOptionRequiredException"
1727//   A merge option or stategy is required, and none was provided.
1728//
1729//   * ErrCodeInvalidMergeOptionException "InvalidMergeOptionException"
1730//   The specified merge option is not valid for this operation. Not all merge
1731//   strategies are supported for all operations.
1732//
1733//   * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException"
1734//   The specified conflict detail level is not valid.
1735//
1736//   * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException"
1737//   The specified conflict resolution strategy is not valid.
1738//
1739//   * ErrCodeInvalidConflictResolutionException "InvalidConflictResolutionException"
1740//   The specified conflict resolution list is not valid.
1741//
1742//   * ErrCodeManualMergeRequiredException "ManualMergeRequiredException"
1743//   The pull request cannot be merged automatically into the destination branch.
1744//   You must manually merge the branches and resolve any conflicts.
1745//
1746//   * ErrCodeMaximumConflictResolutionEntriesExceededException "MaximumConflictResolutionEntriesExceededException"
1747//   The number of allowed conflict resolution entries was exceeded.
1748//
1749//   * ErrCodeMultipleConflictResolutionEntriesException "MultipleConflictResolutionEntriesException"
1750//   More than one conflict resolution entries exists for the conflict. A conflict
1751//   can have only one conflict resolution entry.
1752//
1753//   * ErrCodeReplacementTypeRequiredException "ReplacementTypeRequiredException"
1754//   A replacement type is required.
1755//
1756//   * ErrCodeInvalidReplacementTypeException "InvalidReplacementTypeException"
1757//   Automerge was specified for resolving the conflict, but the specified replacement
1758//   type is not valid.
1759//
1760//   * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException"
1761//   USE_NEW_CONTENT was specified, but no replacement content has been provided.
1762//
1763//   * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException"
1764//   Automerge was specified for resolving the conflict, but the replacement type
1765//   is not valid or content is missing.
1766//
1767//   * ErrCodePathRequiredException "PathRequiredException"
1768//   The folderPath for a location cannot be null.
1769//
1770//   * ErrCodeInvalidPathException "InvalidPathException"
1771//   The specified path is not valid.
1772//
1773//   * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException"
1774//   The file cannot be added because it is too large. The maximum file size is
1775//   6 MB, and the combined file content change size is 7 MB. Consider making
1776//   these changes using a Git client.
1777//
1778//   * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException"
1779//   The commit cannot be created because at least one of the overall changes
1780//   in the commit results in a folder whose contents exceed the limit of 6 MB.
1781//   Either reduce the number and size of your changes, or split the changes across
1782//   multiple folders.
1783//
1784//   * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException"
1785//   The number of files to load exceeds the allowed limit.
1786//
1787//   * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException"
1788//   The number of items to compare between the source or destination branches
1789//   and the merge base has exceeded the maximum allowed.
1790//
1791//   * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException"
1792//   The merge cannot be completed because the target branch has been modified.
1793//   Another user might have modified the target branch while the merge was in
1794//   progress. Wait a few minutes, and then try again.
1795//
1796//   * ErrCodeFileModeRequiredException "FileModeRequiredException"
1797//   The commit cannot be created because no file mode has been specified. A file
1798//   mode is required to update mode permissions for a file.
1799//
1800//   * ErrCodeInvalidFileModeException "InvalidFileModeException"
1801//   The specified file mode permission is not valid. For a list of valid file
1802//   mode permissions, see PutFile.
1803//
1804//   * ErrCodeNameLengthExceededException "NameLengthExceededException"
1805//   The user name is not valid because it has exceeded the character limit for
1806//   author names.
1807//
1808//   * ErrCodeInvalidEmailException "InvalidEmailException"
1809//   The specified email address either contains one or more characters that are
1810//   not allowed, or it exceeds the maximum number of characters allowed for an
1811//   email address.
1812//
1813//   * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException"
1814//   The commit message is too long. Provide a shorter string.
1815//
1816//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
1817//   An encryption integrity check failed.
1818//
1819//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
1820//   An encryption key could not be accessed.
1821//
1822//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
1823//   The encryption key is disabled.
1824//
1825//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
1826//   No encryption key was found.
1827//
1828//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
1829//   The encryption key is not available.
1830//
1831// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/CreateUnreferencedMergeCommit
1832func (c *CodeCommit) CreateUnreferencedMergeCommit(input *CreateUnreferencedMergeCommitInput) (*CreateUnreferencedMergeCommitOutput, error) {
1833	req, out := c.CreateUnreferencedMergeCommitRequest(input)
1834	return out, req.Send()
1835}
1836
1837// CreateUnreferencedMergeCommitWithContext is the same as CreateUnreferencedMergeCommit with the addition of
1838// the ability to pass a context and additional request options.
1839//
1840// See CreateUnreferencedMergeCommit for details on how to use this API operation.
1841//
1842// The context must be non-nil and will be used for request cancellation. If
1843// the context is nil a panic will occur. In the future the SDK may create
1844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1845// for more information on using Contexts.
1846func (c *CodeCommit) CreateUnreferencedMergeCommitWithContext(ctx aws.Context, input *CreateUnreferencedMergeCommitInput, opts ...request.Option) (*CreateUnreferencedMergeCommitOutput, error) {
1847	req, out := c.CreateUnreferencedMergeCommitRequest(input)
1848	req.SetContext(ctx)
1849	req.ApplyOptions(opts...)
1850	return out, req.Send()
1851}
1852
1853const opDeleteApprovalRuleTemplate = "DeleteApprovalRuleTemplate"
1854
1855// DeleteApprovalRuleTemplateRequest generates a "aws/request.Request" representing the
1856// client's request for the DeleteApprovalRuleTemplate operation. The "output" return
1857// value will be populated with the request's response once the request completes
1858// successfully.
1859//
1860// Use "Send" method on the returned Request to send the API call to the service.
1861// the "output" return value is not valid until after Send returns without error.
1862//
1863// See DeleteApprovalRuleTemplate for more information on using the DeleteApprovalRuleTemplate
1864// API call, and error handling.
1865//
1866// This method is useful when you want to inject custom logic or configuration
1867// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1868//
1869//
1870//    // Example sending a request using the DeleteApprovalRuleTemplateRequest method.
1871//    req, resp := client.DeleteApprovalRuleTemplateRequest(params)
1872//
1873//    err := req.Send()
1874//    if err == nil { // resp is now filled
1875//        fmt.Println(resp)
1876//    }
1877//
1878// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteApprovalRuleTemplate
1879func (c *CodeCommit) DeleteApprovalRuleTemplateRequest(input *DeleteApprovalRuleTemplateInput) (req *request.Request, output *DeleteApprovalRuleTemplateOutput) {
1880	op := &request.Operation{
1881		Name:       opDeleteApprovalRuleTemplate,
1882		HTTPMethod: "POST",
1883		HTTPPath:   "/",
1884	}
1885
1886	if input == nil {
1887		input = &DeleteApprovalRuleTemplateInput{}
1888	}
1889
1890	output = &DeleteApprovalRuleTemplateOutput{}
1891	req = c.newRequest(op, input, output)
1892	return
1893}
1894
1895// DeleteApprovalRuleTemplate API operation for AWS CodeCommit.
1896//
1897// Deletes a specified approval rule template. Deleting a template does not
1898// remove approval rules on pull requests already created with the template.
1899//
1900// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1901// with awserr.Error's Code and Message methods to get detailed information about
1902// the error.
1903//
1904// See the AWS API reference guide for AWS CodeCommit's
1905// API operation DeleteApprovalRuleTemplate for usage and error information.
1906//
1907// Returned Error Codes:
1908//   * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException"
1909//   An approval rule template name is required, but was not specified.
1910//
1911//   * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException"
1912//   The name of the approval rule template is not valid. Template names must
1913//   be between 1 and 100 valid characters in length. For more information about
1914//   limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
1915//
1916//   * ErrCodeApprovalRuleTemplateInUseException "ApprovalRuleTemplateInUseException"
1917//   The approval rule template is associated with one or more repositories. You
1918//   cannot delete a template that is associated with a repository. Remove all
1919//   associations, and then try again.
1920//
1921// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteApprovalRuleTemplate
1922func (c *CodeCommit) DeleteApprovalRuleTemplate(input *DeleteApprovalRuleTemplateInput) (*DeleteApprovalRuleTemplateOutput, error) {
1923	req, out := c.DeleteApprovalRuleTemplateRequest(input)
1924	return out, req.Send()
1925}
1926
1927// DeleteApprovalRuleTemplateWithContext is the same as DeleteApprovalRuleTemplate with the addition of
1928// the ability to pass a context and additional request options.
1929//
1930// See DeleteApprovalRuleTemplate for details on how to use this API operation.
1931//
1932// The context must be non-nil and will be used for request cancellation. If
1933// the context is nil a panic will occur. In the future the SDK may create
1934// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1935// for more information on using Contexts.
1936func (c *CodeCommit) DeleteApprovalRuleTemplateWithContext(ctx aws.Context, input *DeleteApprovalRuleTemplateInput, opts ...request.Option) (*DeleteApprovalRuleTemplateOutput, error) {
1937	req, out := c.DeleteApprovalRuleTemplateRequest(input)
1938	req.SetContext(ctx)
1939	req.ApplyOptions(opts...)
1940	return out, req.Send()
1941}
1942
1943const opDeleteBranch = "DeleteBranch"
1944
1945// DeleteBranchRequest generates a "aws/request.Request" representing the
1946// client's request for the DeleteBranch operation. The "output" return
1947// value will be populated with the request's response once the request completes
1948// successfully.
1949//
1950// Use "Send" method on the returned Request to send the API call to the service.
1951// the "output" return value is not valid until after Send returns without error.
1952//
1953// See DeleteBranch for more information on using the DeleteBranch
1954// API call, and error handling.
1955//
1956// This method is useful when you want to inject custom logic or configuration
1957// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1958//
1959//
1960//    // Example sending a request using the DeleteBranchRequest method.
1961//    req, resp := client.DeleteBranchRequest(params)
1962//
1963//    err := req.Send()
1964//    if err == nil { // resp is now filled
1965//        fmt.Println(resp)
1966//    }
1967//
1968// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteBranch
1969func (c *CodeCommit) DeleteBranchRequest(input *DeleteBranchInput) (req *request.Request, output *DeleteBranchOutput) {
1970	op := &request.Operation{
1971		Name:       opDeleteBranch,
1972		HTTPMethod: "POST",
1973		HTTPPath:   "/",
1974	}
1975
1976	if input == nil {
1977		input = &DeleteBranchInput{}
1978	}
1979
1980	output = &DeleteBranchOutput{}
1981	req = c.newRequest(op, input, output)
1982	return
1983}
1984
1985// DeleteBranch API operation for AWS CodeCommit.
1986//
1987// Deletes a branch from a repository, unless that branch is the default branch
1988// for the repository.
1989//
1990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1991// with awserr.Error's Code and Message methods to get detailed information about
1992// the error.
1993//
1994// See the AWS API reference guide for AWS CodeCommit's
1995// API operation DeleteBranch for usage and error information.
1996//
1997// Returned Error Codes:
1998//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
1999//   A repository name is required, but was not specified.
2000//
2001//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
2002//   The specified repository does not exist.
2003//
2004//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
2005//   A specified repository name is not valid.
2006//
2007//   This exception occurs only when a specified repository name is not valid.
2008//   Other exceptions occur when a required repository parameter is missing, or
2009//   when a specified repository does not exist.
2010//
2011//   * ErrCodeBranchNameRequiredException "BranchNameRequiredException"
2012//   A branch name is required, but was not specified.
2013//
2014//   * ErrCodeInvalidBranchNameException "InvalidBranchNameException"
2015//   The specified reference name is not valid.
2016//
2017//   * ErrCodeDefaultBranchCannotBeDeletedException "DefaultBranchCannotBeDeletedException"
2018//   The specified branch is the default branch for the repository, and cannot
2019//   be deleted. To delete this branch, you must first set another branch as the
2020//   default branch.
2021//
2022//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
2023//   An encryption integrity check failed.
2024//
2025//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
2026//   An encryption key could not be accessed.
2027//
2028//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
2029//   The encryption key is disabled.
2030//
2031//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
2032//   No encryption key was found.
2033//
2034//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
2035//   The encryption key is not available.
2036//
2037// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteBranch
2038func (c *CodeCommit) DeleteBranch(input *DeleteBranchInput) (*DeleteBranchOutput, error) {
2039	req, out := c.DeleteBranchRequest(input)
2040	return out, req.Send()
2041}
2042
2043// DeleteBranchWithContext is the same as DeleteBranch with the addition of
2044// the ability to pass a context and additional request options.
2045//
2046// See DeleteBranch for details on how to use this API operation.
2047//
2048// The context must be non-nil and will be used for request cancellation. If
2049// the context is nil a panic will occur. In the future the SDK may create
2050// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2051// for more information on using Contexts.
2052func (c *CodeCommit) DeleteBranchWithContext(ctx aws.Context, input *DeleteBranchInput, opts ...request.Option) (*DeleteBranchOutput, error) {
2053	req, out := c.DeleteBranchRequest(input)
2054	req.SetContext(ctx)
2055	req.ApplyOptions(opts...)
2056	return out, req.Send()
2057}
2058
2059const opDeleteCommentContent = "DeleteCommentContent"
2060
2061// DeleteCommentContentRequest generates a "aws/request.Request" representing the
2062// client's request for the DeleteCommentContent operation. The "output" return
2063// value will be populated with the request's response once the request completes
2064// successfully.
2065//
2066// Use "Send" method on the returned Request to send the API call to the service.
2067// the "output" return value is not valid until after Send returns without error.
2068//
2069// See DeleteCommentContent for more information on using the DeleteCommentContent
2070// API call, and error handling.
2071//
2072// This method is useful when you want to inject custom logic or configuration
2073// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2074//
2075//
2076//    // Example sending a request using the DeleteCommentContentRequest method.
2077//    req, resp := client.DeleteCommentContentRequest(params)
2078//
2079//    err := req.Send()
2080//    if err == nil { // resp is now filled
2081//        fmt.Println(resp)
2082//    }
2083//
2084// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteCommentContent
2085func (c *CodeCommit) DeleteCommentContentRequest(input *DeleteCommentContentInput) (req *request.Request, output *DeleteCommentContentOutput) {
2086	op := &request.Operation{
2087		Name:       opDeleteCommentContent,
2088		HTTPMethod: "POST",
2089		HTTPPath:   "/",
2090	}
2091
2092	if input == nil {
2093		input = &DeleteCommentContentInput{}
2094	}
2095
2096	output = &DeleteCommentContentOutput{}
2097	req = c.newRequest(op, input, output)
2098	return
2099}
2100
2101// DeleteCommentContent API operation for AWS CodeCommit.
2102//
2103// Deletes the content of a comment made on a change, file, or commit in a repository.
2104//
2105// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2106// with awserr.Error's Code and Message methods to get detailed information about
2107// the error.
2108//
2109// See the AWS API reference guide for AWS CodeCommit's
2110// API operation DeleteCommentContent for usage and error information.
2111//
2112// Returned Error Codes:
2113//   * ErrCodeCommentDoesNotExistException "CommentDoesNotExistException"
2114//   No comment exists with the provided ID. Verify that you have used the correct
2115//   ID, and then try again.
2116//
2117//   * ErrCodeCommentIdRequiredException "CommentIdRequiredException"
2118//   The comment ID is missing or null. A comment ID is required.
2119//
2120//   * ErrCodeInvalidCommentIdException "InvalidCommentIdException"
2121//   The comment ID is not in a valid format. Make sure that you have provided
2122//   the full comment ID.
2123//
2124//   * ErrCodeCommentDeletedException "CommentDeletedException"
2125//   This comment has already been deleted. You cannot edit or delete a deleted
2126//   comment.
2127//
2128// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteCommentContent
2129func (c *CodeCommit) DeleteCommentContent(input *DeleteCommentContentInput) (*DeleteCommentContentOutput, error) {
2130	req, out := c.DeleteCommentContentRequest(input)
2131	return out, req.Send()
2132}
2133
2134// DeleteCommentContentWithContext is the same as DeleteCommentContent with the addition of
2135// the ability to pass a context and additional request options.
2136//
2137// See DeleteCommentContent for details on how to use this API operation.
2138//
2139// The context must be non-nil and will be used for request cancellation. If
2140// the context is nil a panic will occur. In the future the SDK may create
2141// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2142// for more information on using Contexts.
2143func (c *CodeCommit) DeleteCommentContentWithContext(ctx aws.Context, input *DeleteCommentContentInput, opts ...request.Option) (*DeleteCommentContentOutput, error) {
2144	req, out := c.DeleteCommentContentRequest(input)
2145	req.SetContext(ctx)
2146	req.ApplyOptions(opts...)
2147	return out, req.Send()
2148}
2149
2150const opDeleteFile = "DeleteFile"
2151
2152// DeleteFileRequest generates a "aws/request.Request" representing the
2153// client's request for the DeleteFile operation. The "output" return
2154// value will be populated with the request's response once the request completes
2155// successfully.
2156//
2157// Use "Send" method on the returned Request to send the API call to the service.
2158// the "output" return value is not valid until after Send returns without error.
2159//
2160// See DeleteFile for more information on using the DeleteFile
2161// API call, and error handling.
2162//
2163// This method is useful when you want to inject custom logic or configuration
2164// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2165//
2166//
2167//    // Example sending a request using the DeleteFileRequest method.
2168//    req, resp := client.DeleteFileRequest(params)
2169//
2170//    err := req.Send()
2171//    if err == nil { // resp is now filled
2172//        fmt.Println(resp)
2173//    }
2174//
2175// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteFile
2176func (c *CodeCommit) DeleteFileRequest(input *DeleteFileInput) (req *request.Request, output *DeleteFileOutput) {
2177	op := &request.Operation{
2178		Name:       opDeleteFile,
2179		HTTPMethod: "POST",
2180		HTTPPath:   "/",
2181	}
2182
2183	if input == nil {
2184		input = &DeleteFileInput{}
2185	}
2186
2187	output = &DeleteFileOutput{}
2188	req = c.newRequest(op, input, output)
2189	return
2190}
2191
2192// DeleteFile API operation for AWS CodeCommit.
2193//
2194// Deletes a specified file from a specified branch. A commit is created on
2195// the branch that contains the revision. The file still exists in the commits
2196// earlier to the commit that contains the deletion.
2197//
2198// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2199// with awserr.Error's Code and Message methods to get detailed information about
2200// the error.
2201//
2202// See the AWS API reference guide for AWS CodeCommit's
2203// API operation DeleteFile for usage and error information.
2204//
2205// Returned Error Codes:
2206//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
2207//   A repository name is required, but was not specified.
2208//
2209//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
2210//   A specified repository name is not valid.
2211//
2212//   This exception occurs only when a specified repository name is not valid.
2213//   Other exceptions occur when a required repository parameter is missing, or
2214//   when a specified repository does not exist.
2215//
2216//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
2217//   The specified repository does not exist.
2218//
2219//   * ErrCodeParentCommitIdRequiredException "ParentCommitIdRequiredException"
2220//   A parent commit ID is required. To view the full commit ID of a branch in
2221//   a repository, use GetBranch or a Git command (for example, git pull or git
2222//   log).
2223//
2224//   * ErrCodeInvalidParentCommitIdException "InvalidParentCommitIdException"
2225//   The parent commit ID is not valid. The commit ID cannot be empty, and must
2226//   match the head commit ID for the branch of the repository where you want
2227//   to add or update a file.
2228//
2229//   * ErrCodeParentCommitDoesNotExistException "ParentCommitDoesNotExistException"
2230//   The parent commit ID is not valid because it does not exist. The specified
2231//   parent commit ID does not exist in the specified branch of the repository.
2232//
2233//   * ErrCodeParentCommitIdOutdatedException "ParentCommitIdOutdatedException"
2234//   The file could not be added because the provided parent commit ID is not
2235//   the current tip of the specified branch. To view the full commit ID of the
2236//   current head of the branch, use GetBranch.
2237//
2238//   * ErrCodePathRequiredException "PathRequiredException"
2239//   The folderPath for a location cannot be null.
2240//
2241//   * ErrCodeInvalidPathException "InvalidPathException"
2242//   The specified path is not valid.
2243//
2244//   * ErrCodeFileDoesNotExistException "FileDoesNotExistException"
2245//   The specified file does not exist. Verify that you have used the correct
2246//   file name, full path, and extension.
2247//
2248//   * ErrCodeBranchNameRequiredException "BranchNameRequiredException"
2249//   A branch name is required, but was not specified.
2250//
2251//   * ErrCodeInvalidBranchNameException "InvalidBranchNameException"
2252//   The specified reference name is not valid.
2253//
2254//   * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException"
2255//   The specified branch does not exist.
2256//
2257//   * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException"
2258//   The specified branch name is not valid because it is a tag name. Enter the
2259//   name of a branch in the repository. For a list of valid branch names, use
2260//   ListBranches.
2261//
2262//   * ErrCodeNameLengthExceededException "NameLengthExceededException"
2263//   The user name is not valid because it has exceeded the character limit for
2264//   author names.
2265//
2266//   * ErrCodeInvalidEmailException "InvalidEmailException"
2267//   The specified email address either contains one or more characters that are
2268//   not allowed, or it exceeds the maximum number of characters allowed for an
2269//   email address.
2270//
2271//   * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException"
2272//   The commit message is too long. Provide a shorter string.
2273//
2274//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
2275//   An encryption integrity check failed.
2276//
2277//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
2278//   An encryption key could not be accessed.
2279//
2280//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
2281//   The encryption key is disabled.
2282//
2283//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
2284//   No encryption key was found.
2285//
2286//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
2287//   The encryption key is not available.
2288//
2289// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteFile
2290func (c *CodeCommit) DeleteFile(input *DeleteFileInput) (*DeleteFileOutput, error) {
2291	req, out := c.DeleteFileRequest(input)
2292	return out, req.Send()
2293}
2294
2295// DeleteFileWithContext is the same as DeleteFile with the addition of
2296// the ability to pass a context and additional request options.
2297//
2298// See DeleteFile for details on how to use this API operation.
2299//
2300// The context must be non-nil and will be used for request cancellation. If
2301// the context is nil a panic will occur. In the future the SDK may create
2302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2303// for more information on using Contexts.
2304func (c *CodeCommit) DeleteFileWithContext(ctx aws.Context, input *DeleteFileInput, opts ...request.Option) (*DeleteFileOutput, error) {
2305	req, out := c.DeleteFileRequest(input)
2306	req.SetContext(ctx)
2307	req.ApplyOptions(opts...)
2308	return out, req.Send()
2309}
2310
2311const opDeletePullRequestApprovalRule = "DeletePullRequestApprovalRule"
2312
2313// DeletePullRequestApprovalRuleRequest generates a "aws/request.Request" representing the
2314// client's request for the DeletePullRequestApprovalRule operation. The "output" return
2315// value will be populated with the request's response once the request completes
2316// successfully.
2317//
2318// Use "Send" method on the returned Request to send the API call to the service.
2319// the "output" return value is not valid until after Send returns without error.
2320//
2321// See DeletePullRequestApprovalRule for more information on using the DeletePullRequestApprovalRule
2322// API call, and error handling.
2323//
2324// This method is useful when you want to inject custom logic or configuration
2325// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2326//
2327//
2328//    // Example sending a request using the DeletePullRequestApprovalRuleRequest method.
2329//    req, resp := client.DeletePullRequestApprovalRuleRequest(params)
2330//
2331//    err := req.Send()
2332//    if err == nil { // resp is now filled
2333//        fmt.Println(resp)
2334//    }
2335//
2336// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeletePullRequestApprovalRule
2337func (c *CodeCommit) DeletePullRequestApprovalRuleRequest(input *DeletePullRequestApprovalRuleInput) (req *request.Request, output *DeletePullRequestApprovalRuleOutput) {
2338	op := &request.Operation{
2339		Name:       opDeletePullRequestApprovalRule,
2340		HTTPMethod: "POST",
2341		HTTPPath:   "/",
2342	}
2343
2344	if input == nil {
2345		input = &DeletePullRequestApprovalRuleInput{}
2346	}
2347
2348	output = &DeletePullRequestApprovalRuleOutput{}
2349	req = c.newRequest(op, input, output)
2350	return
2351}
2352
2353// DeletePullRequestApprovalRule API operation for AWS CodeCommit.
2354//
2355// Deletes an approval rule from a specified pull request. Approval rules can
2356// be deleted from a pull request only if the pull request is open, and if the
2357// approval rule was created specifically for a pull request and not generated
2358// from an approval rule template associated with the repository where the pull
2359// request was created. You cannot delete an approval rule from a merged or
2360// closed pull request.
2361//
2362// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2363// with awserr.Error's Code and Message methods to get detailed information about
2364// the error.
2365//
2366// See the AWS API reference guide for AWS CodeCommit's
2367// API operation DeletePullRequestApprovalRule for usage and error information.
2368//
2369// Returned Error Codes:
2370//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
2371//   The pull request ID could not be found. Make sure that you have specified
2372//   the correct repository name and pull request ID, and then try again.
2373//
2374//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
2375//   The pull request ID is not valid. Make sure that you have provided the full
2376//   ID and that the pull request is in the specified repository, and then try
2377//   again.
2378//
2379//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
2380//   A pull request ID is required, but none was provided.
2381//
2382//   * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException"
2383//   The pull request status cannot be updated because it is already closed.
2384//
2385//   * ErrCodeApprovalRuleNameRequiredException "ApprovalRuleNameRequiredException"
2386//   An approval rule name is required, but was not specified.
2387//
2388//   * ErrCodeInvalidApprovalRuleNameException "InvalidApprovalRuleNameException"
2389//   The name for the approval rule is not valid.
2390//
2391//   * ErrCodeCannotDeleteApprovalRuleFromTemplateException "CannotDeleteApprovalRuleFromTemplateException"
2392//   The approval rule cannot be deleted from the pull request because it was
2393//   created by an approval rule template and applied to the pull request automatically.
2394//
2395//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
2396//   An encryption integrity check failed.
2397//
2398//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
2399//   An encryption key could not be accessed.
2400//
2401//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
2402//   The encryption key is disabled.
2403//
2404//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
2405//   No encryption key was found.
2406//
2407//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
2408//   The encryption key is not available.
2409//
2410// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeletePullRequestApprovalRule
2411func (c *CodeCommit) DeletePullRequestApprovalRule(input *DeletePullRequestApprovalRuleInput) (*DeletePullRequestApprovalRuleOutput, error) {
2412	req, out := c.DeletePullRequestApprovalRuleRequest(input)
2413	return out, req.Send()
2414}
2415
2416// DeletePullRequestApprovalRuleWithContext is the same as DeletePullRequestApprovalRule with the addition of
2417// the ability to pass a context and additional request options.
2418//
2419// See DeletePullRequestApprovalRule for details on how to use this API operation.
2420//
2421// The context must be non-nil and will be used for request cancellation. If
2422// the context is nil a panic will occur. In the future the SDK may create
2423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2424// for more information on using Contexts.
2425func (c *CodeCommit) DeletePullRequestApprovalRuleWithContext(ctx aws.Context, input *DeletePullRequestApprovalRuleInput, opts ...request.Option) (*DeletePullRequestApprovalRuleOutput, error) {
2426	req, out := c.DeletePullRequestApprovalRuleRequest(input)
2427	req.SetContext(ctx)
2428	req.ApplyOptions(opts...)
2429	return out, req.Send()
2430}
2431
2432const opDeleteRepository = "DeleteRepository"
2433
2434// DeleteRepositoryRequest generates a "aws/request.Request" representing the
2435// client's request for the DeleteRepository operation. The "output" return
2436// value will be populated with the request's response once the request completes
2437// successfully.
2438//
2439// Use "Send" method on the returned Request to send the API call to the service.
2440// the "output" return value is not valid until after Send returns without error.
2441//
2442// See DeleteRepository for more information on using the DeleteRepository
2443// API call, and error handling.
2444//
2445// This method is useful when you want to inject custom logic or configuration
2446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2447//
2448//
2449//    // Example sending a request using the DeleteRepositoryRequest method.
2450//    req, resp := client.DeleteRepositoryRequest(params)
2451//
2452//    err := req.Send()
2453//    if err == nil { // resp is now filled
2454//        fmt.Println(resp)
2455//    }
2456//
2457// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteRepository
2458func (c *CodeCommit) DeleteRepositoryRequest(input *DeleteRepositoryInput) (req *request.Request, output *DeleteRepositoryOutput) {
2459	op := &request.Operation{
2460		Name:       opDeleteRepository,
2461		HTTPMethod: "POST",
2462		HTTPPath:   "/",
2463	}
2464
2465	if input == nil {
2466		input = &DeleteRepositoryInput{}
2467	}
2468
2469	output = &DeleteRepositoryOutput{}
2470	req = c.newRequest(op, input, output)
2471	return
2472}
2473
2474// DeleteRepository API operation for AWS CodeCommit.
2475//
2476// Deletes a repository. If a specified repository was already deleted, a null
2477// repository ID is returned.
2478//
2479// Deleting a repository also deletes all associated objects and metadata. After
2480// a repository is deleted, all future push calls to the deleted repository
2481// fail.
2482//
2483// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2484// with awserr.Error's Code and Message methods to get detailed information about
2485// the error.
2486//
2487// See the AWS API reference guide for AWS CodeCommit's
2488// API operation DeleteRepository for usage and error information.
2489//
2490// Returned Error Codes:
2491//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
2492//   A repository name is required, but was not specified.
2493//
2494//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
2495//   A specified repository name is not valid.
2496//
2497//   This exception occurs only when a specified repository name is not valid.
2498//   Other exceptions occur when a required repository parameter is missing, or
2499//   when a specified repository does not exist.
2500//
2501//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
2502//   An encryption integrity check failed.
2503//
2504//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
2505//   An encryption key could not be accessed.
2506//
2507//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
2508//   The encryption key is disabled.
2509//
2510//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
2511//   No encryption key was found.
2512//
2513//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
2514//   The encryption key is not available.
2515//
2516// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DeleteRepository
2517func (c *CodeCommit) DeleteRepository(input *DeleteRepositoryInput) (*DeleteRepositoryOutput, error) {
2518	req, out := c.DeleteRepositoryRequest(input)
2519	return out, req.Send()
2520}
2521
2522// DeleteRepositoryWithContext is the same as DeleteRepository with the addition of
2523// the ability to pass a context and additional request options.
2524//
2525// See DeleteRepository for details on how to use this API operation.
2526//
2527// The context must be non-nil and will be used for request cancellation. If
2528// the context is nil a panic will occur. In the future the SDK may create
2529// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2530// for more information on using Contexts.
2531func (c *CodeCommit) DeleteRepositoryWithContext(ctx aws.Context, input *DeleteRepositoryInput, opts ...request.Option) (*DeleteRepositoryOutput, error) {
2532	req, out := c.DeleteRepositoryRequest(input)
2533	req.SetContext(ctx)
2534	req.ApplyOptions(opts...)
2535	return out, req.Send()
2536}
2537
2538const opDescribeMergeConflicts = "DescribeMergeConflicts"
2539
2540// DescribeMergeConflictsRequest generates a "aws/request.Request" representing the
2541// client's request for the DescribeMergeConflicts operation. The "output" return
2542// value will be populated with the request's response once the request completes
2543// successfully.
2544//
2545// Use "Send" method on the returned Request to send the API call to the service.
2546// the "output" return value is not valid until after Send returns without error.
2547//
2548// See DescribeMergeConflicts for more information on using the DescribeMergeConflicts
2549// API call, and error handling.
2550//
2551// This method is useful when you want to inject custom logic or configuration
2552// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2553//
2554//
2555//    // Example sending a request using the DescribeMergeConflictsRequest method.
2556//    req, resp := client.DescribeMergeConflictsRequest(params)
2557//
2558//    err := req.Send()
2559//    if err == nil { // resp is now filled
2560//        fmt.Println(resp)
2561//    }
2562//
2563// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DescribeMergeConflicts
2564func (c *CodeCommit) DescribeMergeConflictsRequest(input *DescribeMergeConflictsInput) (req *request.Request, output *DescribeMergeConflictsOutput) {
2565	op := &request.Operation{
2566		Name:       opDescribeMergeConflicts,
2567		HTTPMethod: "POST",
2568		HTTPPath:   "/",
2569		Paginator: &request.Paginator{
2570			InputTokens:     []string{"nextToken"},
2571			OutputTokens:    []string{"nextToken"},
2572			LimitToken:      "maxMergeHunks",
2573			TruncationToken: "",
2574		},
2575	}
2576
2577	if input == nil {
2578		input = &DescribeMergeConflictsInput{}
2579	}
2580
2581	output = &DescribeMergeConflictsOutput{}
2582	req = c.newRequest(op, input, output)
2583	return
2584}
2585
2586// DescribeMergeConflicts API operation for AWS CodeCommit.
2587//
2588// Returns information about one or more merge conflicts in the attempted merge
2589// of two commit specifiers using the squash or three-way merge strategy. If
2590// the merge option for the attempted merge is specified as FAST_FORWARD_MERGE,
2591// an exception is thrown.
2592//
2593// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2594// with awserr.Error's Code and Message methods to get detailed information about
2595// the error.
2596//
2597// See the AWS API reference guide for AWS CodeCommit's
2598// API operation DescribeMergeConflicts for usage and error information.
2599//
2600// Returned Error Codes:
2601//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
2602//   A repository name is required, but was not specified.
2603//
2604//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
2605//   A specified repository name is not valid.
2606//
2607//   This exception occurs only when a specified repository name is not valid.
2608//   Other exceptions occur when a required repository parameter is missing, or
2609//   when a specified repository does not exist.
2610//
2611//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
2612//   The specified repository does not exist.
2613//
2614//   * ErrCodeMergeOptionRequiredException "MergeOptionRequiredException"
2615//   A merge option or stategy is required, and none was provided.
2616//
2617//   * ErrCodeInvalidMergeOptionException "InvalidMergeOptionException"
2618//   The specified merge option is not valid for this operation. Not all merge
2619//   strategies are supported for all operations.
2620//
2621//   * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException"
2622//   The specified continuation token is not valid.
2623//
2624//   * ErrCodeCommitRequiredException "CommitRequiredException"
2625//   A commit was not specified.
2626//
2627//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
2628//   The specified commit does not exist or no commit was specified, and the specified
2629//   repository has no default branch.
2630//
2631//   * ErrCodeInvalidCommitException "InvalidCommitException"
2632//   The specified commit is not valid.
2633//
2634//   * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException"
2635//   The divergence between the tips of the provided commit specifiers is too
2636//   great to determine whether there might be any merge conflicts. Locally compare
2637//   the specifiers using git diff or a diff tool.
2638//
2639//   * ErrCodePathRequiredException "PathRequiredException"
2640//   The folderPath for a location cannot be null.
2641//
2642//   * ErrCodeInvalidPathException "InvalidPathException"
2643//   The specified path is not valid.
2644//
2645//   * ErrCodeFileDoesNotExistException "FileDoesNotExistException"
2646//   The specified file does not exist. Verify that you have used the correct
2647//   file name, full path, and extension.
2648//
2649//   * ErrCodeInvalidMaxMergeHunksException "InvalidMaxMergeHunksException"
2650//   The specified value for the number of merge hunks to return is not valid.
2651//
2652//   * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException"
2653//   The specified conflict detail level is not valid.
2654//
2655//   * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException"
2656//   The specified conflict resolution strategy is not valid.
2657//
2658//   * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException"
2659//   The number of files to load exceeds the allowed limit.
2660//
2661//   * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException"
2662//   The number of items to compare between the source or destination branches
2663//   and the merge base has exceeded the maximum allowed.
2664//
2665//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
2666//   An encryption integrity check failed.
2667//
2668//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
2669//   An encryption key could not be accessed.
2670//
2671//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
2672//   The encryption key is disabled.
2673//
2674//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
2675//   No encryption key was found.
2676//
2677//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
2678//   The encryption key is not available.
2679//
2680// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DescribeMergeConflicts
2681func (c *CodeCommit) DescribeMergeConflicts(input *DescribeMergeConflictsInput) (*DescribeMergeConflictsOutput, error) {
2682	req, out := c.DescribeMergeConflictsRequest(input)
2683	return out, req.Send()
2684}
2685
2686// DescribeMergeConflictsWithContext is the same as DescribeMergeConflicts with the addition of
2687// the ability to pass a context and additional request options.
2688//
2689// See DescribeMergeConflicts for details on how to use this API operation.
2690//
2691// The context must be non-nil and will be used for request cancellation. If
2692// the context is nil a panic will occur. In the future the SDK may create
2693// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2694// for more information on using Contexts.
2695func (c *CodeCommit) DescribeMergeConflictsWithContext(ctx aws.Context, input *DescribeMergeConflictsInput, opts ...request.Option) (*DescribeMergeConflictsOutput, error) {
2696	req, out := c.DescribeMergeConflictsRequest(input)
2697	req.SetContext(ctx)
2698	req.ApplyOptions(opts...)
2699	return out, req.Send()
2700}
2701
2702// DescribeMergeConflictsPages iterates over the pages of a DescribeMergeConflicts operation,
2703// calling the "fn" function with the response data for each page. To stop
2704// iterating, return false from the fn function.
2705//
2706// See DescribeMergeConflicts method for more information on how to use this operation.
2707//
2708// Note: This operation can generate multiple requests to a service.
2709//
2710//    // Example iterating over at most 3 pages of a DescribeMergeConflicts operation.
2711//    pageNum := 0
2712//    err := client.DescribeMergeConflictsPages(params,
2713//        func(page *codecommit.DescribeMergeConflictsOutput, lastPage bool) bool {
2714//            pageNum++
2715//            fmt.Println(page)
2716//            return pageNum <= 3
2717//        })
2718//
2719func (c *CodeCommit) DescribeMergeConflictsPages(input *DescribeMergeConflictsInput, fn func(*DescribeMergeConflictsOutput, bool) bool) error {
2720	return c.DescribeMergeConflictsPagesWithContext(aws.BackgroundContext(), input, fn)
2721}
2722
2723// DescribeMergeConflictsPagesWithContext same as DescribeMergeConflictsPages except
2724// it takes a Context and allows setting request options on the pages.
2725//
2726// The context must be non-nil and will be used for request cancellation. If
2727// the context is nil a panic will occur. In the future the SDK may create
2728// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2729// for more information on using Contexts.
2730func (c *CodeCommit) DescribeMergeConflictsPagesWithContext(ctx aws.Context, input *DescribeMergeConflictsInput, fn func(*DescribeMergeConflictsOutput, bool) bool, opts ...request.Option) error {
2731	p := request.Pagination{
2732		NewRequest: func() (*request.Request, error) {
2733			var inCpy *DescribeMergeConflictsInput
2734			if input != nil {
2735				tmp := *input
2736				inCpy = &tmp
2737			}
2738			req, _ := c.DescribeMergeConflictsRequest(inCpy)
2739			req.SetContext(ctx)
2740			req.ApplyOptions(opts...)
2741			return req, nil
2742		},
2743	}
2744
2745	for p.Next() {
2746		if !fn(p.Page().(*DescribeMergeConflictsOutput), !p.HasNextPage()) {
2747			break
2748		}
2749	}
2750
2751	return p.Err()
2752}
2753
2754const opDescribePullRequestEvents = "DescribePullRequestEvents"
2755
2756// DescribePullRequestEventsRequest generates a "aws/request.Request" representing the
2757// client's request for the DescribePullRequestEvents operation. The "output" return
2758// value will be populated with the request's response once the request completes
2759// successfully.
2760//
2761// Use "Send" method on the returned Request to send the API call to the service.
2762// the "output" return value is not valid until after Send returns without error.
2763//
2764// See DescribePullRequestEvents for more information on using the DescribePullRequestEvents
2765// API call, and error handling.
2766//
2767// This method is useful when you want to inject custom logic or configuration
2768// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2769//
2770//
2771//    // Example sending a request using the DescribePullRequestEventsRequest method.
2772//    req, resp := client.DescribePullRequestEventsRequest(params)
2773//
2774//    err := req.Send()
2775//    if err == nil { // resp is now filled
2776//        fmt.Println(resp)
2777//    }
2778//
2779// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DescribePullRequestEvents
2780func (c *CodeCommit) DescribePullRequestEventsRequest(input *DescribePullRequestEventsInput) (req *request.Request, output *DescribePullRequestEventsOutput) {
2781	op := &request.Operation{
2782		Name:       opDescribePullRequestEvents,
2783		HTTPMethod: "POST",
2784		HTTPPath:   "/",
2785		Paginator: &request.Paginator{
2786			InputTokens:     []string{"nextToken"},
2787			OutputTokens:    []string{"nextToken"},
2788			LimitToken:      "maxResults",
2789			TruncationToken: "",
2790		},
2791	}
2792
2793	if input == nil {
2794		input = &DescribePullRequestEventsInput{}
2795	}
2796
2797	output = &DescribePullRequestEventsOutput{}
2798	req = c.newRequest(op, input, output)
2799	return
2800}
2801
2802// DescribePullRequestEvents API operation for AWS CodeCommit.
2803//
2804// Returns information about one or more pull request events.
2805//
2806// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2807// with awserr.Error's Code and Message methods to get detailed information about
2808// the error.
2809//
2810// See the AWS API reference guide for AWS CodeCommit's
2811// API operation DescribePullRequestEvents for usage and error information.
2812//
2813// Returned Error Codes:
2814//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
2815//   The pull request ID could not be found. Make sure that you have specified
2816//   the correct repository name and pull request ID, and then try again.
2817//
2818//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
2819//   The pull request ID is not valid. Make sure that you have provided the full
2820//   ID and that the pull request is in the specified repository, and then try
2821//   again.
2822//
2823//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
2824//   A pull request ID is required, but none was provided.
2825//
2826//   * ErrCodeInvalidPullRequestEventTypeException "InvalidPullRequestEventTypeException"
2827//   The pull request event type is not valid.
2828//
2829//   * ErrCodeInvalidActorArnException "InvalidActorArnException"
2830//   The Amazon Resource Name (ARN) is not valid. Make sure that you have provided
2831//   the full ARN for the user who initiated the change for the pull request,
2832//   and then try again.
2833//
2834//   * ErrCodeActorDoesNotExistException "ActorDoesNotExistException"
2835//   The specified Amazon Resource Name (ARN) does not exist in the AWS account.
2836//
2837//   * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException"
2838//   The specified number of maximum results is not valid.
2839//
2840//   * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException"
2841//   The specified continuation token is not valid.
2842//
2843//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
2844//   An encryption integrity check failed.
2845//
2846//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
2847//   An encryption key could not be accessed.
2848//
2849//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
2850//   The encryption key is disabled.
2851//
2852//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
2853//   No encryption key was found.
2854//
2855//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
2856//   The encryption key is not available.
2857//
2858// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DescribePullRequestEvents
2859func (c *CodeCommit) DescribePullRequestEvents(input *DescribePullRequestEventsInput) (*DescribePullRequestEventsOutput, error) {
2860	req, out := c.DescribePullRequestEventsRequest(input)
2861	return out, req.Send()
2862}
2863
2864// DescribePullRequestEventsWithContext is the same as DescribePullRequestEvents with the addition of
2865// the ability to pass a context and additional request options.
2866//
2867// See DescribePullRequestEvents for details on how to use this API operation.
2868//
2869// The context must be non-nil and will be used for request cancellation. If
2870// the context is nil a panic will occur. In the future the SDK may create
2871// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2872// for more information on using Contexts.
2873func (c *CodeCommit) DescribePullRequestEventsWithContext(ctx aws.Context, input *DescribePullRequestEventsInput, opts ...request.Option) (*DescribePullRequestEventsOutput, error) {
2874	req, out := c.DescribePullRequestEventsRequest(input)
2875	req.SetContext(ctx)
2876	req.ApplyOptions(opts...)
2877	return out, req.Send()
2878}
2879
2880// DescribePullRequestEventsPages iterates over the pages of a DescribePullRequestEvents operation,
2881// calling the "fn" function with the response data for each page. To stop
2882// iterating, return false from the fn function.
2883//
2884// See DescribePullRequestEvents method for more information on how to use this operation.
2885//
2886// Note: This operation can generate multiple requests to a service.
2887//
2888//    // Example iterating over at most 3 pages of a DescribePullRequestEvents operation.
2889//    pageNum := 0
2890//    err := client.DescribePullRequestEventsPages(params,
2891//        func(page *codecommit.DescribePullRequestEventsOutput, lastPage bool) bool {
2892//            pageNum++
2893//            fmt.Println(page)
2894//            return pageNum <= 3
2895//        })
2896//
2897func (c *CodeCommit) DescribePullRequestEventsPages(input *DescribePullRequestEventsInput, fn func(*DescribePullRequestEventsOutput, bool) bool) error {
2898	return c.DescribePullRequestEventsPagesWithContext(aws.BackgroundContext(), input, fn)
2899}
2900
2901// DescribePullRequestEventsPagesWithContext same as DescribePullRequestEventsPages except
2902// it takes a Context and allows setting request options on the pages.
2903//
2904// The context must be non-nil and will be used for request cancellation. If
2905// the context is nil a panic will occur. In the future the SDK may create
2906// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2907// for more information on using Contexts.
2908func (c *CodeCommit) DescribePullRequestEventsPagesWithContext(ctx aws.Context, input *DescribePullRequestEventsInput, fn func(*DescribePullRequestEventsOutput, bool) bool, opts ...request.Option) error {
2909	p := request.Pagination{
2910		NewRequest: func() (*request.Request, error) {
2911			var inCpy *DescribePullRequestEventsInput
2912			if input != nil {
2913				tmp := *input
2914				inCpy = &tmp
2915			}
2916			req, _ := c.DescribePullRequestEventsRequest(inCpy)
2917			req.SetContext(ctx)
2918			req.ApplyOptions(opts...)
2919			return req, nil
2920		},
2921	}
2922
2923	for p.Next() {
2924		if !fn(p.Page().(*DescribePullRequestEventsOutput), !p.HasNextPage()) {
2925			break
2926		}
2927	}
2928
2929	return p.Err()
2930}
2931
2932const opDisassociateApprovalRuleTemplateFromRepository = "DisassociateApprovalRuleTemplateFromRepository"
2933
2934// DisassociateApprovalRuleTemplateFromRepositoryRequest generates a "aws/request.Request" representing the
2935// client's request for the DisassociateApprovalRuleTemplateFromRepository operation. The "output" return
2936// value will be populated with the request's response once the request completes
2937// successfully.
2938//
2939// Use "Send" method on the returned Request to send the API call to the service.
2940// the "output" return value is not valid until after Send returns without error.
2941//
2942// See DisassociateApprovalRuleTemplateFromRepository for more information on using the DisassociateApprovalRuleTemplateFromRepository
2943// API call, and error handling.
2944//
2945// This method is useful when you want to inject custom logic or configuration
2946// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2947//
2948//
2949//    // Example sending a request using the DisassociateApprovalRuleTemplateFromRepositoryRequest method.
2950//    req, resp := client.DisassociateApprovalRuleTemplateFromRepositoryRequest(params)
2951//
2952//    err := req.Send()
2953//    if err == nil { // resp is now filled
2954//        fmt.Println(resp)
2955//    }
2956//
2957// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DisassociateApprovalRuleTemplateFromRepository
2958func (c *CodeCommit) DisassociateApprovalRuleTemplateFromRepositoryRequest(input *DisassociateApprovalRuleTemplateFromRepositoryInput) (req *request.Request, output *DisassociateApprovalRuleTemplateFromRepositoryOutput) {
2959	op := &request.Operation{
2960		Name:       opDisassociateApprovalRuleTemplateFromRepository,
2961		HTTPMethod: "POST",
2962		HTTPPath:   "/",
2963	}
2964
2965	if input == nil {
2966		input = &DisassociateApprovalRuleTemplateFromRepositoryInput{}
2967	}
2968
2969	output = &DisassociateApprovalRuleTemplateFromRepositoryOutput{}
2970	req = c.newRequest(op, input, output)
2971	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2972	return
2973}
2974
2975// DisassociateApprovalRuleTemplateFromRepository API operation for AWS CodeCommit.
2976//
2977// Removes the association between a template and a repository so that approval
2978// rules based on the template are not automatically created when pull requests
2979// are created in the specified repository. This does not delete any approval
2980// rules previously created for pull requests through the template association.
2981//
2982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2983// with awserr.Error's Code and Message methods to get detailed information about
2984// the error.
2985//
2986// See the AWS API reference guide for AWS CodeCommit's
2987// API operation DisassociateApprovalRuleTemplateFromRepository for usage and error information.
2988//
2989// Returned Error Codes:
2990//   * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException"
2991//   An approval rule template name is required, but was not specified.
2992//
2993//   * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException"
2994//   The name of the approval rule template is not valid. Template names must
2995//   be between 1 and 100 valid characters in length. For more information about
2996//   limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
2997//
2998//   * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException"
2999//   The specified approval rule template does not exist. Verify that the name
3000//   is correct and that you are signed in to the AWS Region where the template
3001//   was created, and then try again.
3002//
3003//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
3004//   A repository name is required, but was not specified.
3005//
3006//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
3007//   A specified repository name is not valid.
3008//
3009//   This exception occurs only when a specified repository name is not valid.
3010//   Other exceptions occur when a required repository parameter is missing, or
3011//   when a specified repository does not exist.
3012//
3013//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
3014//   The specified repository does not exist.
3015//
3016//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
3017//   An encryption integrity check failed.
3018//
3019//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
3020//   An encryption key could not be accessed.
3021//
3022//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
3023//   The encryption key is disabled.
3024//
3025//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
3026//   No encryption key was found.
3027//
3028//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
3029//   The encryption key is not available.
3030//
3031// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/DisassociateApprovalRuleTemplateFromRepository
3032func (c *CodeCommit) DisassociateApprovalRuleTemplateFromRepository(input *DisassociateApprovalRuleTemplateFromRepositoryInput) (*DisassociateApprovalRuleTemplateFromRepositoryOutput, error) {
3033	req, out := c.DisassociateApprovalRuleTemplateFromRepositoryRequest(input)
3034	return out, req.Send()
3035}
3036
3037// DisassociateApprovalRuleTemplateFromRepositoryWithContext is the same as DisassociateApprovalRuleTemplateFromRepository with the addition of
3038// the ability to pass a context and additional request options.
3039//
3040// See DisassociateApprovalRuleTemplateFromRepository for details on how to use this API operation.
3041//
3042// The context must be non-nil and will be used for request cancellation. If
3043// the context is nil a panic will occur. In the future the SDK may create
3044// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3045// for more information on using Contexts.
3046func (c *CodeCommit) DisassociateApprovalRuleTemplateFromRepositoryWithContext(ctx aws.Context, input *DisassociateApprovalRuleTemplateFromRepositoryInput, opts ...request.Option) (*DisassociateApprovalRuleTemplateFromRepositoryOutput, error) {
3047	req, out := c.DisassociateApprovalRuleTemplateFromRepositoryRequest(input)
3048	req.SetContext(ctx)
3049	req.ApplyOptions(opts...)
3050	return out, req.Send()
3051}
3052
3053const opEvaluatePullRequestApprovalRules = "EvaluatePullRequestApprovalRules"
3054
3055// EvaluatePullRequestApprovalRulesRequest generates a "aws/request.Request" representing the
3056// client's request for the EvaluatePullRequestApprovalRules operation. The "output" return
3057// value will be populated with the request's response once the request completes
3058// successfully.
3059//
3060// Use "Send" method on the returned Request to send the API call to the service.
3061// the "output" return value is not valid until after Send returns without error.
3062//
3063// See EvaluatePullRequestApprovalRules for more information on using the EvaluatePullRequestApprovalRules
3064// API call, and error handling.
3065//
3066// This method is useful when you want to inject custom logic or configuration
3067// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3068//
3069//
3070//    // Example sending a request using the EvaluatePullRequestApprovalRulesRequest method.
3071//    req, resp := client.EvaluatePullRequestApprovalRulesRequest(params)
3072//
3073//    err := req.Send()
3074//    if err == nil { // resp is now filled
3075//        fmt.Println(resp)
3076//    }
3077//
3078// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/EvaluatePullRequestApprovalRules
3079func (c *CodeCommit) EvaluatePullRequestApprovalRulesRequest(input *EvaluatePullRequestApprovalRulesInput) (req *request.Request, output *EvaluatePullRequestApprovalRulesOutput) {
3080	op := &request.Operation{
3081		Name:       opEvaluatePullRequestApprovalRules,
3082		HTTPMethod: "POST",
3083		HTTPPath:   "/",
3084	}
3085
3086	if input == nil {
3087		input = &EvaluatePullRequestApprovalRulesInput{}
3088	}
3089
3090	output = &EvaluatePullRequestApprovalRulesOutput{}
3091	req = c.newRequest(op, input, output)
3092	return
3093}
3094
3095// EvaluatePullRequestApprovalRules API operation for AWS CodeCommit.
3096//
3097// Evaluates whether a pull request has met all the conditions specified in
3098// its associated approval rules.
3099//
3100// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3101// with awserr.Error's Code and Message methods to get detailed information about
3102// the error.
3103//
3104// See the AWS API reference guide for AWS CodeCommit's
3105// API operation EvaluatePullRequestApprovalRules for usage and error information.
3106//
3107// Returned Error Codes:
3108//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
3109//   The pull request ID could not be found. Make sure that you have specified
3110//   the correct repository name and pull request ID, and then try again.
3111//
3112//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
3113//   The pull request ID is not valid. Make sure that you have provided the full
3114//   ID and that the pull request is in the specified repository, and then try
3115//   again.
3116//
3117//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
3118//   A pull request ID is required, but none was provided.
3119//
3120//   * ErrCodeInvalidRevisionIdException "InvalidRevisionIdException"
3121//   The revision ID is not valid. Use GetPullRequest to determine the value.
3122//
3123//   * ErrCodeRevisionIdRequiredException "RevisionIdRequiredException"
3124//   A revision ID is required, but was not provided.
3125//
3126//   * ErrCodeRevisionNotCurrentException "RevisionNotCurrentException"
3127//   The revision ID provided in the request does not match the current revision
3128//   ID. Use GetPullRequest to retrieve the current revision ID.
3129//
3130//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
3131//   An encryption integrity check failed.
3132//
3133//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
3134//   An encryption key could not be accessed.
3135//
3136//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
3137//   The encryption key is disabled.
3138//
3139//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
3140//   No encryption key was found.
3141//
3142//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
3143//   The encryption key is not available.
3144//
3145// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/EvaluatePullRequestApprovalRules
3146func (c *CodeCommit) EvaluatePullRequestApprovalRules(input *EvaluatePullRequestApprovalRulesInput) (*EvaluatePullRequestApprovalRulesOutput, error) {
3147	req, out := c.EvaluatePullRequestApprovalRulesRequest(input)
3148	return out, req.Send()
3149}
3150
3151// EvaluatePullRequestApprovalRulesWithContext is the same as EvaluatePullRequestApprovalRules with the addition of
3152// the ability to pass a context and additional request options.
3153//
3154// See EvaluatePullRequestApprovalRules for details on how to use this API operation.
3155//
3156// The context must be non-nil and will be used for request cancellation. If
3157// the context is nil a panic will occur. In the future the SDK may create
3158// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3159// for more information on using Contexts.
3160func (c *CodeCommit) EvaluatePullRequestApprovalRulesWithContext(ctx aws.Context, input *EvaluatePullRequestApprovalRulesInput, opts ...request.Option) (*EvaluatePullRequestApprovalRulesOutput, error) {
3161	req, out := c.EvaluatePullRequestApprovalRulesRequest(input)
3162	req.SetContext(ctx)
3163	req.ApplyOptions(opts...)
3164	return out, req.Send()
3165}
3166
3167const opGetApprovalRuleTemplate = "GetApprovalRuleTemplate"
3168
3169// GetApprovalRuleTemplateRequest generates a "aws/request.Request" representing the
3170// client's request for the GetApprovalRuleTemplate operation. The "output" return
3171// value will be populated with the request's response once the request completes
3172// successfully.
3173//
3174// Use "Send" method on the returned Request to send the API call to the service.
3175// the "output" return value is not valid until after Send returns without error.
3176//
3177// See GetApprovalRuleTemplate for more information on using the GetApprovalRuleTemplate
3178// API call, and error handling.
3179//
3180// This method is useful when you want to inject custom logic or configuration
3181// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3182//
3183//
3184//    // Example sending a request using the GetApprovalRuleTemplateRequest method.
3185//    req, resp := client.GetApprovalRuleTemplateRequest(params)
3186//
3187//    err := req.Send()
3188//    if err == nil { // resp is now filled
3189//        fmt.Println(resp)
3190//    }
3191//
3192// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetApprovalRuleTemplate
3193func (c *CodeCommit) GetApprovalRuleTemplateRequest(input *GetApprovalRuleTemplateInput) (req *request.Request, output *GetApprovalRuleTemplateOutput) {
3194	op := &request.Operation{
3195		Name:       opGetApprovalRuleTemplate,
3196		HTTPMethod: "POST",
3197		HTTPPath:   "/",
3198	}
3199
3200	if input == nil {
3201		input = &GetApprovalRuleTemplateInput{}
3202	}
3203
3204	output = &GetApprovalRuleTemplateOutput{}
3205	req = c.newRequest(op, input, output)
3206	return
3207}
3208
3209// GetApprovalRuleTemplate API operation for AWS CodeCommit.
3210//
3211// Returns information about a specified approval rule template.
3212//
3213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3214// with awserr.Error's Code and Message methods to get detailed information about
3215// the error.
3216//
3217// See the AWS API reference guide for AWS CodeCommit's
3218// API operation GetApprovalRuleTemplate for usage and error information.
3219//
3220// Returned Error Codes:
3221//   * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException"
3222//   An approval rule template name is required, but was not specified.
3223//
3224//   * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException"
3225//   The name of the approval rule template is not valid. Template names must
3226//   be between 1 and 100 valid characters in length. For more information about
3227//   limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
3228//
3229//   * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException"
3230//   The specified approval rule template does not exist. Verify that the name
3231//   is correct and that you are signed in to the AWS Region where the template
3232//   was created, and then try again.
3233//
3234// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetApprovalRuleTemplate
3235func (c *CodeCommit) GetApprovalRuleTemplate(input *GetApprovalRuleTemplateInput) (*GetApprovalRuleTemplateOutput, error) {
3236	req, out := c.GetApprovalRuleTemplateRequest(input)
3237	return out, req.Send()
3238}
3239
3240// GetApprovalRuleTemplateWithContext is the same as GetApprovalRuleTemplate with the addition of
3241// the ability to pass a context and additional request options.
3242//
3243// See GetApprovalRuleTemplate for details on how to use this API operation.
3244//
3245// The context must be non-nil and will be used for request cancellation. If
3246// the context is nil a panic will occur. In the future the SDK may create
3247// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3248// for more information on using Contexts.
3249func (c *CodeCommit) GetApprovalRuleTemplateWithContext(ctx aws.Context, input *GetApprovalRuleTemplateInput, opts ...request.Option) (*GetApprovalRuleTemplateOutput, error) {
3250	req, out := c.GetApprovalRuleTemplateRequest(input)
3251	req.SetContext(ctx)
3252	req.ApplyOptions(opts...)
3253	return out, req.Send()
3254}
3255
3256const opGetBlob = "GetBlob"
3257
3258// GetBlobRequest generates a "aws/request.Request" representing the
3259// client's request for the GetBlob operation. The "output" return
3260// value will be populated with the request's response once the request completes
3261// successfully.
3262//
3263// Use "Send" method on the returned Request to send the API call to the service.
3264// the "output" return value is not valid until after Send returns without error.
3265//
3266// See GetBlob for more information on using the GetBlob
3267// API call, and error handling.
3268//
3269// This method is useful when you want to inject custom logic or configuration
3270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3271//
3272//
3273//    // Example sending a request using the GetBlobRequest method.
3274//    req, resp := client.GetBlobRequest(params)
3275//
3276//    err := req.Send()
3277//    if err == nil { // resp is now filled
3278//        fmt.Println(resp)
3279//    }
3280//
3281// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetBlob
3282func (c *CodeCommit) GetBlobRequest(input *GetBlobInput) (req *request.Request, output *GetBlobOutput) {
3283	op := &request.Operation{
3284		Name:       opGetBlob,
3285		HTTPMethod: "POST",
3286		HTTPPath:   "/",
3287	}
3288
3289	if input == nil {
3290		input = &GetBlobInput{}
3291	}
3292
3293	output = &GetBlobOutput{}
3294	req = c.newRequest(op, input, output)
3295	return
3296}
3297
3298// GetBlob API operation for AWS CodeCommit.
3299//
3300// Returns the base-64 encoded content of an individual blob in a repository.
3301//
3302// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3303// with awserr.Error's Code and Message methods to get detailed information about
3304// the error.
3305//
3306// See the AWS API reference guide for AWS CodeCommit's
3307// API operation GetBlob for usage and error information.
3308//
3309// Returned Error Codes:
3310//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
3311//   A repository name is required, but was not specified.
3312//
3313//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
3314//   A specified repository name is not valid.
3315//
3316//   This exception occurs only when a specified repository name is not valid.
3317//   Other exceptions occur when a required repository parameter is missing, or
3318//   when a specified repository does not exist.
3319//
3320//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
3321//   The specified repository does not exist.
3322//
3323//   * ErrCodeBlobIdRequiredException "BlobIdRequiredException"
3324//   A blob ID is required, but was not specified.
3325//
3326//   * ErrCodeInvalidBlobIdException "InvalidBlobIdException"
3327//   The specified blob is not valid.
3328//
3329//   * ErrCodeBlobIdDoesNotExistException "BlobIdDoesNotExistException"
3330//   The specified blob does not exist.
3331//
3332//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
3333//   An encryption integrity check failed.
3334//
3335//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
3336//   An encryption key could not be accessed.
3337//
3338//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
3339//   The encryption key is disabled.
3340//
3341//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
3342//   No encryption key was found.
3343//
3344//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
3345//   The encryption key is not available.
3346//
3347//   * ErrCodeFileTooLargeException "FileTooLargeException"
3348//   The specified file exceeds the file size limit for AWS CodeCommit. For more
3349//   information about limits in AWS CodeCommit, see AWS CodeCommit User Guide
3350//   (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
3351//
3352// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetBlob
3353func (c *CodeCommit) GetBlob(input *GetBlobInput) (*GetBlobOutput, error) {
3354	req, out := c.GetBlobRequest(input)
3355	return out, req.Send()
3356}
3357
3358// GetBlobWithContext is the same as GetBlob with the addition of
3359// the ability to pass a context and additional request options.
3360//
3361// See GetBlob for details on how to use this API operation.
3362//
3363// The context must be non-nil and will be used for request cancellation. If
3364// the context is nil a panic will occur. In the future the SDK may create
3365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3366// for more information on using Contexts.
3367func (c *CodeCommit) GetBlobWithContext(ctx aws.Context, input *GetBlobInput, opts ...request.Option) (*GetBlobOutput, error) {
3368	req, out := c.GetBlobRequest(input)
3369	req.SetContext(ctx)
3370	req.ApplyOptions(opts...)
3371	return out, req.Send()
3372}
3373
3374const opGetBranch = "GetBranch"
3375
3376// GetBranchRequest generates a "aws/request.Request" representing the
3377// client's request for the GetBranch operation. The "output" return
3378// value will be populated with the request's response once the request completes
3379// successfully.
3380//
3381// Use "Send" method on the returned Request to send the API call to the service.
3382// the "output" return value is not valid until after Send returns without error.
3383//
3384// See GetBranch for more information on using the GetBranch
3385// API call, and error handling.
3386//
3387// This method is useful when you want to inject custom logic or configuration
3388// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3389//
3390//
3391//    // Example sending a request using the GetBranchRequest method.
3392//    req, resp := client.GetBranchRequest(params)
3393//
3394//    err := req.Send()
3395//    if err == nil { // resp is now filled
3396//        fmt.Println(resp)
3397//    }
3398//
3399// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetBranch
3400func (c *CodeCommit) GetBranchRequest(input *GetBranchInput) (req *request.Request, output *GetBranchOutput) {
3401	op := &request.Operation{
3402		Name:       opGetBranch,
3403		HTTPMethod: "POST",
3404		HTTPPath:   "/",
3405	}
3406
3407	if input == nil {
3408		input = &GetBranchInput{}
3409	}
3410
3411	output = &GetBranchOutput{}
3412	req = c.newRequest(op, input, output)
3413	return
3414}
3415
3416// GetBranch API operation for AWS CodeCommit.
3417//
3418// Returns information about a repository branch, including its name and the
3419// last commit ID.
3420//
3421// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3422// with awserr.Error's Code and Message methods to get detailed information about
3423// the error.
3424//
3425// See the AWS API reference guide for AWS CodeCommit's
3426// API operation GetBranch for usage and error information.
3427//
3428// Returned Error Codes:
3429//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
3430//   A repository name is required, but was not specified.
3431//
3432//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
3433//   The specified repository does not exist.
3434//
3435//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
3436//   A specified repository name is not valid.
3437//
3438//   This exception occurs only when a specified repository name is not valid.
3439//   Other exceptions occur when a required repository parameter is missing, or
3440//   when a specified repository does not exist.
3441//
3442//   * ErrCodeBranchNameRequiredException "BranchNameRequiredException"
3443//   A branch name is required, but was not specified.
3444//
3445//   * ErrCodeInvalidBranchNameException "InvalidBranchNameException"
3446//   The specified reference name is not valid.
3447//
3448//   * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException"
3449//   The specified branch does not exist.
3450//
3451//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
3452//   An encryption integrity check failed.
3453//
3454//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
3455//   An encryption key could not be accessed.
3456//
3457//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
3458//   The encryption key is disabled.
3459//
3460//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
3461//   No encryption key was found.
3462//
3463//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
3464//   The encryption key is not available.
3465//
3466// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetBranch
3467func (c *CodeCommit) GetBranch(input *GetBranchInput) (*GetBranchOutput, error) {
3468	req, out := c.GetBranchRequest(input)
3469	return out, req.Send()
3470}
3471
3472// GetBranchWithContext is the same as GetBranch with the addition of
3473// the ability to pass a context and additional request options.
3474//
3475// See GetBranch for details on how to use this API operation.
3476//
3477// The context must be non-nil and will be used for request cancellation. If
3478// the context is nil a panic will occur. In the future the SDK may create
3479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3480// for more information on using Contexts.
3481func (c *CodeCommit) GetBranchWithContext(ctx aws.Context, input *GetBranchInput, opts ...request.Option) (*GetBranchOutput, error) {
3482	req, out := c.GetBranchRequest(input)
3483	req.SetContext(ctx)
3484	req.ApplyOptions(opts...)
3485	return out, req.Send()
3486}
3487
3488const opGetComment = "GetComment"
3489
3490// GetCommentRequest generates a "aws/request.Request" representing the
3491// client's request for the GetComment operation. The "output" return
3492// value will be populated with the request's response once the request completes
3493// successfully.
3494//
3495// Use "Send" method on the returned Request to send the API call to the service.
3496// the "output" return value is not valid until after Send returns without error.
3497//
3498// See GetComment for more information on using the GetComment
3499// API call, and error handling.
3500//
3501// This method is useful when you want to inject custom logic or configuration
3502// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3503//
3504//
3505//    // Example sending a request using the GetCommentRequest method.
3506//    req, resp := client.GetCommentRequest(params)
3507//
3508//    err := req.Send()
3509//    if err == nil { // resp is now filled
3510//        fmt.Println(resp)
3511//    }
3512//
3513// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetComment
3514func (c *CodeCommit) GetCommentRequest(input *GetCommentInput) (req *request.Request, output *GetCommentOutput) {
3515	op := &request.Operation{
3516		Name:       opGetComment,
3517		HTTPMethod: "POST",
3518		HTTPPath:   "/",
3519	}
3520
3521	if input == nil {
3522		input = &GetCommentInput{}
3523	}
3524
3525	output = &GetCommentOutput{}
3526	req = c.newRequest(op, input, output)
3527	return
3528}
3529
3530// GetComment API operation for AWS CodeCommit.
3531//
3532// Returns the content of a comment made on a change, file, or commit in a repository.
3533//
3534// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3535// with awserr.Error's Code and Message methods to get detailed information about
3536// the error.
3537//
3538// See the AWS API reference guide for AWS CodeCommit's
3539// API operation GetComment for usage and error information.
3540//
3541// Returned Error Codes:
3542//   * ErrCodeCommentDoesNotExistException "CommentDoesNotExistException"
3543//   No comment exists with the provided ID. Verify that you have used the correct
3544//   ID, and then try again.
3545//
3546//   * ErrCodeCommentIdRequiredException "CommentIdRequiredException"
3547//   The comment ID is missing or null. A comment ID is required.
3548//
3549//   * ErrCodeInvalidCommentIdException "InvalidCommentIdException"
3550//   The comment ID is not in a valid format. Make sure that you have provided
3551//   the full comment ID.
3552//
3553//   * ErrCodeCommentDeletedException "CommentDeletedException"
3554//   This comment has already been deleted. You cannot edit or delete a deleted
3555//   comment.
3556//
3557// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetComment
3558func (c *CodeCommit) GetComment(input *GetCommentInput) (*GetCommentOutput, error) {
3559	req, out := c.GetCommentRequest(input)
3560	return out, req.Send()
3561}
3562
3563// GetCommentWithContext is the same as GetComment with the addition of
3564// the ability to pass a context and additional request options.
3565//
3566// See GetComment for details on how to use this API operation.
3567//
3568// The context must be non-nil and will be used for request cancellation. If
3569// the context is nil a panic will occur. In the future the SDK may create
3570// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3571// for more information on using Contexts.
3572func (c *CodeCommit) GetCommentWithContext(ctx aws.Context, input *GetCommentInput, opts ...request.Option) (*GetCommentOutput, error) {
3573	req, out := c.GetCommentRequest(input)
3574	req.SetContext(ctx)
3575	req.ApplyOptions(opts...)
3576	return out, req.Send()
3577}
3578
3579const opGetCommentsForComparedCommit = "GetCommentsForComparedCommit"
3580
3581// GetCommentsForComparedCommitRequest generates a "aws/request.Request" representing the
3582// client's request for the GetCommentsForComparedCommit operation. The "output" return
3583// value will be populated with the request's response once the request completes
3584// successfully.
3585//
3586// Use "Send" method on the returned Request to send the API call to the service.
3587// the "output" return value is not valid until after Send returns without error.
3588//
3589// See GetCommentsForComparedCommit for more information on using the GetCommentsForComparedCommit
3590// API call, and error handling.
3591//
3592// This method is useful when you want to inject custom logic or configuration
3593// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3594//
3595//
3596//    // Example sending a request using the GetCommentsForComparedCommitRequest method.
3597//    req, resp := client.GetCommentsForComparedCommitRequest(params)
3598//
3599//    err := req.Send()
3600//    if err == nil { // resp is now filled
3601//        fmt.Println(resp)
3602//    }
3603//
3604// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentsForComparedCommit
3605func (c *CodeCommit) GetCommentsForComparedCommitRequest(input *GetCommentsForComparedCommitInput) (req *request.Request, output *GetCommentsForComparedCommitOutput) {
3606	op := &request.Operation{
3607		Name:       opGetCommentsForComparedCommit,
3608		HTTPMethod: "POST",
3609		HTTPPath:   "/",
3610		Paginator: &request.Paginator{
3611			InputTokens:     []string{"nextToken"},
3612			OutputTokens:    []string{"nextToken"},
3613			LimitToken:      "maxResults",
3614			TruncationToken: "",
3615		},
3616	}
3617
3618	if input == nil {
3619		input = &GetCommentsForComparedCommitInput{}
3620	}
3621
3622	output = &GetCommentsForComparedCommitOutput{}
3623	req = c.newRequest(op, input, output)
3624	return
3625}
3626
3627// GetCommentsForComparedCommit API operation for AWS CodeCommit.
3628//
3629// Returns information about comments made on the comparison between two commits.
3630//
3631// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3632// with awserr.Error's Code and Message methods to get detailed information about
3633// the error.
3634//
3635// See the AWS API reference guide for AWS CodeCommit's
3636// API operation GetCommentsForComparedCommit for usage and error information.
3637//
3638// Returned Error Codes:
3639//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
3640//   A repository name is required, but was not specified.
3641//
3642//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
3643//   The specified repository does not exist.
3644//
3645//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
3646//   A specified repository name is not valid.
3647//
3648//   This exception occurs only when a specified repository name is not valid.
3649//   Other exceptions occur when a required repository parameter is missing, or
3650//   when a specified repository does not exist.
3651//
3652//   * ErrCodeCommitIdRequiredException "CommitIdRequiredException"
3653//   A commit ID was not specified.
3654//
3655//   * ErrCodeInvalidCommitIdException "InvalidCommitIdException"
3656//   The specified commit ID is not valid.
3657//
3658//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
3659//   The specified commit does not exist or no commit was specified, and the specified
3660//   repository has no default branch.
3661//
3662//   * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException"
3663//   The specified number of maximum results is not valid.
3664//
3665//   * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException"
3666//   The specified continuation token is not valid.
3667//
3668//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
3669//   An encryption integrity check failed.
3670//
3671//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
3672//   An encryption key could not be accessed.
3673//
3674//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
3675//   The encryption key is disabled.
3676//
3677//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
3678//   No encryption key was found.
3679//
3680//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
3681//   The encryption key is not available.
3682//
3683// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentsForComparedCommit
3684func (c *CodeCommit) GetCommentsForComparedCommit(input *GetCommentsForComparedCommitInput) (*GetCommentsForComparedCommitOutput, error) {
3685	req, out := c.GetCommentsForComparedCommitRequest(input)
3686	return out, req.Send()
3687}
3688
3689// GetCommentsForComparedCommitWithContext is the same as GetCommentsForComparedCommit with the addition of
3690// the ability to pass a context and additional request options.
3691//
3692// See GetCommentsForComparedCommit for details on how to use this API operation.
3693//
3694// The context must be non-nil and will be used for request cancellation. If
3695// the context is nil a panic will occur. In the future the SDK may create
3696// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3697// for more information on using Contexts.
3698func (c *CodeCommit) GetCommentsForComparedCommitWithContext(ctx aws.Context, input *GetCommentsForComparedCommitInput, opts ...request.Option) (*GetCommentsForComparedCommitOutput, error) {
3699	req, out := c.GetCommentsForComparedCommitRequest(input)
3700	req.SetContext(ctx)
3701	req.ApplyOptions(opts...)
3702	return out, req.Send()
3703}
3704
3705// GetCommentsForComparedCommitPages iterates over the pages of a GetCommentsForComparedCommit operation,
3706// calling the "fn" function with the response data for each page. To stop
3707// iterating, return false from the fn function.
3708//
3709// See GetCommentsForComparedCommit method for more information on how to use this operation.
3710//
3711// Note: This operation can generate multiple requests to a service.
3712//
3713//    // Example iterating over at most 3 pages of a GetCommentsForComparedCommit operation.
3714//    pageNum := 0
3715//    err := client.GetCommentsForComparedCommitPages(params,
3716//        func(page *codecommit.GetCommentsForComparedCommitOutput, lastPage bool) bool {
3717//            pageNum++
3718//            fmt.Println(page)
3719//            return pageNum <= 3
3720//        })
3721//
3722func (c *CodeCommit) GetCommentsForComparedCommitPages(input *GetCommentsForComparedCommitInput, fn func(*GetCommentsForComparedCommitOutput, bool) bool) error {
3723	return c.GetCommentsForComparedCommitPagesWithContext(aws.BackgroundContext(), input, fn)
3724}
3725
3726// GetCommentsForComparedCommitPagesWithContext same as GetCommentsForComparedCommitPages except
3727// it takes a Context and allows setting request options on the pages.
3728//
3729// The context must be non-nil and will be used for request cancellation. If
3730// the context is nil a panic will occur. In the future the SDK may create
3731// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3732// for more information on using Contexts.
3733func (c *CodeCommit) GetCommentsForComparedCommitPagesWithContext(ctx aws.Context, input *GetCommentsForComparedCommitInput, fn func(*GetCommentsForComparedCommitOutput, bool) bool, opts ...request.Option) error {
3734	p := request.Pagination{
3735		NewRequest: func() (*request.Request, error) {
3736			var inCpy *GetCommentsForComparedCommitInput
3737			if input != nil {
3738				tmp := *input
3739				inCpy = &tmp
3740			}
3741			req, _ := c.GetCommentsForComparedCommitRequest(inCpy)
3742			req.SetContext(ctx)
3743			req.ApplyOptions(opts...)
3744			return req, nil
3745		},
3746	}
3747
3748	for p.Next() {
3749		if !fn(p.Page().(*GetCommentsForComparedCommitOutput), !p.HasNextPage()) {
3750			break
3751		}
3752	}
3753
3754	return p.Err()
3755}
3756
3757const opGetCommentsForPullRequest = "GetCommentsForPullRequest"
3758
3759// GetCommentsForPullRequestRequest generates a "aws/request.Request" representing the
3760// client's request for the GetCommentsForPullRequest operation. The "output" return
3761// value will be populated with the request's response once the request completes
3762// successfully.
3763//
3764// Use "Send" method on the returned Request to send the API call to the service.
3765// the "output" return value is not valid until after Send returns without error.
3766//
3767// See GetCommentsForPullRequest for more information on using the GetCommentsForPullRequest
3768// API call, and error handling.
3769//
3770// This method is useful when you want to inject custom logic or configuration
3771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3772//
3773//
3774//    // Example sending a request using the GetCommentsForPullRequestRequest method.
3775//    req, resp := client.GetCommentsForPullRequestRequest(params)
3776//
3777//    err := req.Send()
3778//    if err == nil { // resp is now filled
3779//        fmt.Println(resp)
3780//    }
3781//
3782// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentsForPullRequest
3783func (c *CodeCommit) GetCommentsForPullRequestRequest(input *GetCommentsForPullRequestInput) (req *request.Request, output *GetCommentsForPullRequestOutput) {
3784	op := &request.Operation{
3785		Name:       opGetCommentsForPullRequest,
3786		HTTPMethod: "POST",
3787		HTTPPath:   "/",
3788		Paginator: &request.Paginator{
3789			InputTokens:     []string{"nextToken"},
3790			OutputTokens:    []string{"nextToken"},
3791			LimitToken:      "maxResults",
3792			TruncationToken: "",
3793		},
3794	}
3795
3796	if input == nil {
3797		input = &GetCommentsForPullRequestInput{}
3798	}
3799
3800	output = &GetCommentsForPullRequestOutput{}
3801	req = c.newRequest(op, input, output)
3802	return
3803}
3804
3805// GetCommentsForPullRequest API operation for AWS CodeCommit.
3806//
3807// Returns comments made on a pull request.
3808//
3809// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3810// with awserr.Error's Code and Message methods to get detailed information about
3811// the error.
3812//
3813// See the AWS API reference guide for AWS CodeCommit's
3814// API operation GetCommentsForPullRequest for usage and error information.
3815//
3816// Returned Error Codes:
3817//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
3818//   A pull request ID is required, but none was provided.
3819//
3820//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
3821//   The pull request ID could not be found. Make sure that you have specified
3822//   the correct repository name and pull request ID, and then try again.
3823//
3824//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
3825//   The pull request ID is not valid. Make sure that you have provided the full
3826//   ID and that the pull request is in the specified repository, and then try
3827//   again.
3828//
3829//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
3830//   A repository name is required, but was not specified.
3831//
3832//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
3833//   The specified repository does not exist.
3834//
3835//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
3836//   A specified repository name is not valid.
3837//
3838//   This exception occurs only when a specified repository name is not valid.
3839//   Other exceptions occur when a required repository parameter is missing, or
3840//   when a specified repository does not exist.
3841//
3842//   * ErrCodeCommitIdRequiredException "CommitIdRequiredException"
3843//   A commit ID was not specified.
3844//
3845//   * ErrCodeInvalidCommitIdException "InvalidCommitIdException"
3846//   The specified commit ID is not valid.
3847//
3848//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
3849//   The specified commit does not exist or no commit was specified, and the specified
3850//   repository has no default branch.
3851//
3852//   * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException"
3853//   The specified number of maximum results is not valid.
3854//
3855//   * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException"
3856//   The specified continuation token is not valid.
3857//
3858//   * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException"
3859//   The repository does not contain any pull requests with that pull request
3860//   ID. Use GetPullRequest to verify the correct repository name for the pull
3861//   request ID.
3862//
3863//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
3864//   An encryption integrity check failed.
3865//
3866//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
3867//   An encryption key could not be accessed.
3868//
3869//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
3870//   The encryption key is disabled.
3871//
3872//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
3873//   No encryption key was found.
3874//
3875//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
3876//   The encryption key is not available.
3877//
3878// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommentsForPullRequest
3879func (c *CodeCommit) GetCommentsForPullRequest(input *GetCommentsForPullRequestInput) (*GetCommentsForPullRequestOutput, error) {
3880	req, out := c.GetCommentsForPullRequestRequest(input)
3881	return out, req.Send()
3882}
3883
3884// GetCommentsForPullRequestWithContext is the same as GetCommentsForPullRequest with the addition of
3885// the ability to pass a context and additional request options.
3886//
3887// See GetCommentsForPullRequest for details on how to use this API operation.
3888//
3889// The context must be non-nil and will be used for request cancellation. If
3890// the context is nil a panic will occur. In the future the SDK may create
3891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3892// for more information on using Contexts.
3893func (c *CodeCommit) GetCommentsForPullRequestWithContext(ctx aws.Context, input *GetCommentsForPullRequestInput, opts ...request.Option) (*GetCommentsForPullRequestOutput, error) {
3894	req, out := c.GetCommentsForPullRequestRequest(input)
3895	req.SetContext(ctx)
3896	req.ApplyOptions(opts...)
3897	return out, req.Send()
3898}
3899
3900// GetCommentsForPullRequestPages iterates over the pages of a GetCommentsForPullRequest operation,
3901// calling the "fn" function with the response data for each page. To stop
3902// iterating, return false from the fn function.
3903//
3904// See GetCommentsForPullRequest method for more information on how to use this operation.
3905//
3906// Note: This operation can generate multiple requests to a service.
3907//
3908//    // Example iterating over at most 3 pages of a GetCommentsForPullRequest operation.
3909//    pageNum := 0
3910//    err := client.GetCommentsForPullRequestPages(params,
3911//        func(page *codecommit.GetCommentsForPullRequestOutput, lastPage bool) bool {
3912//            pageNum++
3913//            fmt.Println(page)
3914//            return pageNum <= 3
3915//        })
3916//
3917func (c *CodeCommit) GetCommentsForPullRequestPages(input *GetCommentsForPullRequestInput, fn func(*GetCommentsForPullRequestOutput, bool) bool) error {
3918	return c.GetCommentsForPullRequestPagesWithContext(aws.BackgroundContext(), input, fn)
3919}
3920
3921// GetCommentsForPullRequestPagesWithContext same as GetCommentsForPullRequestPages except
3922// it takes a Context and allows setting request options on the pages.
3923//
3924// The context must be non-nil and will be used for request cancellation. If
3925// the context is nil a panic will occur. In the future the SDK may create
3926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3927// for more information on using Contexts.
3928func (c *CodeCommit) GetCommentsForPullRequestPagesWithContext(ctx aws.Context, input *GetCommentsForPullRequestInput, fn func(*GetCommentsForPullRequestOutput, bool) bool, opts ...request.Option) error {
3929	p := request.Pagination{
3930		NewRequest: func() (*request.Request, error) {
3931			var inCpy *GetCommentsForPullRequestInput
3932			if input != nil {
3933				tmp := *input
3934				inCpy = &tmp
3935			}
3936			req, _ := c.GetCommentsForPullRequestRequest(inCpy)
3937			req.SetContext(ctx)
3938			req.ApplyOptions(opts...)
3939			return req, nil
3940		},
3941	}
3942
3943	for p.Next() {
3944		if !fn(p.Page().(*GetCommentsForPullRequestOutput), !p.HasNextPage()) {
3945			break
3946		}
3947	}
3948
3949	return p.Err()
3950}
3951
3952const opGetCommit = "GetCommit"
3953
3954// GetCommitRequest generates a "aws/request.Request" representing the
3955// client's request for the GetCommit operation. The "output" return
3956// value will be populated with the request's response once the request completes
3957// successfully.
3958//
3959// Use "Send" method on the returned Request to send the API call to the service.
3960// the "output" return value is not valid until after Send returns without error.
3961//
3962// See GetCommit for more information on using the GetCommit
3963// API call, and error handling.
3964//
3965// This method is useful when you want to inject custom logic or configuration
3966// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3967//
3968//
3969//    // Example sending a request using the GetCommitRequest method.
3970//    req, resp := client.GetCommitRequest(params)
3971//
3972//    err := req.Send()
3973//    if err == nil { // resp is now filled
3974//        fmt.Println(resp)
3975//    }
3976//
3977// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommit
3978func (c *CodeCommit) GetCommitRequest(input *GetCommitInput) (req *request.Request, output *GetCommitOutput) {
3979	op := &request.Operation{
3980		Name:       opGetCommit,
3981		HTTPMethod: "POST",
3982		HTTPPath:   "/",
3983	}
3984
3985	if input == nil {
3986		input = &GetCommitInput{}
3987	}
3988
3989	output = &GetCommitOutput{}
3990	req = c.newRequest(op, input, output)
3991	return
3992}
3993
3994// GetCommit API operation for AWS CodeCommit.
3995//
3996// Returns information about a commit, including commit message and committer
3997// information.
3998//
3999// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4000// with awserr.Error's Code and Message methods to get detailed information about
4001// the error.
4002//
4003// See the AWS API reference guide for AWS CodeCommit's
4004// API operation GetCommit for usage and error information.
4005//
4006// Returned Error Codes:
4007//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
4008//   A repository name is required, but was not specified.
4009//
4010//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
4011//   A specified repository name is not valid.
4012//
4013//   This exception occurs only when a specified repository name is not valid.
4014//   Other exceptions occur when a required repository parameter is missing, or
4015//   when a specified repository does not exist.
4016//
4017//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
4018//   The specified repository does not exist.
4019//
4020//   * ErrCodeCommitIdRequiredException "CommitIdRequiredException"
4021//   A commit ID was not specified.
4022//
4023//   * ErrCodeInvalidCommitIdException "InvalidCommitIdException"
4024//   The specified commit ID is not valid.
4025//
4026//   * ErrCodeCommitIdDoesNotExistException "CommitIdDoesNotExistException"
4027//   The specified commit ID does not exist.
4028//
4029//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
4030//   An encryption integrity check failed.
4031//
4032//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
4033//   An encryption key could not be accessed.
4034//
4035//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
4036//   The encryption key is disabled.
4037//
4038//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
4039//   No encryption key was found.
4040//
4041//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
4042//   The encryption key is not available.
4043//
4044// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetCommit
4045func (c *CodeCommit) GetCommit(input *GetCommitInput) (*GetCommitOutput, error) {
4046	req, out := c.GetCommitRequest(input)
4047	return out, req.Send()
4048}
4049
4050// GetCommitWithContext is the same as GetCommit with the addition of
4051// the ability to pass a context and additional request options.
4052//
4053// See GetCommit for details on how to use this API operation.
4054//
4055// The context must be non-nil and will be used for request cancellation. If
4056// the context is nil a panic will occur. In the future the SDK may create
4057// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4058// for more information on using Contexts.
4059func (c *CodeCommit) GetCommitWithContext(ctx aws.Context, input *GetCommitInput, opts ...request.Option) (*GetCommitOutput, error) {
4060	req, out := c.GetCommitRequest(input)
4061	req.SetContext(ctx)
4062	req.ApplyOptions(opts...)
4063	return out, req.Send()
4064}
4065
4066const opGetDifferences = "GetDifferences"
4067
4068// GetDifferencesRequest generates a "aws/request.Request" representing the
4069// client's request for the GetDifferences operation. The "output" return
4070// value will be populated with the request's response once the request completes
4071// successfully.
4072//
4073// Use "Send" method on the returned Request to send the API call to the service.
4074// the "output" return value is not valid until after Send returns without error.
4075//
4076// See GetDifferences for more information on using the GetDifferences
4077// API call, and error handling.
4078//
4079// This method is useful when you want to inject custom logic or configuration
4080// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4081//
4082//
4083//    // Example sending a request using the GetDifferencesRequest method.
4084//    req, resp := client.GetDifferencesRequest(params)
4085//
4086//    err := req.Send()
4087//    if err == nil { // resp is now filled
4088//        fmt.Println(resp)
4089//    }
4090//
4091// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetDifferences
4092func (c *CodeCommit) GetDifferencesRequest(input *GetDifferencesInput) (req *request.Request, output *GetDifferencesOutput) {
4093	op := &request.Operation{
4094		Name:       opGetDifferences,
4095		HTTPMethod: "POST",
4096		HTTPPath:   "/",
4097		Paginator: &request.Paginator{
4098			InputTokens:     []string{"NextToken"},
4099			OutputTokens:    []string{"NextToken"},
4100			LimitToken:      "MaxResults",
4101			TruncationToken: "",
4102		},
4103	}
4104
4105	if input == nil {
4106		input = &GetDifferencesInput{}
4107	}
4108
4109	output = &GetDifferencesOutput{}
4110	req = c.newRequest(op, input, output)
4111	return
4112}
4113
4114// GetDifferences API operation for AWS CodeCommit.
4115//
4116// Returns information about the differences in a valid commit specifier (such
4117// as a branch, tag, HEAD, commit ID, or other fully qualified reference). Results
4118// can be limited to a specified path.
4119//
4120// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4121// with awserr.Error's Code and Message methods to get detailed information about
4122// the error.
4123//
4124// See the AWS API reference guide for AWS CodeCommit's
4125// API operation GetDifferences for usage and error information.
4126//
4127// Returned Error Codes:
4128//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
4129//   A repository name is required, but was not specified.
4130//
4131//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
4132//   The specified repository does not exist.
4133//
4134//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
4135//   A specified repository name is not valid.
4136//
4137//   This exception occurs only when a specified repository name is not valid.
4138//   Other exceptions occur when a required repository parameter is missing, or
4139//   when a specified repository does not exist.
4140//
4141//   * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException"
4142//   The specified continuation token is not valid.
4143//
4144//   * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException"
4145//   The specified number of maximum results is not valid.
4146//
4147//   * ErrCodeInvalidCommitIdException "InvalidCommitIdException"
4148//   The specified commit ID is not valid.
4149//
4150//   * ErrCodeCommitRequiredException "CommitRequiredException"
4151//   A commit was not specified.
4152//
4153//   * ErrCodeInvalidCommitException "InvalidCommitException"
4154//   The specified commit is not valid.
4155//
4156//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
4157//   The specified commit does not exist or no commit was specified, and the specified
4158//   repository has no default branch.
4159//
4160//   * ErrCodeInvalidPathException "InvalidPathException"
4161//   The specified path is not valid.
4162//
4163//   * ErrCodePathDoesNotExistException "PathDoesNotExistException"
4164//   The specified path does not exist.
4165//
4166//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
4167//   An encryption integrity check failed.
4168//
4169//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
4170//   An encryption key could not be accessed.
4171//
4172//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
4173//   The encryption key is disabled.
4174//
4175//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
4176//   No encryption key was found.
4177//
4178//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
4179//   The encryption key is not available.
4180//
4181// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetDifferences
4182func (c *CodeCommit) GetDifferences(input *GetDifferencesInput) (*GetDifferencesOutput, error) {
4183	req, out := c.GetDifferencesRequest(input)
4184	return out, req.Send()
4185}
4186
4187// GetDifferencesWithContext is the same as GetDifferences with the addition of
4188// the ability to pass a context and additional request options.
4189//
4190// See GetDifferences for details on how to use this API operation.
4191//
4192// The context must be non-nil and will be used for request cancellation. If
4193// the context is nil a panic will occur. In the future the SDK may create
4194// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4195// for more information on using Contexts.
4196func (c *CodeCommit) GetDifferencesWithContext(ctx aws.Context, input *GetDifferencesInput, opts ...request.Option) (*GetDifferencesOutput, error) {
4197	req, out := c.GetDifferencesRequest(input)
4198	req.SetContext(ctx)
4199	req.ApplyOptions(opts...)
4200	return out, req.Send()
4201}
4202
4203// GetDifferencesPages iterates over the pages of a GetDifferences operation,
4204// calling the "fn" function with the response data for each page. To stop
4205// iterating, return false from the fn function.
4206//
4207// See GetDifferences method for more information on how to use this operation.
4208//
4209// Note: This operation can generate multiple requests to a service.
4210//
4211//    // Example iterating over at most 3 pages of a GetDifferences operation.
4212//    pageNum := 0
4213//    err := client.GetDifferencesPages(params,
4214//        func(page *codecommit.GetDifferencesOutput, lastPage bool) bool {
4215//            pageNum++
4216//            fmt.Println(page)
4217//            return pageNum <= 3
4218//        })
4219//
4220func (c *CodeCommit) GetDifferencesPages(input *GetDifferencesInput, fn func(*GetDifferencesOutput, bool) bool) error {
4221	return c.GetDifferencesPagesWithContext(aws.BackgroundContext(), input, fn)
4222}
4223
4224// GetDifferencesPagesWithContext same as GetDifferencesPages except
4225// it takes a Context and allows setting request options on the pages.
4226//
4227// The context must be non-nil and will be used for request cancellation. If
4228// the context is nil a panic will occur. In the future the SDK may create
4229// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4230// for more information on using Contexts.
4231func (c *CodeCommit) GetDifferencesPagesWithContext(ctx aws.Context, input *GetDifferencesInput, fn func(*GetDifferencesOutput, bool) bool, opts ...request.Option) error {
4232	p := request.Pagination{
4233		NewRequest: func() (*request.Request, error) {
4234			var inCpy *GetDifferencesInput
4235			if input != nil {
4236				tmp := *input
4237				inCpy = &tmp
4238			}
4239			req, _ := c.GetDifferencesRequest(inCpy)
4240			req.SetContext(ctx)
4241			req.ApplyOptions(opts...)
4242			return req, nil
4243		},
4244	}
4245
4246	for p.Next() {
4247		if !fn(p.Page().(*GetDifferencesOutput), !p.HasNextPage()) {
4248			break
4249		}
4250	}
4251
4252	return p.Err()
4253}
4254
4255const opGetFile = "GetFile"
4256
4257// GetFileRequest generates a "aws/request.Request" representing the
4258// client's request for the GetFile operation. The "output" return
4259// value will be populated with the request's response once the request completes
4260// successfully.
4261//
4262// Use "Send" method on the returned Request to send the API call to the service.
4263// the "output" return value is not valid until after Send returns without error.
4264//
4265// See GetFile for more information on using the GetFile
4266// API call, and error handling.
4267//
4268// This method is useful when you want to inject custom logic or configuration
4269// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4270//
4271//
4272//    // Example sending a request using the GetFileRequest method.
4273//    req, resp := client.GetFileRequest(params)
4274//
4275//    err := req.Send()
4276//    if err == nil { // resp is now filled
4277//        fmt.Println(resp)
4278//    }
4279//
4280// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetFile
4281func (c *CodeCommit) GetFileRequest(input *GetFileInput) (req *request.Request, output *GetFileOutput) {
4282	op := &request.Operation{
4283		Name:       opGetFile,
4284		HTTPMethod: "POST",
4285		HTTPPath:   "/",
4286	}
4287
4288	if input == nil {
4289		input = &GetFileInput{}
4290	}
4291
4292	output = &GetFileOutput{}
4293	req = c.newRequest(op, input, output)
4294	return
4295}
4296
4297// GetFile API operation for AWS CodeCommit.
4298//
4299// Returns the base-64 encoded contents of a specified file and its metadata.
4300//
4301// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4302// with awserr.Error's Code and Message methods to get detailed information about
4303// the error.
4304//
4305// See the AWS API reference guide for AWS CodeCommit's
4306// API operation GetFile for usage and error information.
4307//
4308// Returned Error Codes:
4309//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
4310//   A repository name is required, but was not specified.
4311//
4312//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
4313//   A specified repository name is not valid.
4314//
4315//   This exception occurs only when a specified repository name is not valid.
4316//   Other exceptions occur when a required repository parameter is missing, or
4317//   when a specified repository does not exist.
4318//
4319//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
4320//   The specified repository does not exist.
4321//
4322//   * ErrCodeInvalidCommitException "InvalidCommitException"
4323//   The specified commit is not valid.
4324//
4325//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
4326//   The specified commit does not exist or no commit was specified, and the specified
4327//   repository has no default branch.
4328//
4329//   * ErrCodePathRequiredException "PathRequiredException"
4330//   The folderPath for a location cannot be null.
4331//
4332//   * ErrCodeInvalidPathException "InvalidPathException"
4333//   The specified path is not valid.
4334//
4335//   * ErrCodeFileDoesNotExistException "FileDoesNotExistException"
4336//   The specified file does not exist. Verify that you have used the correct
4337//   file name, full path, and extension.
4338//
4339//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
4340//   An encryption integrity check failed.
4341//
4342//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
4343//   An encryption key could not be accessed.
4344//
4345//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
4346//   The encryption key is disabled.
4347//
4348//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
4349//   No encryption key was found.
4350//
4351//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
4352//   The encryption key is not available.
4353//
4354//   * ErrCodeFileTooLargeException "FileTooLargeException"
4355//   The specified file exceeds the file size limit for AWS CodeCommit. For more
4356//   information about limits in AWS CodeCommit, see AWS CodeCommit User Guide
4357//   (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
4358//
4359// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetFile
4360func (c *CodeCommit) GetFile(input *GetFileInput) (*GetFileOutput, error) {
4361	req, out := c.GetFileRequest(input)
4362	return out, req.Send()
4363}
4364
4365// GetFileWithContext is the same as GetFile with the addition of
4366// the ability to pass a context and additional request options.
4367//
4368// See GetFile for details on how to use this API operation.
4369//
4370// The context must be non-nil and will be used for request cancellation. If
4371// the context is nil a panic will occur. In the future the SDK may create
4372// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4373// for more information on using Contexts.
4374func (c *CodeCommit) GetFileWithContext(ctx aws.Context, input *GetFileInput, opts ...request.Option) (*GetFileOutput, error) {
4375	req, out := c.GetFileRequest(input)
4376	req.SetContext(ctx)
4377	req.ApplyOptions(opts...)
4378	return out, req.Send()
4379}
4380
4381const opGetFolder = "GetFolder"
4382
4383// GetFolderRequest generates a "aws/request.Request" representing the
4384// client's request for the GetFolder operation. The "output" return
4385// value will be populated with the request's response once the request completes
4386// successfully.
4387//
4388// Use "Send" method on the returned Request to send the API call to the service.
4389// the "output" return value is not valid until after Send returns without error.
4390//
4391// See GetFolder for more information on using the GetFolder
4392// API call, and error handling.
4393//
4394// This method is useful when you want to inject custom logic or configuration
4395// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4396//
4397//
4398//    // Example sending a request using the GetFolderRequest method.
4399//    req, resp := client.GetFolderRequest(params)
4400//
4401//    err := req.Send()
4402//    if err == nil { // resp is now filled
4403//        fmt.Println(resp)
4404//    }
4405//
4406// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetFolder
4407func (c *CodeCommit) GetFolderRequest(input *GetFolderInput) (req *request.Request, output *GetFolderOutput) {
4408	op := &request.Operation{
4409		Name:       opGetFolder,
4410		HTTPMethod: "POST",
4411		HTTPPath:   "/",
4412	}
4413
4414	if input == nil {
4415		input = &GetFolderInput{}
4416	}
4417
4418	output = &GetFolderOutput{}
4419	req = c.newRequest(op, input, output)
4420	return
4421}
4422
4423// GetFolder API operation for AWS CodeCommit.
4424//
4425// Returns the contents of a specified folder in a repository.
4426//
4427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4428// with awserr.Error's Code and Message methods to get detailed information about
4429// the error.
4430//
4431// See the AWS API reference guide for AWS CodeCommit's
4432// API operation GetFolder for usage and error information.
4433//
4434// Returned Error Codes:
4435//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
4436//   A repository name is required, but was not specified.
4437//
4438//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
4439//   A specified repository name is not valid.
4440//
4441//   This exception occurs only when a specified repository name is not valid.
4442//   Other exceptions occur when a required repository parameter is missing, or
4443//   when a specified repository does not exist.
4444//
4445//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
4446//   The specified repository does not exist.
4447//
4448//   * ErrCodeInvalidCommitException "InvalidCommitException"
4449//   The specified commit is not valid.
4450//
4451//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
4452//   The specified commit does not exist or no commit was specified, and the specified
4453//   repository has no default branch.
4454//
4455//   * ErrCodePathRequiredException "PathRequiredException"
4456//   The folderPath for a location cannot be null.
4457//
4458//   * ErrCodeInvalidPathException "InvalidPathException"
4459//   The specified path is not valid.
4460//
4461//   * ErrCodeFolderDoesNotExistException "FolderDoesNotExistException"
4462//   The specified folder does not exist. Either the folder name is not correct,
4463//   or you did not enter the full path to the folder.
4464//
4465//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
4466//   An encryption integrity check failed.
4467//
4468//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
4469//   An encryption key could not be accessed.
4470//
4471//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
4472//   The encryption key is disabled.
4473//
4474//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
4475//   No encryption key was found.
4476//
4477//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
4478//   The encryption key is not available.
4479//
4480// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetFolder
4481func (c *CodeCommit) GetFolder(input *GetFolderInput) (*GetFolderOutput, error) {
4482	req, out := c.GetFolderRequest(input)
4483	return out, req.Send()
4484}
4485
4486// GetFolderWithContext is the same as GetFolder with the addition of
4487// the ability to pass a context and additional request options.
4488//
4489// See GetFolder for details on how to use this API operation.
4490//
4491// The context must be non-nil and will be used for request cancellation. If
4492// the context is nil a panic will occur. In the future the SDK may create
4493// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4494// for more information on using Contexts.
4495func (c *CodeCommit) GetFolderWithContext(ctx aws.Context, input *GetFolderInput, opts ...request.Option) (*GetFolderOutput, error) {
4496	req, out := c.GetFolderRequest(input)
4497	req.SetContext(ctx)
4498	req.ApplyOptions(opts...)
4499	return out, req.Send()
4500}
4501
4502const opGetMergeCommit = "GetMergeCommit"
4503
4504// GetMergeCommitRequest generates a "aws/request.Request" representing the
4505// client's request for the GetMergeCommit operation. The "output" return
4506// value will be populated with the request's response once the request completes
4507// successfully.
4508//
4509// Use "Send" method on the returned Request to send the API call to the service.
4510// the "output" return value is not valid until after Send returns without error.
4511//
4512// See GetMergeCommit for more information on using the GetMergeCommit
4513// API call, and error handling.
4514//
4515// This method is useful when you want to inject custom logic or configuration
4516// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4517//
4518//
4519//    // Example sending a request using the GetMergeCommitRequest method.
4520//    req, resp := client.GetMergeCommitRequest(params)
4521//
4522//    err := req.Send()
4523//    if err == nil { // resp is now filled
4524//        fmt.Println(resp)
4525//    }
4526//
4527// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeCommit
4528func (c *CodeCommit) GetMergeCommitRequest(input *GetMergeCommitInput) (req *request.Request, output *GetMergeCommitOutput) {
4529	op := &request.Operation{
4530		Name:       opGetMergeCommit,
4531		HTTPMethod: "POST",
4532		HTTPPath:   "/",
4533	}
4534
4535	if input == nil {
4536		input = &GetMergeCommitInput{}
4537	}
4538
4539	output = &GetMergeCommitOutput{}
4540	req = c.newRequest(op, input, output)
4541	return
4542}
4543
4544// GetMergeCommit API operation for AWS CodeCommit.
4545//
4546// Returns information about a specified merge commit.
4547//
4548// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4549// with awserr.Error's Code and Message methods to get detailed information about
4550// the error.
4551//
4552// See the AWS API reference guide for AWS CodeCommit's
4553// API operation GetMergeCommit for usage and error information.
4554//
4555// Returned Error Codes:
4556//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
4557//   A repository name is required, but was not specified.
4558//
4559//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
4560//   A specified repository name is not valid.
4561//
4562//   This exception occurs only when a specified repository name is not valid.
4563//   Other exceptions occur when a required repository parameter is missing, or
4564//   when a specified repository does not exist.
4565//
4566//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
4567//   The specified repository does not exist.
4568//
4569//   * ErrCodeCommitRequiredException "CommitRequiredException"
4570//   A commit was not specified.
4571//
4572//   * ErrCodeInvalidCommitException "InvalidCommitException"
4573//   The specified commit is not valid.
4574//
4575//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
4576//   The specified commit does not exist or no commit was specified, and the specified
4577//   repository has no default branch.
4578//
4579//   * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException"
4580//   The specified conflict detail level is not valid.
4581//
4582//   * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException"
4583//   The specified conflict resolution strategy is not valid.
4584//
4585//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
4586//   An encryption integrity check failed.
4587//
4588//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
4589//   An encryption key could not be accessed.
4590//
4591//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
4592//   The encryption key is disabled.
4593//
4594//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
4595//   No encryption key was found.
4596//
4597//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
4598//   The encryption key is not available.
4599//
4600// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeCommit
4601func (c *CodeCommit) GetMergeCommit(input *GetMergeCommitInput) (*GetMergeCommitOutput, error) {
4602	req, out := c.GetMergeCommitRequest(input)
4603	return out, req.Send()
4604}
4605
4606// GetMergeCommitWithContext is the same as GetMergeCommit with the addition of
4607// the ability to pass a context and additional request options.
4608//
4609// See GetMergeCommit for details on how to use this API operation.
4610//
4611// The context must be non-nil and will be used for request cancellation. If
4612// the context is nil a panic will occur. In the future the SDK may create
4613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4614// for more information on using Contexts.
4615func (c *CodeCommit) GetMergeCommitWithContext(ctx aws.Context, input *GetMergeCommitInput, opts ...request.Option) (*GetMergeCommitOutput, error) {
4616	req, out := c.GetMergeCommitRequest(input)
4617	req.SetContext(ctx)
4618	req.ApplyOptions(opts...)
4619	return out, req.Send()
4620}
4621
4622const opGetMergeConflicts = "GetMergeConflicts"
4623
4624// GetMergeConflictsRequest generates a "aws/request.Request" representing the
4625// client's request for the GetMergeConflicts operation. The "output" return
4626// value will be populated with the request's response once the request completes
4627// successfully.
4628//
4629// Use "Send" method on the returned Request to send the API call to the service.
4630// the "output" return value is not valid until after Send returns without error.
4631//
4632// See GetMergeConflicts for more information on using the GetMergeConflicts
4633// API call, and error handling.
4634//
4635// This method is useful when you want to inject custom logic or configuration
4636// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4637//
4638//
4639//    // Example sending a request using the GetMergeConflictsRequest method.
4640//    req, resp := client.GetMergeConflictsRequest(params)
4641//
4642//    err := req.Send()
4643//    if err == nil { // resp is now filled
4644//        fmt.Println(resp)
4645//    }
4646//
4647// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeConflicts
4648func (c *CodeCommit) GetMergeConflictsRequest(input *GetMergeConflictsInput) (req *request.Request, output *GetMergeConflictsOutput) {
4649	op := &request.Operation{
4650		Name:       opGetMergeConflicts,
4651		HTTPMethod: "POST",
4652		HTTPPath:   "/",
4653		Paginator: &request.Paginator{
4654			InputTokens:     []string{"nextToken"},
4655			OutputTokens:    []string{"nextToken"},
4656			LimitToken:      "maxConflictFiles",
4657			TruncationToken: "",
4658		},
4659	}
4660
4661	if input == nil {
4662		input = &GetMergeConflictsInput{}
4663	}
4664
4665	output = &GetMergeConflictsOutput{}
4666	req = c.newRequest(op, input, output)
4667	return
4668}
4669
4670// GetMergeConflicts API operation for AWS CodeCommit.
4671//
4672// Returns information about merge conflicts between the before and after commit
4673// IDs for a pull request in a repository.
4674//
4675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4676// with awserr.Error's Code and Message methods to get detailed information about
4677// the error.
4678//
4679// See the AWS API reference guide for AWS CodeCommit's
4680// API operation GetMergeConflicts for usage and error information.
4681//
4682// Returned Error Codes:
4683//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
4684//   A repository name is required, but was not specified.
4685//
4686//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
4687//   A specified repository name is not valid.
4688//
4689//   This exception occurs only when a specified repository name is not valid.
4690//   Other exceptions occur when a required repository parameter is missing, or
4691//   when a specified repository does not exist.
4692//
4693//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
4694//   The specified repository does not exist.
4695//
4696//   * ErrCodeMergeOptionRequiredException "MergeOptionRequiredException"
4697//   A merge option or stategy is required, and none was provided.
4698//
4699//   * ErrCodeInvalidMergeOptionException "InvalidMergeOptionException"
4700//   The specified merge option is not valid for this operation. Not all merge
4701//   strategies are supported for all operations.
4702//
4703//   * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException"
4704//   The specified continuation token is not valid.
4705//
4706//   * ErrCodeCommitRequiredException "CommitRequiredException"
4707//   A commit was not specified.
4708//
4709//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
4710//   The specified commit does not exist or no commit was specified, and the specified
4711//   repository has no default branch.
4712//
4713//   * ErrCodeInvalidCommitException "InvalidCommitException"
4714//   The specified commit is not valid.
4715//
4716//   * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException"
4717//   The divergence between the tips of the provided commit specifiers is too
4718//   great to determine whether there might be any merge conflicts. Locally compare
4719//   the specifiers using git diff or a diff tool.
4720//
4721//   * ErrCodeInvalidMaxConflictFilesException "InvalidMaxConflictFilesException"
4722//   The specified value for the number of conflict files to return is not valid.
4723//
4724//   * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException"
4725//   The specified conflict detail level is not valid.
4726//
4727//   * ErrCodeInvalidDestinationCommitSpecifierException "InvalidDestinationCommitSpecifierException"
4728//   The destination commit specifier is not valid. You must provide a valid branch
4729//   name, tag, or full commit ID.
4730//
4731//   * ErrCodeInvalidSourceCommitSpecifierException "InvalidSourceCommitSpecifierException"
4732//   The source commit specifier is not valid. You must provide a valid branch
4733//   name, tag, or full commit ID.
4734//
4735//   * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException"
4736//   The specified conflict resolution strategy is not valid.
4737//
4738//   * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException"
4739//   The number of files to load exceeds the allowed limit.
4740//
4741//   * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException"
4742//   The number of items to compare between the source or destination branches
4743//   and the merge base has exceeded the maximum allowed.
4744//
4745//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
4746//   An encryption integrity check failed.
4747//
4748//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
4749//   An encryption key could not be accessed.
4750//
4751//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
4752//   The encryption key is disabled.
4753//
4754//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
4755//   No encryption key was found.
4756//
4757//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
4758//   The encryption key is not available.
4759//
4760// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeConflicts
4761func (c *CodeCommit) GetMergeConflicts(input *GetMergeConflictsInput) (*GetMergeConflictsOutput, error) {
4762	req, out := c.GetMergeConflictsRequest(input)
4763	return out, req.Send()
4764}
4765
4766// GetMergeConflictsWithContext is the same as GetMergeConflicts with the addition of
4767// the ability to pass a context and additional request options.
4768//
4769// See GetMergeConflicts for details on how to use this API operation.
4770//
4771// The context must be non-nil and will be used for request cancellation. If
4772// the context is nil a panic will occur. In the future the SDK may create
4773// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4774// for more information on using Contexts.
4775func (c *CodeCommit) GetMergeConflictsWithContext(ctx aws.Context, input *GetMergeConflictsInput, opts ...request.Option) (*GetMergeConflictsOutput, error) {
4776	req, out := c.GetMergeConflictsRequest(input)
4777	req.SetContext(ctx)
4778	req.ApplyOptions(opts...)
4779	return out, req.Send()
4780}
4781
4782// GetMergeConflictsPages iterates over the pages of a GetMergeConflicts operation,
4783// calling the "fn" function with the response data for each page. To stop
4784// iterating, return false from the fn function.
4785//
4786// See GetMergeConflicts method for more information on how to use this operation.
4787//
4788// Note: This operation can generate multiple requests to a service.
4789//
4790//    // Example iterating over at most 3 pages of a GetMergeConflicts operation.
4791//    pageNum := 0
4792//    err := client.GetMergeConflictsPages(params,
4793//        func(page *codecommit.GetMergeConflictsOutput, lastPage bool) bool {
4794//            pageNum++
4795//            fmt.Println(page)
4796//            return pageNum <= 3
4797//        })
4798//
4799func (c *CodeCommit) GetMergeConflictsPages(input *GetMergeConflictsInput, fn func(*GetMergeConflictsOutput, bool) bool) error {
4800	return c.GetMergeConflictsPagesWithContext(aws.BackgroundContext(), input, fn)
4801}
4802
4803// GetMergeConflictsPagesWithContext same as GetMergeConflictsPages except
4804// it takes a Context and allows setting request options on the pages.
4805//
4806// The context must be non-nil and will be used for request cancellation. If
4807// the context is nil a panic will occur. In the future the SDK may create
4808// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4809// for more information on using Contexts.
4810func (c *CodeCommit) GetMergeConflictsPagesWithContext(ctx aws.Context, input *GetMergeConflictsInput, fn func(*GetMergeConflictsOutput, bool) bool, opts ...request.Option) error {
4811	p := request.Pagination{
4812		NewRequest: func() (*request.Request, error) {
4813			var inCpy *GetMergeConflictsInput
4814			if input != nil {
4815				tmp := *input
4816				inCpy = &tmp
4817			}
4818			req, _ := c.GetMergeConflictsRequest(inCpy)
4819			req.SetContext(ctx)
4820			req.ApplyOptions(opts...)
4821			return req, nil
4822		},
4823	}
4824
4825	for p.Next() {
4826		if !fn(p.Page().(*GetMergeConflictsOutput), !p.HasNextPage()) {
4827			break
4828		}
4829	}
4830
4831	return p.Err()
4832}
4833
4834const opGetMergeOptions = "GetMergeOptions"
4835
4836// GetMergeOptionsRequest generates a "aws/request.Request" representing the
4837// client's request for the GetMergeOptions operation. The "output" return
4838// value will be populated with the request's response once the request completes
4839// successfully.
4840//
4841// Use "Send" method on the returned Request to send the API call to the service.
4842// the "output" return value is not valid until after Send returns without error.
4843//
4844// See GetMergeOptions for more information on using the GetMergeOptions
4845// API call, and error handling.
4846//
4847// This method is useful when you want to inject custom logic or configuration
4848// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4849//
4850//
4851//    // Example sending a request using the GetMergeOptionsRequest method.
4852//    req, resp := client.GetMergeOptionsRequest(params)
4853//
4854//    err := req.Send()
4855//    if err == nil { // resp is now filled
4856//        fmt.Println(resp)
4857//    }
4858//
4859// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeOptions
4860func (c *CodeCommit) GetMergeOptionsRequest(input *GetMergeOptionsInput) (req *request.Request, output *GetMergeOptionsOutput) {
4861	op := &request.Operation{
4862		Name:       opGetMergeOptions,
4863		HTTPMethod: "POST",
4864		HTTPPath:   "/",
4865	}
4866
4867	if input == nil {
4868		input = &GetMergeOptionsInput{}
4869	}
4870
4871	output = &GetMergeOptionsOutput{}
4872	req = c.newRequest(op, input, output)
4873	return
4874}
4875
4876// GetMergeOptions API operation for AWS CodeCommit.
4877//
4878// Returns information about the merge options available for merging two specified
4879// branches. For details about why a merge option is not available, use GetMergeConflicts
4880// or DescribeMergeConflicts.
4881//
4882// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4883// with awserr.Error's Code and Message methods to get detailed information about
4884// the error.
4885//
4886// See the AWS API reference guide for AWS CodeCommit's
4887// API operation GetMergeOptions for usage and error information.
4888//
4889// Returned Error Codes:
4890//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
4891//   A repository name is required, but was not specified.
4892//
4893//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
4894//   A specified repository name is not valid.
4895//
4896//   This exception occurs only when a specified repository name is not valid.
4897//   Other exceptions occur when a required repository parameter is missing, or
4898//   when a specified repository does not exist.
4899//
4900//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
4901//   The specified repository does not exist.
4902//
4903//   * ErrCodeCommitRequiredException "CommitRequiredException"
4904//   A commit was not specified.
4905//
4906//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
4907//   The specified commit does not exist or no commit was specified, and the specified
4908//   repository has no default branch.
4909//
4910//   * ErrCodeInvalidCommitException "InvalidCommitException"
4911//   The specified commit is not valid.
4912//
4913//   * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException"
4914//   The divergence between the tips of the provided commit specifiers is too
4915//   great to determine whether there might be any merge conflicts. Locally compare
4916//   the specifiers using git diff or a diff tool.
4917//
4918//   * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException"
4919//   The specified conflict detail level is not valid.
4920//
4921//   * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException"
4922//   The specified conflict resolution strategy is not valid.
4923//
4924//   * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException"
4925//   The number of files to load exceeds the allowed limit.
4926//
4927//   * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException"
4928//   The number of items to compare between the source or destination branches
4929//   and the merge base has exceeded the maximum allowed.
4930//
4931//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
4932//   An encryption integrity check failed.
4933//
4934//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
4935//   An encryption key could not be accessed.
4936//
4937//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
4938//   The encryption key is disabled.
4939//
4940//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
4941//   No encryption key was found.
4942//
4943//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
4944//   The encryption key is not available.
4945//
4946// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetMergeOptions
4947func (c *CodeCommit) GetMergeOptions(input *GetMergeOptionsInput) (*GetMergeOptionsOutput, error) {
4948	req, out := c.GetMergeOptionsRequest(input)
4949	return out, req.Send()
4950}
4951
4952// GetMergeOptionsWithContext is the same as GetMergeOptions with the addition of
4953// the ability to pass a context and additional request options.
4954//
4955// See GetMergeOptions for details on how to use this API operation.
4956//
4957// The context must be non-nil and will be used for request cancellation. If
4958// the context is nil a panic will occur. In the future the SDK may create
4959// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4960// for more information on using Contexts.
4961func (c *CodeCommit) GetMergeOptionsWithContext(ctx aws.Context, input *GetMergeOptionsInput, opts ...request.Option) (*GetMergeOptionsOutput, error) {
4962	req, out := c.GetMergeOptionsRequest(input)
4963	req.SetContext(ctx)
4964	req.ApplyOptions(opts...)
4965	return out, req.Send()
4966}
4967
4968const opGetPullRequest = "GetPullRequest"
4969
4970// GetPullRequestRequest generates a "aws/request.Request" representing the
4971// client's request for the GetPullRequest operation. The "output" return
4972// value will be populated with the request's response once the request completes
4973// successfully.
4974//
4975// Use "Send" method on the returned Request to send the API call to the service.
4976// the "output" return value is not valid until after Send returns without error.
4977//
4978// See GetPullRequest for more information on using the GetPullRequest
4979// API call, and error handling.
4980//
4981// This method is useful when you want to inject custom logic or configuration
4982// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4983//
4984//
4985//    // Example sending a request using the GetPullRequestRequest method.
4986//    req, resp := client.GetPullRequestRequest(params)
4987//
4988//    err := req.Send()
4989//    if err == nil { // resp is now filled
4990//        fmt.Println(resp)
4991//    }
4992//
4993// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequest
4994func (c *CodeCommit) GetPullRequestRequest(input *GetPullRequestInput) (req *request.Request, output *GetPullRequestOutput) {
4995	op := &request.Operation{
4996		Name:       opGetPullRequest,
4997		HTTPMethod: "POST",
4998		HTTPPath:   "/",
4999	}
5000
5001	if input == nil {
5002		input = &GetPullRequestInput{}
5003	}
5004
5005	output = &GetPullRequestOutput{}
5006	req = c.newRequest(op, input, output)
5007	return
5008}
5009
5010// GetPullRequest API operation for AWS CodeCommit.
5011//
5012// Gets information about a pull request in a specified repository.
5013//
5014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5015// with awserr.Error's Code and Message methods to get detailed information about
5016// the error.
5017//
5018// See the AWS API reference guide for AWS CodeCommit's
5019// API operation GetPullRequest for usage and error information.
5020//
5021// Returned Error Codes:
5022//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
5023//   The pull request ID could not be found. Make sure that you have specified
5024//   the correct repository name and pull request ID, and then try again.
5025//
5026//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
5027//   The pull request ID is not valid. Make sure that you have provided the full
5028//   ID and that the pull request is in the specified repository, and then try
5029//   again.
5030//
5031//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
5032//   A pull request ID is required, but none was provided.
5033//
5034//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
5035//   An encryption integrity check failed.
5036//
5037//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
5038//   An encryption key could not be accessed.
5039//
5040//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
5041//   The encryption key is disabled.
5042//
5043//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
5044//   No encryption key was found.
5045//
5046//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
5047//   The encryption key is not available.
5048//
5049// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequest
5050func (c *CodeCommit) GetPullRequest(input *GetPullRequestInput) (*GetPullRequestOutput, error) {
5051	req, out := c.GetPullRequestRequest(input)
5052	return out, req.Send()
5053}
5054
5055// GetPullRequestWithContext is the same as GetPullRequest with the addition of
5056// the ability to pass a context and additional request options.
5057//
5058// See GetPullRequest for details on how to use this API operation.
5059//
5060// The context must be non-nil and will be used for request cancellation. If
5061// the context is nil a panic will occur. In the future the SDK may create
5062// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5063// for more information on using Contexts.
5064func (c *CodeCommit) GetPullRequestWithContext(ctx aws.Context, input *GetPullRequestInput, opts ...request.Option) (*GetPullRequestOutput, error) {
5065	req, out := c.GetPullRequestRequest(input)
5066	req.SetContext(ctx)
5067	req.ApplyOptions(opts...)
5068	return out, req.Send()
5069}
5070
5071const opGetPullRequestApprovalStates = "GetPullRequestApprovalStates"
5072
5073// GetPullRequestApprovalStatesRequest generates a "aws/request.Request" representing the
5074// client's request for the GetPullRequestApprovalStates operation. The "output" return
5075// value will be populated with the request's response once the request completes
5076// successfully.
5077//
5078// Use "Send" method on the returned Request to send the API call to the service.
5079// the "output" return value is not valid until after Send returns without error.
5080//
5081// See GetPullRequestApprovalStates for more information on using the GetPullRequestApprovalStates
5082// API call, and error handling.
5083//
5084// This method is useful when you want to inject custom logic or configuration
5085// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5086//
5087//
5088//    // Example sending a request using the GetPullRequestApprovalStatesRequest method.
5089//    req, resp := client.GetPullRequestApprovalStatesRequest(params)
5090//
5091//    err := req.Send()
5092//    if err == nil { // resp is now filled
5093//        fmt.Println(resp)
5094//    }
5095//
5096// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequestApprovalStates
5097func (c *CodeCommit) GetPullRequestApprovalStatesRequest(input *GetPullRequestApprovalStatesInput) (req *request.Request, output *GetPullRequestApprovalStatesOutput) {
5098	op := &request.Operation{
5099		Name:       opGetPullRequestApprovalStates,
5100		HTTPMethod: "POST",
5101		HTTPPath:   "/",
5102	}
5103
5104	if input == nil {
5105		input = &GetPullRequestApprovalStatesInput{}
5106	}
5107
5108	output = &GetPullRequestApprovalStatesOutput{}
5109	req = c.newRequest(op, input, output)
5110	return
5111}
5112
5113// GetPullRequestApprovalStates API operation for AWS CodeCommit.
5114//
5115// Gets information about the approval states for a specified pull request.
5116// Approval states only apply to pull requests that have one or more approval
5117// rules applied to them.
5118//
5119// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5120// with awserr.Error's Code and Message methods to get detailed information about
5121// the error.
5122//
5123// See the AWS API reference guide for AWS CodeCommit's
5124// API operation GetPullRequestApprovalStates for usage and error information.
5125//
5126// Returned Error Codes:
5127//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
5128//   The pull request ID could not be found. Make sure that you have specified
5129//   the correct repository name and pull request ID, and then try again.
5130//
5131//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
5132//   The pull request ID is not valid. Make sure that you have provided the full
5133//   ID and that the pull request is in the specified repository, and then try
5134//   again.
5135//
5136//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
5137//   A pull request ID is required, but none was provided.
5138//
5139//   * ErrCodeInvalidRevisionIdException "InvalidRevisionIdException"
5140//   The revision ID is not valid. Use GetPullRequest to determine the value.
5141//
5142//   * ErrCodeRevisionIdRequiredException "RevisionIdRequiredException"
5143//   A revision ID is required, but was not provided.
5144//
5145//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
5146//   An encryption integrity check failed.
5147//
5148//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
5149//   An encryption key could not be accessed.
5150//
5151//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
5152//   The encryption key is disabled.
5153//
5154//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
5155//   No encryption key was found.
5156//
5157//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
5158//   The encryption key is not available.
5159//
5160// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequestApprovalStates
5161func (c *CodeCommit) GetPullRequestApprovalStates(input *GetPullRequestApprovalStatesInput) (*GetPullRequestApprovalStatesOutput, error) {
5162	req, out := c.GetPullRequestApprovalStatesRequest(input)
5163	return out, req.Send()
5164}
5165
5166// GetPullRequestApprovalStatesWithContext is the same as GetPullRequestApprovalStates with the addition of
5167// the ability to pass a context and additional request options.
5168//
5169// See GetPullRequestApprovalStates for details on how to use this API operation.
5170//
5171// The context must be non-nil and will be used for request cancellation. If
5172// the context is nil a panic will occur. In the future the SDK may create
5173// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5174// for more information on using Contexts.
5175func (c *CodeCommit) GetPullRequestApprovalStatesWithContext(ctx aws.Context, input *GetPullRequestApprovalStatesInput, opts ...request.Option) (*GetPullRequestApprovalStatesOutput, error) {
5176	req, out := c.GetPullRequestApprovalStatesRequest(input)
5177	req.SetContext(ctx)
5178	req.ApplyOptions(opts...)
5179	return out, req.Send()
5180}
5181
5182const opGetPullRequestOverrideState = "GetPullRequestOverrideState"
5183
5184// GetPullRequestOverrideStateRequest generates a "aws/request.Request" representing the
5185// client's request for the GetPullRequestOverrideState operation. The "output" return
5186// value will be populated with the request's response once the request completes
5187// successfully.
5188//
5189// Use "Send" method on the returned Request to send the API call to the service.
5190// the "output" return value is not valid until after Send returns without error.
5191//
5192// See GetPullRequestOverrideState for more information on using the GetPullRequestOverrideState
5193// API call, and error handling.
5194//
5195// This method is useful when you want to inject custom logic or configuration
5196// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5197//
5198//
5199//    // Example sending a request using the GetPullRequestOverrideStateRequest method.
5200//    req, resp := client.GetPullRequestOverrideStateRequest(params)
5201//
5202//    err := req.Send()
5203//    if err == nil { // resp is now filled
5204//        fmt.Println(resp)
5205//    }
5206//
5207// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequestOverrideState
5208func (c *CodeCommit) GetPullRequestOverrideStateRequest(input *GetPullRequestOverrideStateInput) (req *request.Request, output *GetPullRequestOverrideStateOutput) {
5209	op := &request.Operation{
5210		Name:       opGetPullRequestOverrideState,
5211		HTTPMethod: "POST",
5212		HTTPPath:   "/",
5213	}
5214
5215	if input == nil {
5216		input = &GetPullRequestOverrideStateInput{}
5217	}
5218
5219	output = &GetPullRequestOverrideStateOutput{}
5220	req = c.newRequest(op, input, output)
5221	return
5222}
5223
5224// GetPullRequestOverrideState API operation for AWS CodeCommit.
5225//
5226// Returns information about whether approval rules have been set aside (overridden)
5227// for a pull request, and if so, the Amazon Resource Name (ARN) of the user
5228// or identity that overrode the rules and their requirements for the pull request.
5229//
5230// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5231// with awserr.Error's Code and Message methods to get detailed information about
5232// the error.
5233//
5234// See the AWS API reference guide for AWS CodeCommit's
5235// API operation GetPullRequestOverrideState for usage and error information.
5236//
5237// Returned Error Codes:
5238//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
5239//   The pull request ID could not be found. Make sure that you have specified
5240//   the correct repository name and pull request ID, and then try again.
5241//
5242//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
5243//   The pull request ID is not valid. Make sure that you have provided the full
5244//   ID and that the pull request is in the specified repository, and then try
5245//   again.
5246//
5247//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
5248//   A pull request ID is required, but none was provided.
5249//
5250//   * ErrCodeInvalidRevisionIdException "InvalidRevisionIdException"
5251//   The revision ID is not valid. Use GetPullRequest to determine the value.
5252//
5253//   * ErrCodeRevisionIdRequiredException "RevisionIdRequiredException"
5254//   A revision ID is required, but was not provided.
5255//
5256//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
5257//   An encryption integrity check failed.
5258//
5259//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
5260//   An encryption key could not be accessed.
5261//
5262//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
5263//   The encryption key is disabled.
5264//
5265//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
5266//   No encryption key was found.
5267//
5268//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
5269//   The encryption key is not available.
5270//
5271// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetPullRequestOverrideState
5272func (c *CodeCommit) GetPullRequestOverrideState(input *GetPullRequestOverrideStateInput) (*GetPullRequestOverrideStateOutput, error) {
5273	req, out := c.GetPullRequestOverrideStateRequest(input)
5274	return out, req.Send()
5275}
5276
5277// GetPullRequestOverrideStateWithContext is the same as GetPullRequestOverrideState with the addition of
5278// the ability to pass a context and additional request options.
5279//
5280// See GetPullRequestOverrideState for details on how to use this API operation.
5281//
5282// The context must be non-nil and will be used for request cancellation. If
5283// the context is nil a panic will occur. In the future the SDK may create
5284// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5285// for more information on using Contexts.
5286func (c *CodeCommit) GetPullRequestOverrideStateWithContext(ctx aws.Context, input *GetPullRequestOverrideStateInput, opts ...request.Option) (*GetPullRequestOverrideStateOutput, error) {
5287	req, out := c.GetPullRequestOverrideStateRequest(input)
5288	req.SetContext(ctx)
5289	req.ApplyOptions(opts...)
5290	return out, req.Send()
5291}
5292
5293const opGetRepository = "GetRepository"
5294
5295// GetRepositoryRequest generates a "aws/request.Request" representing the
5296// client's request for the GetRepository operation. The "output" return
5297// value will be populated with the request's response once the request completes
5298// successfully.
5299//
5300// Use "Send" method on the returned Request to send the API call to the service.
5301// the "output" return value is not valid until after Send returns without error.
5302//
5303// See GetRepository for more information on using the GetRepository
5304// API call, and error handling.
5305//
5306// This method is useful when you want to inject custom logic or configuration
5307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5308//
5309//
5310//    // Example sending a request using the GetRepositoryRequest method.
5311//    req, resp := client.GetRepositoryRequest(params)
5312//
5313//    err := req.Send()
5314//    if err == nil { // resp is now filled
5315//        fmt.Println(resp)
5316//    }
5317//
5318// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetRepository
5319func (c *CodeCommit) GetRepositoryRequest(input *GetRepositoryInput) (req *request.Request, output *GetRepositoryOutput) {
5320	op := &request.Operation{
5321		Name:       opGetRepository,
5322		HTTPMethod: "POST",
5323		HTTPPath:   "/",
5324	}
5325
5326	if input == nil {
5327		input = &GetRepositoryInput{}
5328	}
5329
5330	output = &GetRepositoryOutput{}
5331	req = c.newRequest(op, input, output)
5332	return
5333}
5334
5335// GetRepository API operation for AWS CodeCommit.
5336//
5337// Returns information about a repository.
5338//
5339// The description field for a repository accepts all HTML characters and all
5340// valid Unicode characters. Applications that do not HTML-encode the description
5341// and display it in a webpage can expose users to potentially malicious code.
5342// Make sure that you HTML-encode the description field in any application that
5343// uses this API to display the repository description on a webpage.
5344//
5345// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5346// with awserr.Error's Code and Message methods to get detailed information about
5347// the error.
5348//
5349// See the AWS API reference guide for AWS CodeCommit's
5350// API operation GetRepository for usage and error information.
5351//
5352// Returned Error Codes:
5353//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
5354//   A repository name is required, but was not specified.
5355//
5356//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
5357//   The specified repository does not exist.
5358//
5359//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
5360//   A specified repository name is not valid.
5361//
5362//   This exception occurs only when a specified repository name is not valid.
5363//   Other exceptions occur when a required repository parameter is missing, or
5364//   when a specified repository does not exist.
5365//
5366//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
5367//   An encryption integrity check failed.
5368//
5369//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
5370//   An encryption key could not be accessed.
5371//
5372//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
5373//   The encryption key is disabled.
5374//
5375//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
5376//   No encryption key was found.
5377//
5378//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
5379//   The encryption key is not available.
5380//
5381// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetRepository
5382func (c *CodeCommit) GetRepository(input *GetRepositoryInput) (*GetRepositoryOutput, error) {
5383	req, out := c.GetRepositoryRequest(input)
5384	return out, req.Send()
5385}
5386
5387// GetRepositoryWithContext is the same as GetRepository with the addition of
5388// the ability to pass a context and additional request options.
5389//
5390// See GetRepository for details on how to use this API operation.
5391//
5392// The context must be non-nil and will be used for request cancellation. If
5393// the context is nil a panic will occur. In the future the SDK may create
5394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5395// for more information on using Contexts.
5396func (c *CodeCommit) GetRepositoryWithContext(ctx aws.Context, input *GetRepositoryInput, opts ...request.Option) (*GetRepositoryOutput, error) {
5397	req, out := c.GetRepositoryRequest(input)
5398	req.SetContext(ctx)
5399	req.ApplyOptions(opts...)
5400	return out, req.Send()
5401}
5402
5403const opGetRepositoryTriggers = "GetRepositoryTriggers"
5404
5405// GetRepositoryTriggersRequest generates a "aws/request.Request" representing the
5406// client's request for the GetRepositoryTriggers operation. The "output" return
5407// value will be populated with the request's response once the request completes
5408// successfully.
5409//
5410// Use "Send" method on the returned Request to send the API call to the service.
5411// the "output" return value is not valid until after Send returns without error.
5412//
5413// See GetRepositoryTriggers for more information on using the GetRepositoryTriggers
5414// API call, and error handling.
5415//
5416// This method is useful when you want to inject custom logic or configuration
5417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5418//
5419//
5420//    // Example sending a request using the GetRepositoryTriggersRequest method.
5421//    req, resp := client.GetRepositoryTriggersRequest(params)
5422//
5423//    err := req.Send()
5424//    if err == nil { // resp is now filled
5425//        fmt.Println(resp)
5426//    }
5427//
5428// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetRepositoryTriggers
5429func (c *CodeCommit) GetRepositoryTriggersRequest(input *GetRepositoryTriggersInput) (req *request.Request, output *GetRepositoryTriggersOutput) {
5430	op := &request.Operation{
5431		Name:       opGetRepositoryTriggers,
5432		HTTPMethod: "POST",
5433		HTTPPath:   "/",
5434	}
5435
5436	if input == nil {
5437		input = &GetRepositoryTriggersInput{}
5438	}
5439
5440	output = &GetRepositoryTriggersOutput{}
5441	req = c.newRequest(op, input, output)
5442	return
5443}
5444
5445// GetRepositoryTriggers API operation for AWS CodeCommit.
5446//
5447// Gets information about triggers configured for a repository.
5448//
5449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5450// with awserr.Error's Code and Message methods to get detailed information about
5451// the error.
5452//
5453// See the AWS API reference guide for AWS CodeCommit's
5454// API operation GetRepositoryTriggers for usage and error information.
5455//
5456// Returned Error Codes:
5457//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
5458//   A repository name is required, but was not specified.
5459//
5460//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
5461//   A specified repository name is not valid.
5462//
5463//   This exception occurs only when a specified repository name is not valid.
5464//   Other exceptions occur when a required repository parameter is missing, or
5465//   when a specified repository does not exist.
5466//
5467//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
5468//   The specified repository does not exist.
5469//
5470//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
5471//   An encryption integrity check failed.
5472//
5473//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
5474//   An encryption key could not be accessed.
5475//
5476//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
5477//   The encryption key is disabled.
5478//
5479//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
5480//   No encryption key was found.
5481//
5482//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
5483//   The encryption key is not available.
5484//
5485// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetRepositoryTriggers
5486func (c *CodeCommit) GetRepositoryTriggers(input *GetRepositoryTriggersInput) (*GetRepositoryTriggersOutput, error) {
5487	req, out := c.GetRepositoryTriggersRequest(input)
5488	return out, req.Send()
5489}
5490
5491// GetRepositoryTriggersWithContext is the same as GetRepositoryTriggers with the addition of
5492// the ability to pass a context and additional request options.
5493//
5494// See GetRepositoryTriggers for details on how to use this API operation.
5495//
5496// The context must be non-nil and will be used for request cancellation. If
5497// the context is nil a panic will occur. In the future the SDK may create
5498// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5499// for more information on using Contexts.
5500func (c *CodeCommit) GetRepositoryTriggersWithContext(ctx aws.Context, input *GetRepositoryTriggersInput, opts ...request.Option) (*GetRepositoryTriggersOutput, error) {
5501	req, out := c.GetRepositoryTriggersRequest(input)
5502	req.SetContext(ctx)
5503	req.ApplyOptions(opts...)
5504	return out, req.Send()
5505}
5506
5507const opListApprovalRuleTemplates = "ListApprovalRuleTemplates"
5508
5509// ListApprovalRuleTemplatesRequest generates a "aws/request.Request" representing the
5510// client's request for the ListApprovalRuleTemplates operation. The "output" return
5511// value will be populated with the request's response once the request completes
5512// successfully.
5513//
5514// Use "Send" method on the returned Request to send the API call to the service.
5515// the "output" return value is not valid until after Send returns without error.
5516//
5517// See ListApprovalRuleTemplates for more information on using the ListApprovalRuleTemplates
5518// API call, and error handling.
5519//
5520// This method is useful when you want to inject custom logic or configuration
5521// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5522//
5523//
5524//    // Example sending a request using the ListApprovalRuleTemplatesRequest method.
5525//    req, resp := client.ListApprovalRuleTemplatesRequest(params)
5526//
5527//    err := req.Send()
5528//    if err == nil { // resp is now filled
5529//        fmt.Println(resp)
5530//    }
5531//
5532// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListApprovalRuleTemplates
5533func (c *CodeCommit) ListApprovalRuleTemplatesRequest(input *ListApprovalRuleTemplatesInput) (req *request.Request, output *ListApprovalRuleTemplatesOutput) {
5534	op := &request.Operation{
5535		Name:       opListApprovalRuleTemplates,
5536		HTTPMethod: "POST",
5537		HTTPPath:   "/",
5538		Paginator: &request.Paginator{
5539			InputTokens:     []string{"nextToken"},
5540			OutputTokens:    []string{"nextToken"},
5541			LimitToken:      "maxResults",
5542			TruncationToken: "",
5543		},
5544	}
5545
5546	if input == nil {
5547		input = &ListApprovalRuleTemplatesInput{}
5548	}
5549
5550	output = &ListApprovalRuleTemplatesOutput{}
5551	req = c.newRequest(op, input, output)
5552	return
5553}
5554
5555// ListApprovalRuleTemplates API operation for AWS CodeCommit.
5556//
5557// Lists all approval rule templates in the specified AWS Region in your AWS
5558// account. If an AWS Region is not specified, the AWS Region where you are
5559// signed in is used.
5560//
5561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5562// with awserr.Error's Code and Message methods to get detailed information about
5563// the error.
5564//
5565// See the AWS API reference guide for AWS CodeCommit's
5566// API operation ListApprovalRuleTemplates for usage and error information.
5567//
5568// Returned Error Codes:
5569//   * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException"
5570//   The specified number of maximum results is not valid.
5571//
5572//   * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException"
5573//   The specified continuation token is not valid.
5574//
5575// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListApprovalRuleTemplates
5576func (c *CodeCommit) ListApprovalRuleTemplates(input *ListApprovalRuleTemplatesInput) (*ListApprovalRuleTemplatesOutput, error) {
5577	req, out := c.ListApprovalRuleTemplatesRequest(input)
5578	return out, req.Send()
5579}
5580
5581// ListApprovalRuleTemplatesWithContext is the same as ListApprovalRuleTemplates with the addition of
5582// the ability to pass a context and additional request options.
5583//
5584// See ListApprovalRuleTemplates for details on how to use this API operation.
5585//
5586// The context must be non-nil and will be used for request cancellation. If
5587// the context is nil a panic will occur. In the future the SDK may create
5588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5589// for more information on using Contexts.
5590func (c *CodeCommit) ListApprovalRuleTemplatesWithContext(ctx aws.Context, input *ListApprovalRuleTemplatesInput, opts ...request.Option) (*ListApprovalRuleTemplatesOutput, error) {
5591	req, out := c.ListApprovalRuleTemplatesRequest(input)
5592	req.SetContext(ctx)
5593	req.ApplyOptions(opts...)
5594	return out, req.Send()
5595}
5596
5597// ListApprovalRuleTemplatesPages iterates over the pages of a ListApprovalRuleTemplates operation,
5598// calling the "fn" function with the response data for each page. To stop
5599// iterating, return false from the fn function.
5600//
5601// See ListApprovalRuleTemplates method for more information on how to use this operation.
5602//
5603// Note: This operation can generate multiple requests to a service.
5604//
5605//    // Example iterating over at most 3 pages of a ListApprovalRuleTemplates operation.
5606//    pageNum := 0
5607//    err := client.ListApprovalRuleTemplatesPages(params,
5608//        func(page *codecommit.ListApprovalRuleTemplatesOutput, lastPage bool) bool {
5609//            pageNum++
5610//            fmt.Println(page)
5611//            return pageNum <= 3
5612//        })
5613//
5614func (c *CodeCommit) ListApprovalRuleTemplatesPages(input *ListApprovalRuleTemplatesInput, fn func(*ListApprovalRuleTemplatesOutput, bool) bool) error {
5615	return c.ListApprovalRuleTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
5616}
5617
5618// ListApprovalRuleTemplatesPagesWithContext same as ListApprovalRuleTemplatesPages except
5619// it takes a Context and allows setting request options on the pages.
5620//
5621// The context must be non-nil and will be used for request cancellation. If
5622// the context is nil a panic will occur. In the future the SDK may create
5623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5624// for more information on using Contexts.
5625func (c *CodeCommit) ListApprovalRuleTemplatesPagesWithContext(ctx aws.Context, input *ListApprovalRuleTemplatesInput, fn func(*ListApprovalRuleTemplatesOutput, bool) bool, opts ...request.Option) error {
5626	p := request.Pagination{
5627		NewRequest: func() (*request.Request, error) {
5628			var inCpy *ListApprovalRuleTemplatesInput
5629			if input != nil {
5630				tmp := *input
5631				inCpy = &tmp
5632			}
5633			req, _ := c.ListApprovalRuleTemplatesRequest(inCpy)
5634			req.SetContext(ctx)
5635			req.ApplyOptions(opts...)
5636			return req, nil
5637		},
5638	}
5639
5640	for p.Next() {
5641		if !fn(p.Page().(*ListApprovalRuleTemplatesOutput), !p.HasNextPage()) {
5642			break
5643		}
5644	}
5645
5646	return p.Err()
5647}
5648
5649const opListAssociatedApprovalRuleTemplatesForRepository = "ListAssociatedApprovalRuleTemplatesForRepository"
5650
5651// ListAssociatedApprovalRuleTemplatesForRepositoryRequest generates a "aws/request.Request" representing the
5652// client's request for the ListAssociatedApprovalRuleTemplatesForRepository operation. The "output" return
5653// value will be populated with the request's response once the request completes
5654// successfully.
5655//
5656// Use "Send" method on the returned Request to send the API call to the service.
5657// the "output" return value is not valid until after Send returns without error.
5658//
5659// See ListAssociatedApprovalRuleTemplatesForRepository for more information on using the ListAssociatedApprovalRuleTemplatesForRepository
5660// API call, and error handling.
5661//
5662// This method is useful when you want to inject custom logic or configuration
5663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5664//
5665//
5666//    // Example sending a request using the ListAssociatedApprovalRuleTemplatesForRepositoryRequest method.
5667//    req, resp := client.ListAssociatedApprovalRuleTemplatesForRepositoryRequest(params)
5668//
5669//    err := req.Send()
5670//    if err == nil { // resp is now filled
5671//        fmt.Println(resp)
5672//    }
5673//
5674// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListAssociatedApprovalRuleTemplatesForRepository
5675func (c *CodeCommit) ListAssociatedApprovalRuleTemplatesForRepositoryRequest(input *ListAssociatedApprovalRuleTemplatesForRepositoryInput) (req *request.Request, output *ListAssociatedApprovalRuleTemplatesForRepositoryOutput) {
5676	op := &request.Operation{
5677		Name:       opListAssociatedApprovalRuleTemplatesForRepository,
5678		HTTPMethod: "POST",
5679		HTTPPath:   "/",
5680		Paginator: &request.Paginator{
5681			InputTokens:     []string{"nextToken"},
5682			OutputTokens:    []string{"nextToken"},
5683			LimitToken:      "maxResults",
5684			TruncationToken: "",
5685		},
5686	}
5687
5688	if input == nil {
5689		input = &ListAssociatedApprovalRuleTemplatesForRepositoryInput{}
5690	}
5691
5692	output = &ListAssociatedApprovalRuleTemplatesForRepositoryOutput{}
5693	req = c.newRequest(op, input, output)
5694	return
5695}
5696
5697// ListAssociatedApprovalRuleTemplatesForRepository API operation for AWS CodeCommit.
5698//
5699// Lists all approval rule templates that are associated with a specified repository.
5700//
5701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5702// with awserr.Error's Code and Message methods to get detailed information about
5703// the error.
5704//
5705// See the AWS API reference guide for AWS CodeCommit's
5706// API operation ListAssociatedApprovalRuleTemplatesForRepository for usage and error information.
5707//
5708// Returned Error Codes:
5709//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
5710//   A repository name is required, but was not specified.
5711//
5712//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
5713//   A specified repository name is not valid.
5714//
5715//   This exception occurs only when a specified repository name is not valid.
5716//   Other exceptions occur when a required repository parameter is missing, or
5717//   when a specified repository does not exist.
5718//
5719//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
5720//   The specified repository does not exist.
5721//
5722//   * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException"
5723//   The specified number of maximum results is not valid.
5724//
5725//   * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException"
5726//   The specified continuation token is not valid.
5727//
5728//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
5729//   An encryption integrity check failed.
5730//
5731//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
5732//   An encryption key could not be accessed.
5733//
5734//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
5735//   The encryption key is disabled.
5736//
5737//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
5738//   No encryption key was found.
5739//
5740//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
5741//   The encryption key is not available.
5742//
5743// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListAssociatedApprovalRuleTemplatesForRepository
5744func (c *CodeCommit) ListAssociatedApprovalRuleTemplatesForRepository(input *ListAssociatedApprovalRuleTemplatesForRepositoryInput) (*ListAssociatedApprovalRuleTemplatesForRepositoryOutput, error) {
5745	req, out := c.ListAssociatedApprovalRuleTemplatesForRepositoryRequest(input)
5746	return out, req.Send()
5747}
5748
5749// ListAssociatedApprovalRuleTemplatesForRepositoryWithContext is the same as ListAssociatedApprovalRuleTemplatesForRepository with the addition of
5750// the ability to pass a context and additional request options.
5751//
5752// See ListAssociatedApprovalRuleTemplatesForRepository for details on how to use this API operation.
5753//
5754// The context must be non-nil and will be used for request cancellation. If
5755// the context is nil a panic will occur. In the future the SDK may create
5756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5757// for more information on using Contexts.
5758func (c *CodeCommit) ListAssociatedApprovalRuleTemplatesForRepositoryWithContext(ctx aws.Context, input *ListAssociatedApprovalRuleTemplatesForRepositoryInput, opts ...request.Option) (*ListAssociatedApprovalRuleTemplatesForRepositoryOutput, error) {
5759	req, out := c.ListAssociatedApprovalRuleTemplatesForRepositoryRequest(input)
5760	req.SetContext(ctx)
5761	req.ApplyOptions(opts...)
5762	return out, req.Send()
5763}
5764
5765// ListAssociatedApprovalRuleTemplatesForRepositoryPages iterates over the pages of a ListAssociatedApprovalRuleTemplatesForRepository operation,
5766// calling the "fn" function with the response data for each page. To stop
5767// iterating, return false from the fn function.
5768//
5769// See ListAssociatedApprovalRuleTemplatesForRepository method for more information on how to use this operation.
5770//
5771// Note: This operation can generate multiple requests to a service.
5772//
5773//    // Example iterating over at most 3 pages of a ListAssociatedApprovalRuleTemplatesForRepository operation.
5774//    pageNum := 0
5775//    err := client.ListAssociatedApprovalRuleTemplatesForRepositoryPages(params,
5776//        func(page *codecommit.ListAssociatedApprovalRuleTemplatesForRepositoryOutput, lastPage bool) bool {
5777//            pageNum++
5778//            fmt.Println(page)
5779//            return pageNum <= 3
5780//        })
5781//
5782func (c *CodeCommit) ListAssociatedApprovalRuleTemplatesForRepositoryPages(input *ListAssociatedApprovalRuleTemplatesForRepositoryInput, fn func(*ListAssociatedApprovalRuleTemplatesForRepositoryOutput, bool) bool) error {
5783	return c.ListAssociatedApprovalRuleTemplatesForRepositoryPagesWithContext(aws.BackgroundContext(), input, fn)
5784}
5785
5786// ListAssociatedApprovalRuleTemplatesForRepositoryPagesWithContext same as ListAssociatedApprovalRuleTemplatesForRepositoryPages except
5787// it takes a Context and allows setting request options on the pages.
5788//
5789// The context must be non-nil and will be used for request cancellation. If
5790// the context is nil a panic will occur. In the future the SDK may create
5791// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5792// for more information on using Contexts.
5793func (c *CodeCommit) ListAssociatedApprovalRuleTemplatesForRepositoryPagesWithContext(ctx aws.Context, input *ListAssociatedApprovalRuleTemplatesForRepositoryInput, fn func(*ListAssociatedApprovalRuleTemplatesForRepositoryOutput, bool) bool, opts ...request.Option) error {
5794	p := request.Pagination{
5795		NewRequest: func() (*request.Request, error) {
5796			var inCpy *ListAssociatedApprovalRuleTemplatesForRepositoryInput
5797			if input != nil {
5798				tmp := *input
5799				inCpy = &tmp
5800			}
5801			req, _ := c.ListAssociatedApprovalRuleTemplatesForRepositoryRequest(inCpy)
5802			req.SetContext(ctx)
5803			req.ApplyOptions(opts...)
5804			return req, nil
5805		},
5806	}
5807
5808	for p.Next() {
5809		if !fn(p.Page().(*ListAssociatedApprovalRuleTemplatesForRepositoryOutput), !p.HasNextPage()) {
5810			break
5811		}
5812	}
5813
5814	return p.Err()
5815}
5816
5817const opListBranches = "ListBranches"
5818
5819// ListBranchesRequest generates a "aws/request.Request" representing the
5820// client's request for the ListBranches operation. The "output" return
5821// value will be populated with the request's response once the request completes
5822// successfully.
5823//
5824// Use "Send" method on the returned Request to send the API call to the service.
5825// the "output" return value is not valid until after Send returns without error.
5826//
5827// See ListBranches for more information on using the ListBranches
5828// API call, and error handling.
5829//
5830// This method is useful when you want to inject custom logic or configuration
5831// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5832//
5833//
5834//    // Example sending a request using the ListBranchesRequest method.
5835//    req, resp := client.ListBranchesRequest(params)
5836//
5837//    err := req.Send()
5838//    if err == nil { // resp is now filled
5839//        fmt.Println(resp)
5840//    }
5841//
5842// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListBranches
5843func (c *CodeCommit) ListBranchesRequest(input *ListBranchesInput) (req *request.Request, output *ListBranchesOutput) {
5844	op := &request.Operation{
5845		Name:       opListBranches,
5846		HTTPMethod: "POST",
5847		HTTPPath:   "/",
5848		Paginator: &request.Paginator{
5849			InputTokens:     []string{"nextToken"},
5850			OutputTokens:    []string{"nextToken"},
5851			LimitToken:      "",
5852			TruncationToken: "",
5853		},
5854	}
5855
5856	if input == nil {
5857		input = &ListBranchesInput{}
5858	}
5859
5860	output = &ListBranchesOutput{}
5861	req = c.newRequest(op, input, output)
5862	return
5863}
5864
5865// ListBranches API operation for AWS CodeCommit.
5866//
5867// Gets information about one or more branches in a repository.
5868//
5869// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5870// with awserr.Error's Code and Message methods to get detailed information about
5871// the error.
5872//
5873// See the AWS API reference guide for AWS CodeCommit's
5874// API operation ListBranches for usage and error information.
5875//
5876// Returned Error Codes:
5877//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
5878//   A repository name is required, but was not specified.
5879//
5880//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
5881//   The specified repository does not exist.
5882//
5883//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
5884//   A specified repository name is not valid.
5885//
5886//   This exception occurs only when a specified repository name is not valid.
5887//   Other exceptions occur when a required repository parameter is missing, or
5888//   when a specified repository does not exist.
5889//
5890//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
5891//   An encryption integrity check failed.
5892//
5893//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
5894//   An encryption key could not be accessed.
5895//
5896//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
5897//   The encryption key is disabled.
5898//
5899//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
5900//   No encryption key was found.
5901//
5902//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
5903//   The encryption key is not available.
5904//
5905//   * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException"
5906//   The specified continuation token is not valid.
5907//
5908// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListBranches
5909func (c *CodeCommit) ListBranches(input *ListBranchesInput) (*ListBranchesOutput, error) {
5910	req, out := c.ListBranchesRequest(input)
5911	return out, req.Send()
5912}
5913
5914// ListBranchesWithContext is the same as ListBranches with the addition of
5915// the ability to pass a context and additional request options.
5916//
5917// See ListBranches for details on how to use this API operation.
5918//
5919// The context must be non-nil and will be used for request cancellation. If
5920// the context is nil a panic will occur. In the future the SDK may create
5921// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5922// for more information on using Contexts.
5923func (c *CodeCommit) ListBranchesWithContext(ctx aws.Context, input *ListBranchesInput, opts ...request.Option) (*ListBranchesOutput, error) {
5924	req, out := c.ListBranchesRequest(input)
5925	req.SetContext(ctx)
5926	req.ApplyOptions(opts...)
5927	return out, req.Send()
5928}
5929
5930// ListBranchesPages iterates over the pages of a ListBranches operation,
5931// calling the "fn" function with the response data for each page. To stop
5932// iterating, return false from the fn function.
5933//
5934// See ListBranches method for more information on how to use this operation.
5935//
5936// Note: This operation can generate multiple requests to a service.
5937//
5938//    // Example iterating over at most 3 pages of a ListBranches operation.
5939//    pageNum := 0
5940//    err := client.ListBranchesPages(params,
5941//        func(page *codecommit.ListBranchesOutput, lastPage bool) bool {
5942//            pageNum++
5943//            fmt.Println(page)
5944//            return pageNum <= 3
5945//        })
5946//
5947func (c *CodeCommit) ListBranchesPages(input *ListBranchesInput, fn func(*ListBranchesOutput, bool) bool) error {
5948	return c.ListBranchesPagesWithContext(aws.BackgroundContext(), input, fn)
5949}
5950
5951// ListBranchesPagesWithContext same as ListBranchesPages except
5952// it takes a Context and allows setting request options on the pages.
5953//
5954// The context must be non-nil and will be used for request cancellation. If
5955// the context is nil a panic will occur. In the future the SDK may create
5956// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5957// for more information on using Contexts.
5958func (c *CodeCommit) ListBranchesPagesWithContext(ctx aws.Context, input *ListBranchesInput, fn func(*ListBranchesOutput, bool) bool, opts ...request.Option) error {
5959	p := request.Pagination{
5960		NewRequest: func() (*request.Request, error) {
5961			var inCpy *ListBranchesInput
5962			if input != nil {
5963				tmp := *input
5964				inCpy = &tmp
5965			}
5966			req, _ := c.ListBranchesRequest(inCpy)
5967			req.SetContext(ctx)
5968			req.ApplyOptions(opts...)
5969			return req, nil
5970		},
5971	}
5972
5973	for p.Next() {
5974		if !fn(p.Page().(*ListBranchesOutput), !p.HasNextPage()) {
5975			break
5976		}
5977	}
5978
5979	return p.Err()
5980}
5981
5982const opListPullRequests = "ListPullRequests"
5983
5984// ListPullRequestsRequest generates a "aws/request.Request" representing the
5985// client's request for the ListPullRequests operation. The "output" return
5986// value will be populated with the request's response once the request completes
5987// successfully.
5988//
5989// Use "Send" method on the returned Request to send the API call to the service.
5990// the "output" return value is not valid until after Send returns without error.
5991//
5992// See ListPullRequests for more information on using the ListPullRequests
5993// API call, and error handling.
5994//
5995// This method is useful when you want to inject custom logic or configuration
5996// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5997//
5998//
5999//    // Example sending a request using the ListPullRequestsRequest method.
6000//    req, resp := client.ListPullRequestsRequest(params)
6001//
6002//    err := req.Send()
6003//    if err == nil { // resp is now filled
6004//        fmt.Println(resp)
6005//    }
6006//
6007// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListPullRequests
6008func (c *CodeCommit) ListPullRequestsRequest(input *ListPullRequestsInput) (req *request.Request, output *ListPullRequestsOutput) {
6009	op := &request.Operation{
6010		Name:       opListPullRequests,
6011		HTTPMethod: "POST",
6012		HTTPPath:   "/",
6013		Paginator: &request.Paginator{
6014			InputTokens:     []string{"nextToken"},
6015			OutputTokens:    []string{"nextToken"},
6016			LimitToken:      "maxResults",
6017			TruncationToken: "",
6018		},
6019	}
6020
6021	if input == nil {
6022		input = &ListPullRequestsInput{}
6023	}
6024
6025	output = &ListPullRequestsOutput{}
6026	req = c.newRequest(op, input, output)
6027	return
6028}
6029
6030// ListPullRequests API operation for AWS CodeCommit.
6031//
6032// Returns a list of pull requests for a specified repository. The return list
6033// can be refined by pull request status or pull request author ARN.
6034//
6035// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6036// with awserr.Error's Code and Message methods to get detailed information about
6037// the error.
6038//
6039// See the AWS API reference guide for AWS CodeCommit's
6040// API operation ListPullRequests for usage and error information.
6041//
6042// Returned Error Codes:
6043//   * ErrCodeInvalidPullRequestStatusException "InvalidPullRequestStatusException"
6044//   The pull request status is not valid. The only valid values are OPEN and
6045//   CLOSED.
6046//
6047//   * ErrCodeInvalidAuthorArnException "InvalidAuthorArnException"
6048//   The Amazon Resource Name (ARN) is not valid. Make sure that you have provided
6049//   the full ARN for the author of the pull request, and then try again.
6050//
6051//   * ErrCodeAuthorDoesNotExistException "AuthorDoesNotExistException"
6052//   The specified Amazon Resource Name (ARN) does not exist in the AWS account.
6053//
6054//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
6055//   A repository name is required, but was not specified.
6056//
6057//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
6058//   A specified repository name is not valid.
6059//
6060//   This exception occurs only when a specified repository name is not valid.
6061//   Other exceptions occur when a required repository parameter is missing, or
6062//   when a specified repository does not exist.
6063//
6064//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
6065//   The specified repository does not exist.
6066//
6067//   * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException"
6068//   The specified number of maximum results is not valid.
6069//
6070//   * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException"
6071//   The specified continuation token is not valid.
6072//
6073//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
6074//   An encryption integrity check failed.
6075//
6076//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
6077//   An encryption key could not be accessed.
6078//
6079//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
6080//   The encryption key is disabled.
6081//
6082//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
6083//   No encryption key was found.
6084//
6085//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
6086//   The encryption key is not available.
6087//
6088// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListPullRequests
6089func (c *CodeCommit) ListPullRequests(input *ListPullRequestsInput) (*ListPullRequestsOutput, error) {
6090	req, out := c.ListPullRequestsRequest(input)
6091	return out, req.Send()
6092}
6093
6094// ListPullRequestsWithContext is the same as ListPullRequests with the addition of
6095// the ability to pass a context and additional request options.
6096//
6097// See ListPullRequests for details on how to use this API operation.
6098//
6099// The context must be non-nil and will be used for request cancellation. If
6100// the context is nil a panic will occur. In the future the SDK may create
6101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6102// for more information on using Contexts.
6103func (c *CodeCommit) ListPullRequestsWithContext(ctx aws.Context, input *ListPullRequestsInput, opts ...request.Option) (*ListPullRequestsOutput, error) {
6104	req, out := c.ListPullRequestsRequest(input)
6105	req.SetContext(ctx)
6106	req.ApplyOptions(opts...)
6107	return out, req.Send()
6108}
6109
6110// ListPullRequestsPages iterates over the pages of a ListPullRequests operation,
6111// calling the "fn" function with the response data for each page. To stop
6112// iterating, return false from the fn function.
6113//
6114// See ListPullRequests method for more information on how to use this operation.
6115//
6116// Note: This operation can generate multiple requests to a service.
6117//
6118//    // Example iterating over at most 3 pages of a ListPullRequests operation.
6119//    pageNum := 0
6120//    err := client.ListPullRequestsPages(params,
6121//        func(page *codecommit.ListPullRequestsOutput, lastPage bool) bool {
6122//            pageNum++
6123//            fmt.Println(page)
6124//            return pageNum <= 3
6125//        })
6126//
6127func (c *CodeCommit) ListPullRequestsPages(input *ListPullRequestsInput, fn func(*ListPullRequestsOutput, bool) bool) error {
6128	return c.ListPullRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
6129}
6130
6131// ListPullRequestsPagesWithContext same as ListPullRequestsPages except
6132// it takes a Context and allows setting request options on the pages.
6133//
6134// The context must be non-nil and will be used for request cancellation. If
6135// the context is nil a panic will occur. In the future the SDK may create
6136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6137// for more information on using Contexts.
6138func (c *CodeCommit) ListPullRequestsPagesWithContext(ctx aws.Context, input *ListPullRequestsInput, fn func(*ListPullRequestsOutput, bool) bool, opts ...request.Option) error {
6139	p := request.Pagination{
6140		NewRequest: func() (*request.Request, error) {
6141			var inCpy *ListPullRequestsInput
6142			if input != nil {
6143				tmp := *input
6144				inCpy = &tmp
6145			}
6146			req, _ := c.ListPullRequestsRequest(inCpy)
6147			req.SetContext(ctx)
6148			req.ApplyOptions(opts...)
6149			return req, nil
6150		},
6151	}
6152
6153	for p.Next() {
6154		if !fn(p.Page().(*ListPullRequestsOutput), !p.HasNextPage()) {
6155			break
6156		}
6157	}
6158
6159	return p.Err()
6160}
6161
6162const opListRepositories = "ListRepositories"
6163
6164// ListRepositoriesRequest generates a "aws/request.Request" representing the
6165// client's request for the ListRepositories operation. The "output" return
6166// value will be populated with the request's response once the request completes
6167// successfully.
6168//
6169// Use "Send" method on the returned Request to send the API call to the service.
6170// the "output" return value is not valid until after Send returns without error.
6171//
6172// See ListRepositories for more information on using the ListRepositories
6173// API call, and error handling.
6174//
6175// This method is useful when you want to inject custom logic or configuration
6176// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6177//
6178//
6179//    // Example sending a request using the ListRepositoriesRequest method.
6180//    req, resp := client.ListRepositoriesRequest(params)
6181//
6182//    err := req.Send()
6183//    if err == nil { // resp is now filled
6184//        fmt.Println(resp)
6185//    }
6186//
6187// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListRepositories
6188func (c *CodeCommit) ListRepositoriesRequest(input *ListRepositoriesInput) (req *request.Request, output *ListRepositoriesOutput) {
6189	op := &request.Operation{
6190		Name:       opListRepositories,
6191		HTTPMethod: "POST",
6192		HTTPPath:   "/",
6193		Paginator: &request.Paginator{
6194			InputTokens:     []string{"nextToken"},
6195			OutputTokens:    []string{"nextToken"},
6196			LimitToken:      "",
6197			TruncationToken: "",
6198		},
6199	}
6200
6201	if input == nil {
6202		input = &ListRepositoriesInput{}
6203	}
6204
6205	output = &ListRepositoriesOutput{}
6206	req = c.newRequest(op, input, output)
6207	return
6208}
6209
6210// ListRepositories API operation for AWS CodeCommit.
6211//
6212// Gets information about one or more repositories.
6213//
6214// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6215// with awserr.Error's Code and Message methods to get detailed information about
6216// the error.
6217//
6218// See the AWS API reference guide for AWS CodeCommit's
6219// API operation ListRepositories for usage and error information.
6220//
6221// Returned Error Codes:
6222//   * ErrCodeInvalidSortByException "InvalidSortByException"
6223//   The specified sort by value is not valid.
6224//
6225//   * ErrCodeInvalidOrderException "InvalidOrderException"
6226//   The specified sort order is not valid.
6227//
6228//   * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException"
6229//   The specified continuation token is not valid.
6230//
6231// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListRepositories
6232func (c *CodeCommit) ListRepositories(input *ListRepositoriesInput) (*ListRepositoriesOutput, error) {
6233	req, out := c.ListRepositoriesRequest(input)
6234	return out, req.Send()
6235}
6236
6237// ListRepositoriesWithContext is the same as ListRepositories with the addition of
6238// the ability to pass a context and additional request options.
6239//
6240// See ListRepositories for details on how to use this API operation.
6241//
6242// The context must be non-nil and will be used for request cancellation. If
6243// the context is nil a panic will occur. In the future the SDK may create
6244// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6245// for more information on using Contexts.
6246func (c *CodeCommit) ListRepositoriesWithContext(ctx aws.Context, input *ListRepositoriesInput, opts ...request.Option) (*ListRepositoriesOutput, error) {
6247	req, out := c.ListRepositoriesRequest(input)
6248	req.SetContext(ctx)
6249	req.ApplyOptions(opts...)
6250	return out, req.Send()
6251}
6252
6253// ListRepositoriesPages iterates over the pages of a ListRepositories operation,
6254// calling the "fn" function with the response data for each page. To stop
6255// iterating, return false from the fn function.
6256//
6257// See ListRepositories method for more information on how to use this operation.
6258//
6259// Note: This operation can generate multiple requests to a service.
6260//
6261//    // Example iterating over at most 3 pages of a ListRepositories operation.
6262//    pageNum := 0
6263//    err := client.ListRepositoriesPages(params,
6264//        func(page *codecommit.ListRepositoriesOutput, lastPage bool) bool {
6265//            pageNum++
6266//            fmt.Println(page)
6267//            return pageNum <= 3
6268//        })
6269//
6270func (c *CodeCommit) ListRepositoriesPages(input *ListRepositoriesInput, fn func(*ListRepositoriesOutput, bool) bool) error {
6271	return c.ListRepositoriesPagesWithContext(aws.BackgroundContext(), input, fn)
6272}
6273
6274// ListRepositoriesPagesWithContext same as ListRepositoriesPages except
6275// it takes a Context and allows setting request options on the pages.
6276//
6277// The context must be non-nil and will be used for request cancellation. If
6278// the context is nil a panic will occur. In the future the SDK may create
6279// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6280// for more information on using Contexts.
6281func (c *CodeCommit) ListRepositoriesPagesWithContext(ctx aws.Context, input *ListRepositoriesInput, fn func(*ListRepositoriesOutput, bool) bool, opts ...request.Option) error {
6282	p := request.Pagination{
6283		NewRequest: func() (*request.Request, error) {
6284			var inCpy *ListRepositoriesInput
6285			if input != nil {
6286				tmp := *input
6287				inCpy = &tmp
6288			}
6289			req, _ := c.ListRepositoriesRequest(inCpy)
6290			req.SetContext(ctx)
6291			req.ApplyOptions(opts...)
6292			return req, nil
6293		},
6294	}
6295
6296	for p.Next() {
6297		if !fn(p.Page().(*ListRepositoriesOutput), !p.HasNextPage()) {
6298			break
6299		}
6300	}
6301
6302	return p.Err()
6303}
6304
6305const opListRepositoriesForApprovalRuleTemplate = "ListRepositoriesForApprovalRuleTemplate"
6306
6307// ListRepositoriesForApprovalRuleTemplateRequest generates a "aws/request.Request" representing the
6308// client's request for the ListRepositoriesForApprovalRuleTemplate operation. The "output" return
6309// value will be populated with the request's response once the request completes
6310// successfully.
6311//
6312// Use "Send" method on the returned Request to send the API call to the service.
6313// the "output" return value is not valid until after Send returns without error.
6314//
6315// See ListRepositoriesForApprovalRuleTemplate for more information on using the ListRepositoriesForApprovalRuleTemplate
6316// API call, and error handling.
6317//
6318// This method is useful when you want to inject custom logic or configuration
6319// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6320//
6321//
6322//    // Example sending a request using the ListRepositoriesForApprovalRuleTemplateRequest method.
6323//    req, resp := client.ListRepositoriesForApprovalRuleTemplateRequest(params)
6324//
6325//    err := req.Send()
6326//    if err == nil { // resp is now filled
6327//        fmt.Println(resp)
6328//    }
6329//
6330// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListRepositoriesForApprovalRuleTemplate
6331func (c *CodeCommit) ListRepositoriesForApprovalRuleTemplateRequest(input *ListRepositoriesForApprovalRuleTemplateInput) (req *request.Request, output *ListRepositoriesForApprovalRuleTemplateOutput) {
6332	op := &request.Operation{
6333		Name:       opListRepositoriesForApprovalRuleTemplate,
6334		HTTPMethod: "POST",
6335		HTTPPath:   "/",
6336		Paginator: &request.Paginator{
6337			InputTokens:     []string{"nextToken"},
6338			OutputTokens:    []string{"nextToken"},
6339			LimitToken:      "maxResults",
6340			TruncationToken: "",
6341		},
6342	}
6343
6344	if input == nil {
6345		input = &ListRepositoriesForApprovalRuleTemplateInput{}
6346	}
6347
6348	output = &ListRepositoriesForApprovalRuleTemplateOutput{}
6349	req = c.newRequest(op, input, output)
6350	return
6351}
6352
6353// ListRepositoriesForApprovalRuleTemplate API operation for AWS CodeCommit.
6354//
6355// Lists all repositories associated with the specified approval rule template.
6356//
6357// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6358// with awserr.Error's Code and Message methods to get detailed information about
6359// the error.
6360//
6361// See the AWS API reference guide for AWS CodeCommit's
6362// API operation ListRepositoriesForApprovalRuleTemplate for usage and error information.
6363//
6364// Returned Error Codes:
6365//   * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException"
6366//   An approval rule template name is required, but was not specified.
6367//
6368//   * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException"
6369//   The name of the approval rule template is not valid. Template names must
6370//   be between 1 and 100 valid characters in length. For more information about
6371//   limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
6372//
6373//   * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException"
6374//   The specified approval rule template does not exist. Verify that the name
6375//   is correct and that you are signed in to the AWS Region where the template
6376//   was created, and then try again.
6377//
6378//   * ErrCodeInvalidMaxResultsException "InvalidMaxResultsException"
6379//   The specified number of maximum results is not valid.
6380//
6381//   * ErrCodeInvalidContinuationTokenException "InvalidContinuationTokenException"
6382//   The specified continuation token is not valid.
6383//
6384//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
6385//   An encryption integrity check failed.
6386//
6387//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
6388//   An encryption key could not be accessed.
6389//
6390//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
6391//   The encryption key is disabled.
6392//
6393//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
6394//   No encryption key was found.
6395//
6396//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
6397//   The encryption key is not available.
6398//
6399// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListRepositoriesForApprovalRuleTemplate
6400func (c *CodeCommit) ListRepositoriesForApprovalRuleTemplate(input *ListRepositoriesForApprovalRuleTemplateInput) (*ListRepositoriesForApprovalRuleTemplateOutput, error) {
6401	req, out := c.ListRepositoriesForApprovalRuleTemplateRequest(input)
6402	return out, req.Send()
6403}
6404
6405// ListRepositoriesForApprovalRuleTemplateWithContext is the same as ListRepositoriesForApprovalRuleTemplate with the addition of
6406// the ability to pass a context and additional request options.
6407//
6408// See ListRepositoriesForApprovalRuleTemplate for details on how to use this API operation.
6409//
6410// The context must be non-nil and will be used for request cancellation. If
6411// the context is nil a panic will occur. In the future the SDK may create
6412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6413// for more information on using Contexts.
6414func (c *CodeCommit) ListRepositoriesForApprovalRuleTemplateWithContext(ctx aws.Context, input *ListRepositoriesForApprovalRuleTemplateInput, opts ...request.Option) (*ListRepositoriesForApprovalRuleTemplateOutput, error) {
6415	req, out := c.ListRepositoriesForApprovalRuleTemplateRequest(input)
6416	req.SetContext(ctx)
6417	req.ApplyOptions(opts...)
6418	return out, req.Send()
6419}
6420
6421// ListRepositoriesForApprovalRuleTemplatePages iterates over the pages of a ListRepositoriesForApprovalRuleTemplate operation,
6422// calling the "fn" function with the response data for each page. To stop
6423// iterating, return false from the fn function.
6424//
6425// See ListRepositoriesForApprovalRuleTemplate method for more information on how to use this operation.
6426//
6427// Note: This operation can generate multiple requests to a service.
6428//
6429//    // Example iterating over at most 3 pages of a ListRepositoriesForApprovalRuleTemplate operation.
6430//    pageNum := 0
6431//    err := client.ListRepositoriesForApprovalRuleTemplatePages(params,
6432//        func(page *codecommit.ListRepositoriesForApprovalRuleTemplateOutput, lastPage bool) bool {
6433//            pageNum++
6434//            fmt.Println(page)
6435//            return pageNum <= 3
6436//        })
6437//
6438func (c *CodeCommit) ListRepositoriesForApprovalRuleTemplatePages(input *ListRepositoriesForApprovalRuleTemplateInput, fn func(*ListRepositoriesForApprovalRuleTemplateOutput, bool) bool) error {
6439	return c.ListRepositoriesForApprovalRuleTemplatePagesWithContext(aws.BackgroundContext(), input, fn)
6440}
6441
6442// ListRepositoriesForApprovalRuleTemplatePagesWithContext same as ListRepositoriesForApprovalRuleTemplatePages except
6443// it takes a Context and allows setting request options on the pages.
6444//
6445// The context must be non-nil and will be used for request cancellation. If
6446// the context is nil a panic will occur. In the future the SDK may create
6447// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6448// for more information on using Contexts.
6449func (c *CodeCommit) ListRepositoriesForApprovalRuleTemplatePagesWithContext(ctx aws.Context, input *ListRepositoriesForApprovalRuleTemplateInput, fn func(*ListRepositoriesForApprovalRuleTemplateOutput, bool) bool, opts ...request.Option) error {
6450	p := request.Pagination{
6451		NewRequest: func() (*request.Request, error) {
6452			var inCpy *ListRepositoriesForApprovalRuleTemplateInput
6453			if input != nil {
6454				tmp := *input
6455				inCpy = &tmp
6456			}
6457			req, _ := c.ListRepositoriesForApprovalRuleTemplateRequest(inCpy)
6458			req.SetContext(ctx)
6459			req.ApplyOptions(opts...)
6460			return req, nil
6461		},
6462	}
6463
6464	for p.Next() {
6465		if !fn(p.Page().(*ListRepositoriesForApprovalRuleTemplateOutput), !p.HasNextPage()) {
6466			break
6467		}
6468	}
6469
6470	return p.Err()
6471}
6472
6473const opListTagsForResource = "ListTagsForResource"
6474
6475// ListTagsForResourceRequest generates a "aws/request.Request" representing the
6476// client's request for the ListTagsForResource operation. The "output" return
6477// value will be populated with the request's response once the request completes
6478// successfully.
6479//
6480// Use "Send" method on the returned Request to send the API call to the service.
6481// the "output" return value is not valid until after Send returns without error.
6482//
6483// See ListTagsForResource for more information on using the ListTagsForResource
6484// API call, and error handling.
6485//
6486// This method is useful when you want to inject custom logic or configuration
6487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6488//
6489//
6490//    // Example sending a request using the ListTagsForResourceRequest method.
6491//    req, resp := client.ListTagsForResourceRequest(params)
6492//
6493//    err := req.Send()
6494//    if err == nil { // resp is now filled
6495//        fmt.Println(resp)
6496//    }
6497//
6498// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListTagsForResource
6499func (c *CodeCommit) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
6500	op := &request.Operation{
6501		Name:       opListTagsForResource,
6502		HTTPMethod: "POST",
6503		HTTPPath:   "/",
6504	}
6505
6506	if input == nil {
6507		input = &ListTagsForResourceInput{}
6508	}
6509
6510	output = &ListTagsForResourceOutput{}
6511	req = c.newRequest(op, input, output)
6512	return
6513}
6514
6515// ListTagsForResource API operation for AWS CodeCommit.
6516//
6517// Gets information about AWS tags for a specified Amazon Resource Name (ARN)
6518// in AWS CodeCommit. For a list of valid resources in AWS CodeCommit, see CodeCommit
6519// Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats)
6520// in the AWS CodeCommit User Guide.
6521//
6522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6523// with awserr.Error's Code and Message methods to get detailed information about
6524// the error.
6525//
6526// See the AWS API reference guide for AWS CodeCommit's
6527// API operation ListTagsForResource for usage and error information.
6528//
6529// Returned Error Codes:
6530//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
6531//   The specified repository does not exist.
6532//
6533//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
6534//   A specified repository name is not valid.
6535//
6536//   This exception occurs only when a specified repository name is not valid.
6537//   Other exceptions occur when a required repository parameter is missing, or
6538//   when a specified repository does not exist.
6539//
6540//   * ErrCodeResourceArnRequiredException "ResourceArnRequiredException"
6541//   A valid Amazon Resource Name (ARN) for an AWS CodeCommit resource is required.
6542//   For a list of valid resources in AWS CodeCommit, see CodeCommit Resources
6543//   and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats)
6544//   in the AWS CodeCommit User Guide.
6545//
6546//   * ErrCodeInvalidResourceArnException "InvalidResourceArnException"
6547//   The value for the resource ARN is not valid. For more information about resources
6548//   in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats)
6549//   in the AWS CodeCommit User Guide.
6550//
6551// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ListTagsForResource
6552func (c *CodeCommit) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
6553	req, out := c.ListTagsForResourceRequest(input)
6554	return out, req.Send()
6555}
6556
6557// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
6558// the ability to pass a context and additional request options.
6559//
6560// See ListTagsForResource for details on how to use this API operation.
6561//
6562// The context must be non-nil and will be used for request cancellation. If
6563// the context is nil a panic will occur. In the future the SDK may create
6564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6565// for more information on using Contexts.
6566func (c *CodeCommit) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
6567	req, out := c.ListTagsForResourceRequest(input)
6568	req.SetContext(ctx)
6569	req.ApplyOptions(opts...)
6570	return out, req.Send()
6571}
6572
6573const opMergeBranchesByFastForward = "MergeBranchesByFastForward"
6574
6575// MergeBranchesByFastForwardRequest generates a "aws/request.Request" representing the
6576// client's request for the MergeBranchesByFastForward operation. The "output" return
6577// value will be populated with the request's response once the request completes
6578// successfully.
6579//
6580// Use "Send" method on the returned Request to send the API call to the service.
6581// the "output" return value is not valid until after Send returns without error.
6582//
6583// See MergeBranchesByFastForward for more information on using the MergeBranchesByFastForward
6584// API call, and error handling.
6585//
6586// This method is useful when you want to inject custom logic or configuration
6587// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6588//
6589//
6590//    // Example sending a request using the MergeBranchesByFastForwardRequest method.
6591//    req, resp := client.MergeBranchesByFastForwardRequest(params)
6592//
6593//    err := req.Send()
6594//    if err == nil { // resp is now filled
6595//        fmt.Println(resp)
6596//    }
6597//
6598// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByFastForward
6599func (c *CodeCommit) MergeBranchesByFastForwardRequest(input *MergeBranchesByFastForwardInput) (req *request.Request, output *MergeBranchesByFastForwardOutput) {
6600	op := &request.Operation{
6601		Name:       opMergeBranchesByFastForward,
6602		HTTPMethod: "POST",
6603		HTTPPath:   "/",
6604	}
6605
6606	if input == nil {
6607		input = &MergeBranchesByFastForwardInput{}
6608	}
6609
6610	output = &MergeBranchesByFastForwardOutput{}
6611	req = c.newRequest(op, input, output)
6612	return
6613}
6614
6615// MergeBranchesByFastForward API operation for AWS CodeCommit.
6616//
6617// Merges two branches using the fast-forward merge strategy.
6618//
6619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6620// with awserr.Error's Code and Message methods to get detailed information about
6621// the error.
6622//
6623// See the AWS API reference guide for AWS CodeCommit's
6624// API operation MergeBranchesByFastForward for usage and error information.
6625//
6626// Returned Error Codes:
6627//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
6628//   A repository name is required, but was not specified.
6629//
6630//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
6631//   A specified repository name is not valid.
6632//
6633//   This exception occurs only when a specified repository name is not valid.
6634//   Other exceptions occur when a required repository parameter is missing, or
6635//   when a specified repository does not exist.
6636//
6637//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
6638//   The specified repository does not exist.
6639//
6640//   * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException"
6641//   The divergence between the tips of the provided commit specifiers is too
6642//   great to determine whether there might be any merge conflicts. Locally compare
6643//   the specifiers using git diff or a diff tool.
6644//
6645//   * ErrCodeCommitRequiredException "CommitRequiredException"
6646//   A commit was not specified.
6647//
6648//   * ErrCodeInvalidCommitException "InvalidCommitException"
6649//   The specified commit is not valid.
6650//
6651//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
6652//   The specified commit does not exist or no commit was specified, and the specified
6653//   repository has no default branch.
6654//
6655//   * ErrCodeInvalidTargetBranchException "InvalidTargetBranchException"
6656//   The specified target branch is not valid.
6657//
6658//   * ErrCodeInvalidBranchNameException "InvalidBranchNameException"
6659//   The specified reference name is not valid.
6660//
6661//   * ErrCodeBranchNameRequiredException "BranchNameRequiredException"
6662//   A branch name is required, but was not specified.
6663//
6664//   * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException"
6665//   The specified branch name is not valid because it is a tag name. Enter the
6666//   name of a branch in the repository. For a list of valid branch names, use
6667//   ListBranches.
6668//
6669//   * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException"
6670//   The specified branch does not exist.
6671//
6672//   * ErrCodeManualMergeRequiredException "ManualMergeRequiredException"
6673//   The pull request cannot be merged automatically into the destination branch.
6674//   You must manually merge the branches and resolve any conflicts.
6675//
6676//   * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException"
6677//   The merge cannot be completed because the target branch has been modified.
6678//   Another user might have modified the target branch while the merge was in
6679//   progress. Wait a few minutes, and then try again.
6680//
6681//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
6682//   An encryption integrity check failed.
6683//
6684//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
6685//   An encryption key could not be accessed.
6686//
6687//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
6688//   The encryption key is disabled.
6689//
6690//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
6691//   No encryption key was found.
6692//
6693//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
6694//   The encryption key is not available.
6695//
6696// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByFastForward
6697func (c *CodeCommit) MergeBranchesByFastForward(input *MergeBranchesByFastForwardInput) (*MergeBranchesByFastForwardOutput, error) {
6698	req, out := c.MergeBranchesByFastForwardRequest(input)
6699	return out, req.Send()
6700}
6701
6702// MergeBranchesByFastForwardWithContext is the same as MergeBranchesByFastForward with the addition of
6703// the ability to pass a context and additional request options.
6704//
6705// See MergeBranchesByFastForward for details on how to use this API operation.
6706//
6707// The context must be non-nil and will be used for request cancellation. If
6708// the context is nil a panic will occur. In the future the SDK may create
6709// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6710// for more information on using Contexts.
6711func (c *CodeCommit) MergeBranchesByFastForwardWithContext(ctx aws.Context, input *MergeBranchesByFastForwardInput, opts ...request.Option) (*MergeBranchesByFastForwardOutput, error) {
6712	req, out := c.MergeBranchesByFastForwardRequest(input)
6713	req.SetContext(ctx)
6714	req.ApplyOptions(opts...)
6715	return out, req.Send()
6716}
6717
6718const opMergeBranchesBySquash = "MergeBranchesBySquash"
6719
6720// MergeBranchesBySquashRequest generates a "aws/request.Request" representing the
6721// client's request for the MergeBranchesBySquash operation. The "output" return
6722// value will be populated with the request's response once the request completes
6723// successfully.
6724//
6725// Use "Send" method on the returned Request to send the API call to the service.
6726// the "output" return value is not valid until after Send returns without error.
6727//
6728// See MergeBranchesBySquash for more information on using the MergeBranchesBySquash
6729// API call, and error handling.
6730//
6731// This method is useful when you want to inject custom logic or configuration
6732// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6733//
6734//
6735//    // Example sending a request using the MergeBranchesBySquashRequest method.
6736//    req, resp := client.MergeBranchesBySquashRequest(params)
6737//
6738//    err := req.Send()
6739//    if err == nil { // resp is now filled
6740//        fmt.Println(resp)
6741//    }
6742//
6743// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesBySquash
6744func (c *CodeCommit) MergeBranchesBySquashRequest(input *MergeBranchesBySquashInput) (req *request.Request, output *MergeBranchesBySquashOutput) {
6745	op := &request.Operation{
6746		Name:       opMergeBranchesBySquash,
6747		HTTPMethod: "POST",
6748		HTTPPath:   "/",
6749	}
6750
6751	if input == nil {
6752		input = &MergeBranchesBySquashInput{}
6753	}
6754
6755	output = &MergeBranchesBySquashOutput{}
6756	req = c.newRequest(op, input, output)
6757	return
6758}
6759
6760// MergeBranchesBySquash API operation for AWS CodeCommit.
6761//
6762// Merges two branches using the squash merge strategy.
6763//
6764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6765// with awserr.Error's Code and Message methods to get detailed information about
6766// the error.
6767//
6768// See the AWS API reference guide for AWS CodeCommit's
6769// API operation MergeBranchesBySquash for usage and error information.
6770//
6771// Returned Error Codes:
6772//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
6773//   A repository name is required, but was not specified.
6774//
6775//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
6776//   A specified repository name is not valid.
6777//
6778//   This exception occurs only when a specified repository name is not valid.
6779//   Other exceptions occur when a required repository parameter is missing, or
6780//   when a specified repository does not exist.
6781//
6782//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
6783//   The specified repository does not exist.
6784//
6785//   * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException"
6786//   The divergence between the tips of the provided commit specifiers is too
6787//   great to determine whether there might be any merge conflicts. Locally compare
6788//   the specifiers using git diff or a diff tool.
6789//
6790//   * ErrCodeCommitRequiredException "CommitRequiredException"
6791//   A commit was not specified.
6792//
6793//   * ErrCodeInvalidCommitException "InvalidCommitException"
6794//   The specified commit is not valid.
6795//
6796//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
6797//   The specified commit does not exist or no commit was specified, and the specified
6798//   repository has no default branch.
6799//
6800//   * ErrCodeInvalidTargetBranchException "InvalidTargetBranchException"
6801//   The specified target branch is not valid.
6802//
6803//   * ErrCodeInvalidBranchNameException "InvalidBranchNameException"
6804//   The specified reference name is not valid.
6805//
6806//   * ErrCodeBranchNameRequiredException "BranchNameRequiredException"
6807//   A branch name is required, but was not specified.
6808//
6809//   * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException"
6810//   The specified branch name is not valid because it is a tag name. Enter the
6811//   name of a branch in the repository. For a list of valid branch names, use
6812//   ListBranches.
6813//
6814//   * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException"
6815//   The specified branch does not exist.
6816//
6817//   * ErrCodeManualMergeRequiredException "ManualMergeRequiredException"
6818//   The pull request cannot be merged automatically into the destination branch.
6819//   You must manually merge the branches and resolve any conflicts.
6820//
6821//   * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException"
6822//   The specified conflict detail level is not valid.
6823//
6824//   * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException"
6825//   The specified conflict resolution strategy is not valid.
6826//
6827//   * ErrCodeInvalidConflictResolutionException "InvalidConflictResolutionException"
6828//   The specified conflict resolution list is not valid.
6829//
6830//   * ErrCodeMaximumConflictResolutionEntriesExceededException "MaximumConflictResolutionEntriesExceededException"
6831//   The number of allowed conflict resolution entries was exceeded.
6832//
6833//   * ErrCodeMultipleConflictResolutionEntriesException "MultipleConflictResolutionEntriesException"
6834//   More than one conflict resolution entries exists for the conflict. A conflict
6835//   can have only one conflict resolution entry.
6836//
6837//   * ErrCodeReplacementTypeRequiredException "ReplacementTypeRequiredException"
6838//   A replacement type is required.
6839//
6840//   * ErrCodeInvalidReplacementTypeException "InvalidReplacementTypeException"
6841//   Automerge was specified for resolving the conflict, but the specified replacement
6842//   type is not valid.
6843//
6844//   * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException"
6845//   USE_NEW_CONTENT was specified, but no replacement content has been provided.
6846//
6847//   * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException"
6848//   Automerge was specified for resolving the conflict, but the replacement type
6849//   is not valid or content is missing.
6850//
6851//   * ErrCodePathRequiredException "PathRequiredException"
6852//   The folderPath for a location cannot be null.
6853//
6854//   * ErrCodeInvalidPathException "InvalidPathException"
6855//   The specified path is not valid.
6856//
6857//   * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException"
6858//   The file cannot be added because it is too large. The maximum file size is
6859//   6 MB, and the combined file content change size is 7 MB. Consider making
6860//   these changes using a Git client.
6861//
6862//   * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException"
6863//   The commit cannot be created because at least one of the overall changes
6864//   in the commit results in a folder whose contents exceed the limit of 6 MB.
6865//   Either reduce the number and size of your changes, or split the changes across
6866//   multiple folders.
6867//
6868//   * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException"
6869//   The number of files to load exceeds the allowed limit.
6870//
6871//   * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException"
6872//   The number of items to compare between the source or destination branches
6873//   and the merge base has exceeded the maximum allowed.
6874//
6875//   * ErrCodeFileModeRequiredException "FileModeRequiredException"
6876//   The commit cannot be created because no file mode has been specified. A file
6877//   mode is required to update mode permissions for a file.
6878//
6879//   * ErrCodeInvalidFileModeException "InvalidFileModeException"
6880//   The specified file mode permission is not valid. For a list of valid file
6881//   mode permissions, see PutFile.
6882//
6883//   * ErrCodeNameLengthExceededException "NameLengthExceededException"
6884//   The user name is not valid because it has exceeded the character limit for
6885//   author names.
6886//
6887//   * ErrCodeInvalidEmailException "InvalidEmailException"
6888//   The specified email address either contains one or more characters that are
6889//   not allowed, or it exceeds the maximum number of characters allowed for an
6890//   email address.
6891//
6892//   * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException"
6893//   The commit message is too long. Provide a shorter string.
6894//
6895//   * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException"
6896//   The merge cannot be completed because the target branch has been modified.
6897//   Another user might have modified the target branch while the merge was in
6898//   progress. Wait a few minutes, and then try again.
6899//
6900//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
6901//   An encryption integrity check failed.
6902//
6903//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
6904//   An encryption key could not be accessed.
6905//
6906//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
6907//   The encryption key is disabled.
6908//
6909//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
6910//   No encryption key was found.
6911//
6912//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
6913//   The encryption key is not available.
6914//
6915// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesBySquash
6916func (c *CodeCommit) MergeBranchesBySquash(input *MergeBranchesBySquashInput) (*MergeBranchesBySquashOutput, error) {
6917	req, out := c.MergeBranchesBySquashRequest(input)
6918	return out, req.Send()
6919}
6920
6921// MergeBranchesBySquashWithContext is the same as MergeBranchesBySquash with the addition of
6922// the ability to pass a context and additional request options.
6923//
6924// See MergeBranchesBySquash for details on how to use this API operation.
6925//
6926// The context must be non-nil and will be used for request cancellation. If
6927// the context is nil a panic will occur. In the future the SDK may create
6928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6929// for more information on using Contexts.
6930func (c *CodeCommit) MergeBranchesBySquashWithContext(ctx aws.Context, input *MergeBranchesBySquashInput, opts ...request.Option) (*MergeBranchesBySquashOutput, error) {
6931	req, out := c.MergeBranchesBySquashRequest(input)
6932	req.SetContext(ctx)
6933	req.ApplyOptions(opts...)
6934	return out, req.Send()
6935}
6936
6937const opMergeBranchesByThreeWay = "MergeBranchesByThreeWay"
6938
6939// MergeBranchesByThreeWayRequest generates a "aws/request.Request" representing the
6940// client's request for the MergeBranchesByThreeWay operation. The "output" return
6941// value will be populated with the request's response once the request completes
6942// successfully.
6943//
6944// Use "Send" method on the returned Request to send the API call to the service.
6945// the "output" return value is not valid until after Send returns without error.
6946//
6947// See MergeBranchesByThreeWay for more information on using the MergeBranchesByThreeWay
6948// API call, and error handling.
6949//
6950// This method is useful when you want to inject custom logic or configuration
6951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6952//
6953//
6954//    // Example sending a request using the MergeBranchesByThreeWayRequest method.
6955//    req, resp := client.MergeBranchesByThreeWayRequest(params)
6956//
6957//    err := req.Send()
6958//    if err == nil { // resp is now filled
6959//        fmt.Println(resp)
6960//    }
6961//
6962// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByThreeWay
6963func (c *CodeCommit) MergeBranchesByThreeWayRequest(input *MergeBranchesByThreeWayInput) (req *request.Request, output *MergeBranchesByThreeWayOutput) {
6964	op := &request.Operation{
6965		Name:       opMergeBranchesByThreeWay,
6966		HTTPMethod: "POST",
6967		HTTPPath:   "/",
6968	}
6969
6970	if input == nil {
6971		input = &MergeBranchesByThreeWayInput{}
6972	}
6973
6974	output = &MergeBranchesByThreeWayOutput{}
6975	req = c.newRequest(op, input, output)
6976	return
6977}
6978
6979// MergeBranchesByThreeWay API operation for AWS CodeCommit.
6980//
6981// Merges two specified branches using the three-way merge strategy.
6982//
6983// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6984// with awserr.Error's Code and Message methods to get detailed information about
6985// the error.
6986//
6987// See the AWS API reference guide for AWS CodeCommit's
6988// API operation MergeBranchesByThreeWay for usage and error information.
6989//
6990// Returned Error Codes:
6991//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
6992//   A repository name is required, but was not specified.
6993//
6994//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
6995//   A specified repository name is not valid.
6996//
6997//   This exception occurs only when a specified repository name is not valid.
6998//   Other exceptions occur when a required repository parameter is missing, or
6999//   when a specified repository does not exist.
7000//
7001//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
7002//   The specified repository does not exist.
7003//
7004//   * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException"
7005//   The divergence between the tips of the provided commit specifiers is too
7006//   great to determine whether there might be any merge conflicts. Locally compare
7007//   the specifiers using git diff or a diff tool.
7008//
7009//   * ErrCodeCommitRequiredException "CommitRequiredException"
7010//   A commit was not specified.
7011//
7012//   * ErrCodeInvalidCommitException "InvalidCommitException"
7013//   The specified commit is not valid.
7014//
7015//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
7016//   The specified commit does not exist or no commit was specified, and the specified
7017//   repository has no default branch.
7018//
7019//   * ErrCodeInvalidTargetBranchException "InvalidTargetBranchException"
7020//   The specified target branch is not valid.
7021//
7022//   * ErrCodeInvalidBranchNameException "InvalidBranchNameException"
7023//   The specified reference name is not valid.
7024//
7025//   * ErrCodeBranchNameRequiredException "BranchNameRequiredException"
7026//   A branch name is required, but was not specified.
7027//
7028//   * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException"
7029//   The specified branch name is not valid because it is a tag name. Enter the
7030//   name of a branch in the repository. For a list of valid branch names, use
7031//   ListBranches.
7032//
7033//   * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException"
7034//   The specified branch does not exist.
7035//
7036//   * ErrCodeManualMergeRequiredException "ManualMergeRequiredException"
7037//   The pull request cannot be merged automatically into the destination branch.
7038//   You must manually merge the branches and resolve any conflicts.
7039//
7040//   * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException"
7041//   The merge cannot be completed because the target branch has been modified.
7042//   Another user might have modified the target branch while the merge was in
7043//   progress. Wait a few minutes, and then try again.
7044//
7045//   * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException"
7046//   The specified conflict detail level is not valid.
7047//
7048//   * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException"
7049//   The specified conflict resolution strategy is not valid.
7050//
7051//   * ErrCodeInvalidConflictResolutionException "InvalidConflictResolutionException"
7052//   The specified conflict resolution list is not valid.
7053//
7054//   * ErrCodeMaximumConflictResolutionEntriesExceededException "MaximumConflictResolutionEntriesExceededException"
7055//   The number of allowed conflict resolution entries was exceeded.
7056//
7057//   * ErrCodeMultipleConflictResolutionEntriesException "MultipleConflictResolutionEntriesException"
7058//   More than one conflict resolution entries exists for the conflict. A conflict
7059//   can have only one conflict resolution entry.
7060//
7061//   * ErrCodeReplacementTypeRequiredException "ReplacementTypeRequiredException"
7062//   A replacement type is required.
7063//
7064//   * ErrCodeInvalidReplacementTypeException "InvalidReplacementTypeException"
7065//   Automerge was specified for resolving the conflict, but the specified replacement
7066//   type is not valid.
7067//
7068//   * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException"
7069//   USE_NEW_CONTENT was specified, but no replacement content has been provided.
7070//
7071//   * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException"
7072//   Automerge was specified for resolving the conflict, but the replacement type
7073//   is not valid or content is missing.
7074//
7075//   * ErrCodePathRequiredException "PathRequiredException"
7076//   The folderPath for a location cannot be null.
7077//
7078//   * ErrCodeInvalidPathException "InvalidPathException"
7079//   The specified path is not valid.
7080//
7081//   * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException"
7082//   The file cannot be added because it is too large. The maximum file size is
7083//   6 MB, and the combined file content change size is 7 MB. Consider making
7084//   these changes using a Git client.
7085//
7086//   * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException"
7087//   The commit cannot be created because at least one of the overall changes
7088//   in the commit results in a folder whose contents exceed the limit of 6 MB.
7089//   Either reduce the number and size of your changes, or split the changes across
7090//   multiple folders.
7091//
7092//   * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException"
7093//   The number of files to load exceeds the allowed limit.
7094//
7095//   * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException"
7096//   The number of items to compare between the source or destination branches
7097//   and the merge base has exceeded the maximum allowed.
7098//
7099//   * ErrCodeFileModeRequiredException "FileModeRequiredException"
7100//   The commit cannot be created because no file mode has been specified. A file
7101//   mode is required to update mode permissions for a file.
7102//
7103//   * ErrCodeInvalidFileModeException "InvalidFileModeException"
7104//   The specified file mode permission is not valid. For a list of valid file
7105//   mode permissions, see PutFile.
7106//
7107//   * ErrCodeNameLengthExceededException "NameLengthExceededException"
7108//   The user name is not valid because it has exceeded the character limit for
7109//   author names.
7110//
7111//   * ErrCodeInvalidEmailException "InvalidEmailException"
7112//   The specified email address either contains one or more characters that are
7113//   not allowed, or it exceeds the maximum number of characters allowed for an
7114//   email address.
7115//
7116//   * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException"
7117//   The commit message is too long. Provide a shorter string.
7118//
7119//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
7120//   An encryption integrity check failed.
7121//
7122//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
7123//   An encryption key could not be accessed.
7124//
7125//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
7126//   The encryption key is disabled.
7127//
7128//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
7129//   No encryption key was found.
7130//
7131//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
7132//   The encryption key is not available.
7133//
7134// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeBranchesByThreeWay
7135func (c *CodeCommit) MergeBranchesByThreeWay(input *MergeBranchesByThreeWayInput) (*MergeBranchesByThreeWayOutput, error) {
7136	req, out := c.MergeBranchesByThreeWayRequest(input)
7137	return out, req.Send()
7138}
7139
7140// MergeBranchesByThreeWayWithContext is the same as MergeBranchesByThreeWay with the addition of
7141// the ability to pass a context and additional request options.
7142//
7143// See MergeBranchesByThreeWay for details on how to use this API operation.
7144//
7145// The context must be non-nil and will be used for request cancellation. If
7146// the context is nil a panic will occur. In the future the SDK may create
7147// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7148// for more information on using Contexts.
7149func (c *CodeCommit) MergeBranchesByThreeWayWithContext(ctx aws.Context, input *MergeBranchesByThreeWayInput, opts ...request.Option) (*MergeBranchesByThreeWayOutput, error) {
7150	req, out := c.MergeBranchesByThreeWayRequest(input)
7151	req.SetContext(ctx)
7152	req.ApplyOptions(opts...)
7153	return out, req.Send()
7154}
7155
7156const opMergePullRequestByFastForward = "MergePullRequestByFastForward"
7157
7158// MergePullRequestByFastForwardRequest generates a "aws/request.Request" representing the
7159// client's request for the MergePullRequestByFastForward operation. The "output" return
7160// value will be populated with the request's response once the request completes
7161// successfully.
7162//
7163// Use "Send" method on the returned Request to send the API call to the service.
7164// the "output" return value is not valid until after Send returns without error.
7165//
7166// See MergePullRequestByFastForward for more information on using the MergePullRequestByFastForward
7167// API call, and error handling.
7168//
7169// This method is useful when you want to inject custom logic or configuration
7170// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7171//
7172//
7173//    // Example sending a request using the MergePullRequestByFastForwardRequest method.
7174//    req, resp := client.MergePullRequestByFastForwardRequest(params)
7175//
7176//    err := req.Send()
7177//    if err == nil { // resp is now filled
7178//        fmt.Println(resp)
7179//    }
7180//
7181// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByFastForward
7182func (c *CodeCommit) MergePullRequestByFastForwardRequest(input *MergePullRequestByFastForwardInput) (req *request.Request, output *MergePullRequestByFastForwardOutput) {
7183	op := &request.Operation{
7184		Name:       opMergePullRequestByFastForward,
7185		HTTPMethod: "POST",
7186		HTTPPath:   "/",
7187	}
7188
7189	if input == nil {
7190		input = &MergePullRequestByFastForwardInput{}
7191	}
7192
7193	output = &MergePullRequestByFastForwardOutput{}
7194	req = c.newRequest(op, input, output)
7195	return
7196}
7197
7198// MergePullRequestByFastForward API operation for AWS CodeCommit.
7199//
7200// Attempts to merge the source commit of a pull request into the specified
7201// destination branch for that pull request at the specified commit using the
7202// fast-forward merge strategy. If the merge is successful, it closes the pull
7203// request.
7204//
7205// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7206// with awserr.Error's Code and Message methods to get detailed information about
7207// the error.
7208//
7209// See the AWS API reference guide for AWS CodeCommit's
7210// API operation MergePullRequestByFastForward for usage and error information.
7211//
7212// Returned Error Codes:
7213//   * ErrCodeManualMergeRequiredException "ManualMergeRequiredException"
7214//   The pull request cannot be merged automatically into the destination branch.
7215//   You must manually merge the branches and resolve any conflicts.
7216//
7217//   * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException"
7218//   The pull request status cannot be updated because it is already closed.
7219//
7220//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
7221//   The pull request ID could not be found. Make sure that you have specified
7222//   the correct repository name and pull request ID, and then try again.
7223//
7224//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
7225//   The pull request ID is not valid. Make sure that you have provided the full
7226//   ID and that the pull request is in the specified repository, and then try
7227//   again.
7228//
7229//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
7230//   A pull request ID is required, but none was provided.
7231//
7232//   * ErrCodeTipOfSourceReferenceIsDifferentException "TipOfSourceReferenceIsDifferentException"
7233//   The tip of the source branch in the destination repository does not match
7234//   the tip of the source branch specified in your request. The pull request
7235//   might have been updated. Make sure that you have the latest changes.
7236//
7237//   * ErrCodeReferenceDoesNotExistException "ReferenceDoesNotExistException"
7238//   The specified reference does not exist. You must provide a full commit ID.
7239//
7240//   * ErrCodeInvalidCommitIdException "InvalidCommitIdException"
7241//   The specified commit ID is not valid.
7242//
7243//   * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException"
7244//   The repository does not contain any pull requests with that pull request
7245//   ID. Use GetPullRequest to verify the correct repository name for the pull
7246//   request ID.
7247//
7248//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
7249//   A repository name is required, but was not specified.
7250//
7251//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
7252//   A specified repository name is not valid.
7253//
7254//   This exception occurs only when a specified repository name is not valid.
7255//   Other exceptions occur when a required repository parameter is missing, or
7256//   when a specified repository does not exist.
7257//
7258//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
7259//   The specified repository does not exist.
7260//
7261//   * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException"
7262//   The merge cannot be completed because the target branch has been modified.
7263//   Another user might have modified the target branch while the merge was in
7264//   progress. Wait a few minutes, and then try again.
7265//
7266//   * ErrCodePullRequestApprovalRulesNotSatisfiedException "PullRequestApprovalRulesNotSatisfiedException"
7267//   The pull request cannot be merged because one or more approval rules applied
7268//   to the pull request have conditions that have not been met.
7269//
7270//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
7271//   An encryption integrity check failed.
7272//
7273//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
7274//   An encryption key could not be accessed.
7275//
7276//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
7277//   The encryption key is disabled.
7278//
7279//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
7280//   No encryption key was found.
7281//
7282//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
7283//   The encryption key is not available.
7284//
7285// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByFastForward
7286func (c *CodeCommit) MergePullRequestByFastForward(input *MergePullRequestByFastForwardInput) (*MergePullRequestByFastForwardOutput, error) {
7287	req, out := c.MergePullRequestByFastForwardRequest(input)
7288	return out, req.Send()
7289}
7290
7291// MergePullRequestByFastForwardWithContext is the same as MergePullRequestByFastForward with the addition of
7292// the ability to pass a context and additional request options.
7293//
7294// See MergePullRequestByFastForward for details on how to use this API operation.
7295//
7296// The context must be non-nil and will be used for request cancellation. If
7297// the context is nil a panic will occur. In the future the SDK may create
7298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7299// for more information on using Contexts.
7300func (c *CodeCommit) MergePullRequestByFastForwardWithContext(ctx aws.Context, input *MergePullRequestByFastForwardInput, opts ...request.Option) (*MergePullRequestByFastForwardOutput, error) {
7301	req, out := c.MergePullRequestByFastForwardRequest(input)
7302	req.SetContext(ctx)
7303	req.ApplyOptions(opts...)
7304	return out, req.Send()
7305}
7306
7307const opMergePullRequestBySquash = "MergePullRequestBySquash"
7308
7309// MergePullRequestBySquashRequest generates a "aws/request.Request" representing the
7310// client's request for the MergePullRequestBySquash operation. The "output" return
7311// value will be populated with the request's response once the request completes
7312// successfully.
7313//
7314// Use "Send" method on the returned Request to send the API call to the service.
7315// the "output" return value is not valid until after Send returns without error.
7316//
7317// See MergePullRequestBySquash for more information on using the MergePullRequestBySquash
7318// API call, and error handling.
7319//
7320// This method is useful when you want to inject custom logic or configuration
7321// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7322//
7323//
7324//    // Example sending a request using the MergePullRequestBySquashRequest method.
7325//    req, resp := client.MergePullRequestBySquashRequest(params)
7326//
7327//    err := req.Send()
7328//    if err == nil { // resp is now filled
7329//        fmt.Println(resp)
7330//    }
7331//
7332// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestBySquash
7333func (c *CodeCommit) MergePullRequestBySquashRequest(input *MergePullRequestBySquashInput) (req *request.Request, output *MergePullRequestBySquashOutput) {
7334	op := &request.Operation{
7335		Name:       opMergePullRequestBySquash,
7336		HTTPMethod: "POST",
7337		HTTPPath:   "/",
7338	}
7339
7340	if input == nil {
7341		input = &MergePullRequestBySquashInput{}
7342	}
7343
7344	output = &MergePullRequestBySquashOutput{}
7345	req = c.newRequest(op, input, output)
7346	return
7347}
7348
7349// MergePullRequestBySquash API operation for AWS CodeCommit.
7350//
7351// Attempts to merge the source commit of a pull request into the specified
7352// destination branch for that pull request at the specified commit using the
7353// squash merge strategy. If the merge is successful, it closes the pull request.
7354//
7355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7356// with awserr.Error's Code and Message methods to get detailed information about
7357// the error.
7358//
7359// See the AWS API reference guide for AWS CodeCommit's
7360// API operation MergePullRequestBySquash for usage and error information.
7361//
7362// Returned Error Codes:
7363//   * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException"
7364//   The pull request status cannot be updated because it is already closed.
7365//
7366//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
7367//   The pull request ID could not be found. Make sure that you have specified
7368//   the correct repository name and pull request ID, and then try again.
7369//
7370//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
7371//   A pull request ID is required, but none was provided.
7372//
7373//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
7374//   The pull request ID is not valid. Make sure that you have provided the full
7375//   ID and that the pull request is in the specified repository, and then try
7376//   again.
7377//
7378//   * ErrCodeInvalidCommitIdException "InvalidCommitIdException"
7379//   The specified commit ID is not valid.
7380//
7381//   * ErrCodeManualMergeRequiredException "ManualMergeRequiredException"
7382//   The pull request cannot be merged automatically into the destination branch.
7383//   You must manually merge the branches and resolve any conflicts.
7384//
7385//   * ErrCodeTipOfSourceReferenceIsDifferentException "TipOfSourceReferenceIsDifferentException"
7386//   The tip of the source branch in the destination repository does not match
7387//   the tip of the source branch specified in your request. The pull request
7388//   might have been updated. Make sure that you have the latest changes.
7389//
7390//   * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException"
7391//   The divergence between the tips of the provided commit specifiers is too
7392//   great to determine whether there might be any merge conflicts. Locally compare
7393//   the specifiers using git diff or a diff tool.
7394//
7395//   * ErrCodeNameLengthExceededException "NameLengthExceededException"
7396//   The user name is not valid because it has exceeded the character limit for
7397//   author names.
7398//
7399//   * ErrCodeInvalidEmailException "InvalidEmailException"
7400//   The specified email address either contains one or more characters that are
7401//   not allowed, or it exceeds the maximum number of characters allowed for an
7402//   email address.
7403//
7404//   * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException"
7405//   The commit message is too long. Provide a shorter string.
7406//
7407//   * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException"
7408//   The specified conflict detail level is not valid.
7409//
7410//   * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException"
7411//   The specified conflict resolution strategy is not valid.
7412//
7413//   * ErrCodeInvalidConflictResolutionException "InvalidConflictResolutionException"
7414//   The specified conflict resolution list is not valid.
7415//
7416//   * ErrCodeReplacementTypeRequiredException "ReplacementTypeRequiredException"
7417//   A replacement type is required.
7418//
7419//   * ErrCodeInvalidReplacementTypeException "InvalidReplacementTypeException"
7420//   Automerge was specified for resolving the conflict, but the specified replacement
7421//   type is not valid.
7422//
7423//   * ErrCodeMultipleConflictResolutionEntriesException "MultipleConflictResolutionEntriesException"
7424//   More than one conflict resolution entries exists for the conflict. A conflict
7425//   can have only one conflict resolution entry.
7426//
7427//   * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException"
7428//   USE_NEW_CONTENT was specified, but no replacement content has been provided.
7429//
7430//   * ErrCodeMaximumConflictResolutionEntriesExceededException "MaximumConflictResolutionEntriesExceededException"
7431//   The number of allowed conflict resolution entries was exceeded.
7432//
7433//   * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException"
7434//   The merge cannot be completed because the target branch has been modified.
7435//   Another user might have modified the target branch while the merge was in
7436//   progress. Wait a few minutes, and then try again.
7437//
7438//   * ErrCodePathRequiredException "PathRequiredException"
7439//   The folderPath for a location cannot be null.
7440//
7441//   * ErrCodeInvalidPathException "InvalidPathException"
7442//   The specified path is not valid.
7443//
7444//   * ErrCodeInvalidFileModeException "InvalidFileModeException"
7445//   The specified file mode permission is not valid. For a list of valid file
7446//   mode permissions, see PutFile.
7447//
7448//   * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException"
7449//   Automerge was specified for resolving the conflict, but the replacement type
7450//   is not valid or content is missing.
7451//
7452//   * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException"
7453//   The file cannot be added because it is too large. The maximum file size is
7454//   6 MB, and the combined file content change size is 7 MB. Consider making
7455//   these changes using a Git client.
7456//
7457//   * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException"
7458//   The commit cannot be created because at least one of the overall changes
7459//   in the commit results in a folder whose contents exceed the limit of 6 MB.
7460//   Either reduce the number and size of your changes, or split the changes across
7461//   multiple folders.
7462//
7463//   * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException"
7464//   The number of files to load exceeds the allowed limit.
7465//
7466//   * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException"
7467//   The number of items to compare between the source or destination branches
7468//   and the merge base has exceeded the maximum allowed.
7469//
7470//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
7471//   A repository name is required, but was not specified.
7472//
7473//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
7474//   A specified repository name is not valid.
7475//
7476//   This exception occurs only when a specified repository name is not valid.
7477//   Other exceptions occur when a required repository parameter is missing, or
7478//   when a specified repository does not exist.
7479//
7480//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
7481//   The specified repository does not exist.
7482//
7483//   * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException"
7484//   The repository does not contain any pull requests with that pull request
7485//   ID. Use GetPullRequest to verify the correct repository name for the pull
7486//   request ID.
7487//
7488//   * ErrCodePullRequestApprovalRulesNotSatisfiedException "PullRequestApprovalRulesNotSatisfiedException"
7489//   The pull request cannot be merged because one or more approval rules applied
7490//   to the pull request have conditions that have not been met.
7491//
7492//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
7493//   An encryption integrity check failed.
7494//
7495//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
7496//   An encryption key could not be accessed.
7497//
7498//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
7499//   The encryption key is disabled.
7500//
7501//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
7502//   No encryption key was found.
7503//
7504//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
7505//   The encryption key is not available.
7506//
7507// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestBySquash
7508func (c *CodeCommit) MergePullRequestBySquash(input *MergePullRequestBySquashInput) (*MergePullRequestBySquashOutput, error) {
7509	req, out := c.MergePullRequestBySquashRequest(input)
7510	return out, req.Send()
7511}
7512
7513// MergePullRequestBySquashWithContext is the same as MergePullRequestBySquash with the addition of
7514// the ability to pass a context and additional request options.
7515//
7516// See MergePullRequestBySquash for details on how to use this API operation.
7517//
7518// The context must be non-nil and will be used for request cancellation. If
7519// the context is nil a panic will occur. In the future the SDK may create
7520// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7521// for more information on using Contexts.
7522func (c *CodeCommit) MergePullRequestBySquashWithContext(ctx aws.Context, input *MergePullRequestBySquashInput, opts ...request.Option) (*MergePullRequestBySquashOutput, error) {
7523	req, out := c.MergePullRequestBySquashRequest(input)
7524	req.SetContext(ctx)
7525	req.ApplyOptions(opts...)
7526	return out, req.Send()
7527}
7528
7529const opMergePullRequestByThreeWay = "MergePullRequestByThreeWay"
7530
7531// MergePullRequestByThreeWayRequest generates a "aws/request.Request" representing the
7532// client's request for the MergePullRequestByThreeWay operation. The "output" return
7533// value will be populated with the request's response once the request completes
7534// successfully.
7535//
7536// Use "Send" method on the returned Request to send the API call to the service.
7537// the "output" return value is not valid until after Send returns without error.
7538//
7539// See MergePullRequestByThreeWay for more information on using the MergePullRequestByThreeWay
7540// API call, and error handling.
7541//
7542// This method is useful when you want to inject custom logic or configuration
7543// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7544//
7545//
7546//    // Example sending a request using the MergePullRequestByThreeWayRequest method.
7547//    req, resp := client.MergePullRequestByThreeWayRequest(params)
7548//
7549//    err := req.Send()
7550//    if err == nil { // resp is now filled
7551//        fmt.Println(resp)
7552//    }
7553//
7554// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByThreeWay
7555func (c *CodeCommit) MergePullRequestByThreeWayRequest(input *MergePullRequestByThreeWayInput) (req *request.Request, output *MergePullRequestByThreeWayOutput) {
7556	op := &request.Operation{
7557		Name:       opMergePullRequestByThreeWay,
7558		HTTPMethod: "POST",
7559		HTTPPath:   "/",
7560	}
7561
7562	if input == nil {
7563		input = &MergePullRequestByThreeWayInput{}
7564	}
7565
7566	output = &MergePullRequestByThreeWayOutput{}
7567	req = c.newRequest(op, input, output)
7568	return
7569}
7570
7571// MergePullRequestByThreeWay API operation for AWS CodeCommit.
7572//
7573// Attempts to merge the source commit of a pull request into the specified
7574// destination branch for that pull request at the specified commit using the
7575// three-way merge strategy. If the merge is successful, it closes the pull
7576// request.
7577//
7578// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7579// with awserr.Error's Code and Message methods to get detailed information about
7580// the error.
7581//
7582// See the AWS API reference guide for AWS CodeCommit's
7583// API operation MergePullRequestByThreeWay for usage and error information.
7584//
7585// Returned Error Codes:
7586//   * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException"
7587//   The pull request status cannot be updated because it is already closed.
7588//
7589//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
7590//   The pull request ID could not be found. Make sure that you have specified
7591//   the correct repository name and pull request ID, and then try again.
7592//
7593//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
7594//   A pull request ID is required, but none was provided.
7595//
7596//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
7597//   The pull request ID is not valid. Make sure that you have provided the full
7598//   ID and that the pull request is in the specified repository, and then try
7599//   again.
7600//
7601//   * ErrCodeInvalidCommitIdException "InvalidCommitIdException"
7602//   The specified commit ID is not valid.
7603//
7604//   * ErrCodeManualMergeRequiredException "ManualMergeRequiredException"
7605//   The pull request cannot be merged automatically into the destination branch.
7606//   You must manually merge the branches and resolve any conflicts.
7607//
7608//   * ErrCodeTipOfSourceReferenceIsDifferentException "TipOfSourceReferenceIsDifferentException"
7609//   The tip of the source branch in the destination repository does not match
7610//   the tip of the source branch specified in your request. The pull request
7611//   might have been updated. Make sure that you have the latest changes.
7612//
7613//   * ErrCodeTipsDivergenceExceededException "TipsDivergenceExceededException"
7614//   The divergence between the tips of the provided commit specifiers is too
7615//   great to determine whether there might be any merge conflicts. Locally compare
7616//   the specifiers using git diff or a diff tool.
7617//
7618//   * ErrCodeNameLengthExceededException "NameLengthExceededException"
7619//   The user name is not valid because it has exceeded the character limit for
7620//   author names.
7621//
7622//   * ErrCodeInvalidEmailException "InvalidEmailException"
7623//   The specified email address either contains one or more characters that are
7624//   not allowed, or it exceeds the maximum number of characters allowed for an
7625//   email address.
7626//
7627//   * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException"
7628//   The commit message is too long. Provide a shorter string.
7629//
7630//   * ErrCodeInvalidConflictDetailLevelException "InvalidConflictDetailLevelException"
7631//   The specified conflict detail level is not valid.
7632//
7633//   * ErrCodeInvalidConflictResolutionStrategyException "InvalidConflictResolutionStrategyException"
7634//   The specified conflict resolution strategy is not valid.
7635//
7636//   * ErrCodeInvalidConflictResolutionException "InvalidConflictResolutionException"
7637//   The specified conflict resolution list is not valid.
7638//
7639//   * ErrCodeReplacementTypeRequiredException "ReplacementTypeRequiredException"
7640//   A replacement type is required.
7641//
7642//   * ErrCodeInvalidReplacementTypeException "InvalidReplacementTypeException"
7643//   Automerge was specified for resolving the conflict, but the specified replacement
7644//   type is not valid.
7645//
7646//   * ErrCodeMultipleConflictResolutionEntriesException "MultipleConflictResolutionEntriesException"
7647//   More than one conflict resolution entries exists for the conflict. A conflict
7648//   can have only one conflict resolution entry.
7649//
7650//   * ErrCodeReplacementContentRequiredException "ReplacementContentRequiredException"
7651//   USE_NEW_CONTENT was specified, but no replacement content has been provided.
7652//
7653//   * ErrCodeMaximumConflictResolutionEntriesExceededException "MaximumConflictResolutionEntriesExceededException"
7654//   The number of allowed conflict resolution entries was exceeded.
7655//
7656//   * ErrCodePathRequiredException "PathRequiredException"
7657//   The folderPath for a location cannot be null.
7658//
7659//   * ErrCodeInvalidPathException "InvalidPathException"
7660//   The specified path is not valid.
7661//
7662//   * ErrCodeInvalidFileModeException "InvalidFileModeException"
7663//   The specified file mode permission is not valid. For a list of valid file
7664//   mode permissions, see PutFile.
7665//
7666//   * ErrCodeInvalidReplacementContentException "InvalidReplacementContentException"
7667//   Automerge was specified for resolving the conflict, but the replacement type
7668//   is not valid or content is missing.
7669//
7670//   * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException"
7671//   The file cannot be added because it is too large. The maximum file size is
7672//   6 MB, and the combined file content change size is 7 MB. Consider making
7673//   these changes using a Git client.
7674//
7675//   * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException"
7676//   The commit cannot be created because at least one of the overall changes
7677//   in the commit results in a folder whose contents exceed the limit of 6 MB.
7678//   Either reduce the number and size of your changes, or split the changes across
7679//   multiple folders.
7680//
7681//   * ErrCodeMaximumFileContentToLoadExceededException "MaximumFileContentToLoadExceededException"
7682//   The number of files to load exceeds the allowed limit.
7683//
7684//   * ErrCodeMaximumItemsToCompareExceededException "MaximumItemsToCompareExceededException"
7685//   The number of items to compare between the source or destination branches
7686//   and the merge base has exceeded the maximum allowed.
7687//
7688//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
7689//   A repository name is required, but was not specified.
7690//
7691//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
7692//   A specified repository name is not valid.
7693//
7694//   This exception occurs only when a specified repository name is not valid.
7695//   Other exceptions occur when a required repository parameter is missing, or
7696//   when a specified repository does not exist.
7697//
7698//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
7699//   The specified repository does not exist.
7700//
7701//   * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException"
7702//   The repository does not contain any pull requests with that pull request
7703//   ID. Use GetPullRequest to verify the correct repository name for the pull
7704//   request ID.
7705//
7706//   * ErrCodeConcurrentReferenceUpdateException "ConcurrentReferenceUpdateException"
7707//   The merge cannot be completed because the target branch has been modified.
7708//   Another user might have modified the target branch while the merge was in
7709//   progress. Wait a few minutes, and then try again.
7710//
7711//   * ErrCodePullRequestApprovalRulesNotSatisfiedException "PullRequestApprovalRulesNotSatisfiedException"
7712//   The pull request cannot be merged because one or more approval rules applied
7713//   to the pull request have conditions that have not been met.
7714//
7715//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
7716//   An encryption integrity check failed.
7717//
7718//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
7719//   An encryption key could not be accessed.
7720//
7721//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
7722//   The encryption key is disabled.
7723//
7724//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
7725//   No encryption key was found.
7726//
7727//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
7728//   The encryption key is not available.
7729//
7730// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergePullRequestByThreeWay
7731func (c *CodeCommit) MergePullRequestByThreeWay(input *MergePullRequestByThreeWayInput) (*MergePullRequestByThreeWayOutput, error) {
7732	req, out := c.MergePullRequestByThreeWayRequest(input)
7733	return out, req.Send()
7734}
7735
7736// MergePullRequestByThreeWayWithContext is the same as MergePullRequestByThreeWay with the addition of
7737// the ability to pass a context and additional request options.
7738//
7739// See MergePullRequestByThreeWay for details on how to use this API operation.
7740//
7741// The context must be non-nil and will be used for request cancellation. If
7742// the context is nil a panic will occur. In the future the SDK may create
7743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7744// for more information on using Contexts.
7745func (c *CodeCommit) MergePullRequestByThreeWayWithContext(ctx aws.Context, input *MergePullRequestByThreeWayInput, opts ...request.Option) (*MergePullRequestByThreeWayOutput, error) {
7746	req, out := c.MergePullRequestByThreeWayRequest(input)
7747	req.SetContext(ctx)
7748	req.ApplyOptions(opts...)
7749	return out, req.Send()
7750}
7751
7752const opOverridePullRequestApprovalRules = "OverridePullRequestApprovalRules"
7753
7754// OverridePullRequestApprovalRulesRequest generates a "aws/request.Request" representing the
7755// client's request for the OverridePullRequestApprovalRules operation. The "output" return
7756// value will be populated with the request's response once the request completes
7757// successfully.
7758//
7759// Use "Send" method on the returned Request to send the API call to the service.
7760// the "output" return value is not valid until after Send returns without error.
7761//
7762// See OverridePullRequestApprovalRules for more information on using the OverridePullRequestApprovalRules
7763// API call, and error handling.
7764//
7765// This method is useful when you want to inject custom logic or configuration
7766// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7767//
7768//
7769//    // Example sending a request using the OverridePullRequestApprovalRulesRequest method.
7770//    req, resp := client.OverridePullRequestApprovalRulesRequest(params)
7771//
7772//    err := req.Send()
7773//    if err == nil { // resp is now filled
7774//        fmt.Println(resp)
7775//    }
7776//
7777// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/OverridePullRequestApprovalRules
7778func (c *CodeCommit) OverridePullRequestApprovalRulesRequest(input *OverridePullRequestApprovalRulesInput) (req *request.Request, output *OverridePullRequestApprovalRulesOutput) {
7779	op := &request.Operation{
7780		Name:       opOverridePullRequestApprovalRules,
7781		HTTPMethod: "POST",
7782		HTTPPath:   "/",
7783	}
7784
7785	if input == nil {
7786		input = &OverridePullRequestApprovalRulesInput{}
7787	}
7788
7789	output = &OverridePullRequestApprovalRulesOutput{}
7790	req = c.newRequest(op, input, output)
7791	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7792	return
7793}
7794
7795// OverridePullRequestApprovalRules API operation for AWS CodeCommit.
7796//
7797// Sets aside (overrides) all approval rule requirements for a specified pull
7798// request.
7799//
7800// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7801// with awserr.Error's Code and Message methods to get detailed information about
7802// the error.
7803//
7804// See the AWS API reference guide for AWS CodeCommit's
7805// API operation OverridePullRequestApprovalRules for usage and error information.
7806//
7807// Returned Error Codes:
7808//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
7809//   The pull request ID could not be found. Make sure that you have specified
7810//   the correct repository name and pull request ID, and then try again.
7811//
7812//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
7813//   The pull request ID is not valid. Make sure that you have provided the full
7814//   ID and that the pull request is in the specified repository, and then try
7815//   again.
7816//
7817//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
7818//   A pull request ID is required, but none was provided.
7819//
7820//   * ErrCodeInvalidRevisionIdException "InvalidRevisionIdException"
7821//   The revision ID is not valid. Use GetPullRequest to determine the value.
7822//
7823//   * ErrCodeRevisionIdRequiredException "RevisionIdRequiredException"
7824//   A revision ID is required, but was not provided.
7825//
7826//   * ErrCodeInvalidOverrideStatusException "InvalidOverrideStatusException"
7827//   The override status is not valid. Valid statuses are OVERRIDE and REVOKE.
7828//
7829//   * ErrCodeOverrideStatusRequiredException "OverrideStatusRequiredException"
7830//   An override status is required, but no value was provided. Valid values include
7831//   OVERRIDE and REVOKE.
7832//
7833//   * ErrCodeOverrideAlreadySetException "OverrideAlreadySetException"
7834//   The pull request has already had its approval rules set to override.
7835//
7836//   * ErrCodeRevisionNotCurrentException "RevisionNotCurrentException"
7837//   The revision ID provided in the request does not match the current revision
7838//   ID. Use GetPullRequest to retrieve the current revision ID.
7839//
7840//   * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException"
7841//   The pull request status cannot be updated because it is already closed.
7842//
7843//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
7844//   An encryption integrity check failed.
7845//
7846//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
7847//   An encryption key could not be accessed.
7848//
7849//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
7850//   The encryption key is disabled.
7851//
7852//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
7853//   No encryption key was found.
7854//
7855//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
7856//   The encryption key is not available.
7857//
7858// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/OverridePullRequestApprovalRules
7859func (c *CodeCommit) OverridePullRequestApprovalRules(input *OverridePullRequestApprovalRulesInput) (*OverridePullRequestApprovalRulesOutput, error) {
7860	req, out := c.OverridePullRequestApprovalRulesRequest(input)
7861	return out, req.Send()
7862}
7863
7864// OverridePullRequestApprovalRulesWithContext is the same as OverridePullRequestApprovalRules with the addition of
7865// the ability to pass a context and additional request options.
7866//
7867// See OverridePullRequestApprovalRules for details on how to use this API operation.
7868//
7869// The context must be non-nil and will be used for request cancellation. If
7870// the context is nil a panic will occur. In the future the SDK may create
7871// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7872// for more information on using Contexts.
7873func (c *CodeCommit) OverridePullRequestApprovalRulesWithContext(ctx aws.Context, input *OverridePullRequestApprovalRulesInput, opts ...request.Option) (*OverridePullRequestApprovalRulesOutput, error) {
7874	req, out := c.OverridePullRequestApprovalRulesRequest(input)
7875	req.SetContext(ctx)
7876	req.ApplyOptions(opts...)
7877	return out, req.Send()
7878}
7879
7880const opPostCommentForComparedCommit = "PostCommentForComparedCommit"
7881
7882// PostCommentForComparedCommitRequest generates a "aws/request.Request" representing the
7883// client's request for the PostCommentForComparedCommit operation. The "output" return
7884// value will be populated with the request's response once the request completes
7885// successfully.
7886//
7887// Use "Send" method on the returned Request to send the API call to the service.
7888// the "output" return value is not valid until after Send returns without error.
7889//
7890// See PostCommentForComparedCommit for more information on using the PostCommentForComparedCommit
7891// API call, and error handling.
7892//
7893// This method is useful when you want to inject custom logic or configuration
7894// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7895//
7896//
7897//    // Example sending a request using the PostCommentForComparedCommitRequest method.
7898//    req, resp := client.PostCommentForComparedCommitRequest(params)
7899//
7900//    err := req.Send()
7901//    if err == nil { // resp is now filled
7902//        fmt.Println(resp)
7903//    }
7904//
7905// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentForComparedCommit
7906func (c *CodeCommit) PostCommentForComparedCommitRequest(input *PostCommentForComparedCommitInput) (req *request.Request, output *PostCommentForComparedCommitOutput) {
7907	op := &request.Operation{
7908		Name:       opPostCommentForComparedCommit,
7909		HTTPMethod: "POST",
7910		HTTPPath:   "/",
7911	}
7912
7913	if input == nil {
7914		input = &PostCommentForComparedCommitInput{}
7915	}
7916
7917	output = &PostCommentForComparedCommitOutput{}
7918	req = c.newRequest(op, input, output)
7919	return
7920}
7921
7922// PostCommentForComparedCommit API operation for AWS CodeCommit.
7923//
7924// Posts a comment on the comparison between two commits.
7925//
7926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7927// with awserr.Error's Code and Message methods to get detailed information about
7928// the error.
7929//
7930// See the AWS API reference guide for AWS CodeCommit's
7931// API operation PostCommentForComparedCommit for usage and error information.
7932//
7933// Returned Error Codes:
7934//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
7935//   A repository name is required, but was not specified.
7936//
7937//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
7938//   The specified repository does not exist.
7939//
7940//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
7941//   A specified repository name is not valid.
7942//
7943//   This exception occurs only when a specified repository name is not valid.
7944//   Other exceptions occur when a required repository parameter is missing, or
7945//   when a specified repository does not exist.
7946//
7947//   * ErrCodeClientRequestTokenRequiredException "ClientRequestTokenRequiredException"
7948//   A client request token is required. A client request token is an unique,
7949//   client-generated idempotency token that, when provided in a request, ensures
7950//   the request cannot be repeated with a changed parameter. If a request is
7951//   received with the same parameters and a token is included, the request returns
7952//   information about the initial request that used that token.
7953//
7954//   * ErrCodeInvalidClientRequestTokenException "InvalidClientRequestTokenException"
7955//   The client request token is not valid.
7956//
7957//   * ErrCodeIdempotencyParameterMismatchException "IdempotencyParameterMismatchException"
7958//   The client request token is not valid. Either the token is not in a valid
7959//   format, or the token has been used in a previous request and cannot be reused.
7960//
7961//   * ErrCodeCommentContentRequiredException "CommentContentRequiredException"
7962//   The comment is empty. You must provide some content for a comment. The content
7963//   cannot be null.
7964//
7965//   * ErrCodeCommentContentSizeLimitExceededException "CommentContentSizeLimitExceededException"
7966//   The comment is too large. Comments are limited to 1,000 characters.
7967//
7968//   * ErrCodeInvalidFileLocationException "InvalidFileLocationException"
7969//   The location of the file is not valid. Make sure that you include the file
7970//   name and extension.
7971//
7972//   * ErrCodeInvalidRelativeFileVersionEnumException "InvalidRelativeFileVersionEnumException"
7973//   Either the enum is not in a valid format, or the specified file version enum
7974//   is not valid in respect to the current file version.
7975//
7976//   * ErrCodePathRequiredException "PathRequiredException"
7977//   The folderPath for a location cannot be null.
7978//
7979//   * ErrCodeInvalidFilePositionException "InvalidFilePositionException"
7980//   The position is not valid. Make sure that the line number exists in the version
7981//   of the file you want to comment on.
7982//
7983//   * ErrCodeCommitIdRequiredException "CommitIdRequiredException"
7984//   A commit ID was not specified.
7985//
7986//   * ErrCodeInvalidCommitIdException "InvalidCommitIdException"
7987//   The specified commit ID is not valid.
7988//
7989//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
7990//   An encryption integrity check failed.
7991//
7992//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
7993//   An encryption key could not be accessed.
7994//
7995//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
7996//   The encryption key is disabled.
7997//
7998//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
7999//   No encryption key was found.
8000//
8001//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
8002//   The encryption key is not available.
8003//
8004//   * ErrCodeBeforeCommitIdAndAfterCommitIdAreSameException "BeforeCommitIdAndAfterCommitIdAreSameException"
8005//   The before commit ID and the after commit ID are the same, which is not valid.
8006//   The before commit ID and the after commit ID must be different commit IDs.
8007//
8008//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
8009//   The specified commit does not exist or no commit was specified, and the specified
8010//   repository has no default branch.
8011//
8012//   * ErrCodeInvalidPathException "InvalidPathException"
8013//   The specified path is not valid.
8014//
8015//   * ErrCodePathDoesNotExistException "PathDoesNotExistException"
8016//   The specified path does not exist.
8017//
8018// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentForComparedCommit
8019func (c *CodeCommit) PostCommentForComparedCommit(input *PostCommentForComparedCommitInput) (*PostCommentForComparedCommitOutput, error) {
8020	req, out := c.PostCommentForComparedCommitRequest(input)
8021	return out, req.Send()
8022}
8023
8024// PostCommentForComparedCommitWithContext is the same as PostCommentForComparedCommit with the addition of
8025// the ability to pass a context and additional request options.
8026//
8027// See PostCommentForComparedCommit for details on how to use this API operation.
8028//
8029// The context must be non-nil and will be used for request cancellation. If
8030// the context is nil a panic will occur. In the future the SDK may create
8031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8032// for more information on using Contexts.
8033func (c *CodeCommit) PostCommentForComparedCommitWithContext(ctx aws.Context, input *PostCommentForComparedCommitInput, opts ...request.Option) (*PostCommentForComparedCommitOutput, error) {
8034	req, out := c.PostCommentForComparedCommitRequest(input)
8035	req.SetContext(ctx)
8036	req.ApplyOptions(opts...)
8037	return out, req.Send()
8038}
8039
8040const opPostCommentForPullRequest = "PostCommentForPullRequest"
8041
8042// PostCommentForPullRequestRequest generates a "aws/request.Request" representing the
8043// client's request for the PostCommentForPullRequest operation. The "output" return
8044// value will be populated with the request's response once the request completes
8045// successfully.
8046//
8047// Use "Send" method on the returned Request to send the API call to the service.
8048// the "output" return value is not valid until after Send returns without error.
8049//
8050// See PostCommentForPullRequest for more information on using the PostCommentForPullRequest
8051// API call, and error handling.
8052//
8053// This method is useful when you want to inject custom logic or configuration
8054// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8055//
8056//
8057//    // Example sending a request using the PostCommentForPullRequestRequest method.
8058//    req, resp := client.PostCommentForPullRequestRequest(params)
8059//
8060//    err := req.Send()
8061//    if err == nil { // resp is now filled
8062//        fmt.Println(resp)
8063//    }
8064//
8065// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentForPullRequest
8066func (c *CodeCommit) PostCommentForPullRequestRequest(input *PostCommentForPullRequestInput) (req *request.Request, output *PostCommentForPullRequestOutput) {
8067	op := &request.Operation{
8068		Name:       opPostCommentForPullRequest,
8069		HTTPMethod: "POST",
8070		HTTPPath:   "/",
8071	}
8072
8073	if input == nil {
8074		input = &PostCommentForPullRequestInput{}
8075	}
8076
8077	output = &PostCommentForPullRequestOutput{}
8078	req = c.newRequest(op, input, output)
8079	return
8080}
8081
8082// PostCommentForPullRequest API operation for AWS CodeCommit.
8083//
8084// Posts a comment on a pull request.
8085//
8086// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8087// with awserr.Error's Code and Message methods to get detailed information about
8088// the error.
8089//
8090// See the AWS API reference guide for AWS CodeCommit's
8091// API operation PostCommentForPullRequest for usage and error information.
8092//
8093// Returned Error Codes:
8094//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
8095//   The pull request ID could not be found. Make sure that you have specified
8096//   the correct repository name and pull request ID, and then try again.
8097//
8098//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
8099//   The pull request ID is not valid. Make sure that you have provided the full
8100//   ID and that the pull request is in the specified repository, and then try
8101//   again.
8102//
8103//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
8104//   A pull request ID is required, but none was provided.
8105//
8106//   * ErrCodeRepositoryNotAssociatedWithPullRequestException "RepositoryNotAssociatedWithPullRequestException"
8107//   The repository does not contain any pull requests with that pull request
8108//   ID. Use GetPullRequest to verify the correct repository name for the pull
8109//   request ID.
8110//
8111//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
8112//   A repository name is required, but was not specified.
8113//
8114//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
8115//   The specified repository does not exist.
8116//
8117//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
8118//   A specified repository name is not valid.
8119//
8120//   This exception occurs only when a specified repository name is not valid.
8121//   Other exceptions occur when a required repository parameter is missing, or
8122//   when a specified repository does not exist.
8123//
8124//   * ErrCodeClientRequestTokenRequiredException "ClientRequestTokenRequiredException"
8125//   A client request token is required. A client request token is an unique,
8126//   client-generated idempotency token that, when provided in a request, ensures
8127//   the request cannot be repeated with a changed parameter. If a request is
8128//   received with the same parameters and a token is included, the request returns
8129//   information about the initial request that used that token.
8130//
8131//   * ErrCodeInvalidClientRequestTokenException "InvalidClientRequestTokenException"
8132//   The client request token is not valid.
8133//
8134//   * ErrCodeIdempotencyParameterMismatchException "IdempotencyParameterMismatchException"
8135//   The client request token is not valid. Either the token is not in a valid
8136//   format, or the token has been used in a previous request and cannot be reused.
8137//
8138//   * ErrCodeCommentContentRequiredException "CommentContentRequiredException"
8139//   The comment is empty. You must provide some content for a comment. The content
8140//   cannot be null.
8141//
8142//   * ErrCodeCommentContentSizeLimitExceededException "CommentContentSizeLimitExceededException"
8143//   The comment is too large. Comments are limited to 1,000 characters.
8144//
8145//   * ErrCodeInvalidFileLocationException "InvalidFileLocationException"
8146//   The location of the file is not valid. Make sure that you include the file
8147//   name and extension.
8148//
8149//   * ErrCodeInvalidRelativeFileVersionEnumException "InvalidRelativeFileVersionEnumException"
8150//   Either the enum is not in a valid format, or the specified file version enum
8151//   is not valid in respect to the current file version.
8152//
8153//   * ErrCodePathRequiredException "PathRequiredException"
8154//   The folderPath for a location cannot be null.
8155//
8156//   * ErrCodeInvalidFilePositionException "InvalidFilePositionException"
8157//   The position is not valid. Make sure that the line number exists in the version
8158//   of the file you want to comment on.
8159//
8160//   * ErrCodeCommitIdRequiredException "CommitIdRequiredException"
8161//   A commit ID was not specified.
8162//
8163//   * ErrCodeInvalidCommitIdException "InvalidCommitIdException"
8164//   The specified commit ID is not valid.
8165//
8166//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
8167//   An encryption integrity check failed.
8168//
8169//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
8170//   An encryption key could not be accessed.
8171//
8172//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
8173//   The encryption key is disabled.
8174//
8175//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
8176//   No encryption key was found.
8177//
8178//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
8179//   The encryption key is not available.
8180//
8181//   * ErrCodeCommitDoesNotExistException "CommitDoesNotExistException"
8182//   The specified commit does not exist or no commit was specified, and the specified
8183//   repository has no default branch.
8184//
8185//   * ErrCodeInvalidPathException "InvalidPathException"
8186//   The specified path is not valid.
8187//
8188//   * ErrCodePathDoesNotExistException "PathDoesNotExistException"
8189//   The specified path does not exist.
8190//
8191//   * ErrCodePathRequiredException "PathRequiredException"
8192//   The folderPath for a location cannot be null.
8193//
8194//   * ErrCodeBeforeCommitIdAndAfterCommitIdAreSameException "BeforeCommitIdAndAfterCommitIdAreSameException"
8195//   The before commit ID and the after commit ID are the same, which is not valid.
8196//   The before commit ID and the after commit ID must be different commit IDs.
8197//
8198// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentForPullRequest
8199func (c *CodeCommit) PostCommentForPullRequest(input *PostCommentForPullRequestInput) (*PostCommentForPullRequestOutput, error) {
8200	req, out := c.PostCommentForPullRequestRequest(input)
8201	return out, req.Send()
8202}
8203
8204// PostCommentForPullRequestWithContext is the same as PostCommentForPullRequest with the addition of
8205// the ability to pass a context and additional request options.
8206//
8207// See PostCommentForPullRequest for details on how to use this API operation.
8208//
8209// The context must be non-nil and will be used for request cancellation. If
8210// the context is nil a panic will occur. In the future the SDK may create
8211// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8212// for more information on using Contexts.
8213func (c *CodeCommit) PostCommentForPullRequestWithContext(ctx aws.Context, input *PostCommentForPullRequestInput, opts ...request.Option) (*PostCommentForPullRequestOutput, error) {
8214	req, out := c.PostCommentForPullRequestRequest(input)
8215	req.SetContext(ctx)
8216	req.ApplyOptions(opts...)
8217	return out, req.Send()
8218}
8219
8220const opPostCommentReply = "PostCommentReply"
8221
8222// PostCommentReplyRequest generates a "aws/request.Request" representing the
8223// client's request for the PostCommentReply operation. The "output" return
8224// value will be populated with the request's response once the request completes
8225// successfully.
8226//
8227// Use "Send" method on the returned Request to send the API call to the service.
8228// the "output" return value is not valid until after Send returns without error.
8229//
8230// See PostCommentReply for more information on using the PostCommentReply
8231// API call, and error handling.
8232//
8233// This method is useful when you want to inject custom logic or configuration
8234// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8235//
8236//
8237//    // Example sending a request using the PostCommentReplyRequest method.
8238//    req, resp := client.PostCommentReplyRequest(params)
8239//
8240//    err := req.Send()
8241//    if err == nil { // resp is now filled
8242//        fmt.Println(resp)
8243//    }
8244//
8245// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentReply
8246func (c *CodeCommit) PostCommentReplyRequest(input *PostCommentReplyInput) (req *request.Request, output *PostCommentReplyOutput) {
8247	op := &request.Operation{
8248		Name:       opPostCommentReply,
8249		HTTPMethod: "POST",
8250		HTTPPath:   "/",
8251	}
8252
8253	if input == nil {
8254		input = &PostCommentReplyInput{}
8255	}
8256
8257	output = &PostCommentReplyOutput{}
8258	req = c.newRequest(op, input, output)
8259	return
8260}
8261
8262// PostCommentReply API operation for AWS CodeCommit.
8263//
8264// Posts a comment in reply to an existing comment on a comparison between commits
8265// or a pull request.
8266//
8267// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8268// with awserr.Error's Code and Message methods to get detailed information about
8269// the error.
8270//
8271// See the AWS API reference guide for AWS CodeCommit's
8272// API operation PostCommentReply for usage and error information.
8273//
8274// Returned Error Codes:
8275//   * ErrCodeClientRequestTokenRequiredException "ClientRequestTokenRequiredException"
8276//   A client request token is required. A client request token is an unique,
8277//   client-generated idempotency token that, when provided in a request, ensures
8278//   the request cannot be repeated with a changed parameter. If a request is
8279//   received with the same parameters and a token is included, the request returns
8280//   information about the initial request that used that token.
8281//
8282//   * ErrCodeInvalidClientRequestTokenException "InvalidClientRequestTokenException"
8283//   The client request token is not valid.
8284//
8285//   * ErrCodeIdempotencyParameterMismatchException "IdempotencyParameterMismatchException"
8286//   The client request token is not valid. Either the token is not in a valid
8287//   format, or the token has been used in a previous request and cannot be reused.
8288//
8289//   * ErrCodeCommentContentRequiredException "CommentContentRequiredException"
8290//   The comment is empty. You must provide some content for a comment. The content
8291//   cannot be null.
8292//
8293//   * ErrCodeCommentContentSizeLimitExceededException "CommentContentSizeLimitExceededException"
8294//   The comment is too large. Comments are limited to 1,000 characters.
8295//
8296//   * ErrCodeCommentDoesNotExistException "CommentDoesNotExistException"
8297//   No comment exists with the provided ID. Verify that you have used the correct
8298//   ID, and then try again.
8299//
8300//   * ErrCodeCommentIdRequiredException "CommentIdRequiredException"
8301//   The comment ID is missing or null. A comment ID is required.
8302//
8303//   * ErrCodeInvalidCommentIdException "InvalidCommentIdException"
8304//   The comment ID is not in a valid format. Make sure that you have provided
8305//   the full comment ID.
8306//
8307// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PostCommentReply
8308func (c *CodeCommit) PostCommentReply(input *PostCommentReplyInput) (*PostCommentReplyOutput, error) {
8309	req, out := c.PostCommentReplyRequest(input)
8310	return out, req.Send()
8311}
8312
8313// PostCommentReplyWithContext is the same as PostCommentReply with the addition of
8314// the ability to pass a context and additional request options.
8315//
8316// See PostCommentReply for details on how to use this API operation.
8317//
8318// The context must be non-nil and will be used for request cancellation. If
8319// the context is nil a panic will occur. In the future the SDK may create
8320// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8321// for more information on using Contexts.
8322func (c *CodeCommit) PostCommentReplyWithContext(ctx aws.Context, input *PostCommentReplyInput, opts ...request.Option) (*PostCommentReplyOutput, error) {
8323	req, out := c.PostCommentReplyRequest(input)
8324	req.SetContext(ctx)
8325	req.ApplyOptions(opts...)
8326	return out, req.Send()
8327}
8328
8329const opPutFile = "PutFile"
8330
8331// PutFileRequest generates a "aws/request.Request" representing the
8332// client's request for the PutFile operation. The "output" return
8333// value will be populated with the request's response once the request completes
8334// successfully.
8335//
8336// Use "Send" method on the returned Request to send the API call to the service.
8337// the "output" return value is not valid until after Send returns without error.
8338//
8339// See PutFile for more information on using the PutFile
8340// API call, and error handling.
8341//
8342// This method is useful when you want to inject custom logic or configuration
8343// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8344//
8345//
8346//    // Example sending a request using the PutFileRequest method.
8347//    req, resp := client.PutFileRequest(params)
8348//
8349//    err := req.Send()
8350//    if err == nil { // resp is now filled
8351//        fmt.Println(resp)
8352//    }
8353//
8354// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutFile
8355func (c *CodeCommit) PutFileRequest(input *PutFileInput) (req *request.Request, output *PutFileOutput) {
8356	op := &request.Operation{
8357		Name:       opPutFile,
8358		HTTPMethod: "POST",
8359		HTTPPath:   "/",
8360	}
8361
8362	if input == nil {
8363		input = &PutFileInput{}
8364	}
8365
8366	output = &PutFileOutput{}
8367	req = c.newRequest(op, input, output)
8368	return
8369}
8370
8371// PutFile API operation for AWS CodeCommit.
8372//
8373// Adds or updates a file in a branch in an AWS CodeCommit repository, and generates
8374// a commit for the addition in the specified branch.
8375//
8376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8377// with awserr.Error's Code and Message methods to get detailed information about
8378// the error.
8379//
8380// See the AWS API reference guide for AWS CodeCommit's
8381// API operation PutFile for usage and error information.
8382//
8383// Returned Error Codes:
8384//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
8385//   A repository name is required, but was not specified.
8386//
8387//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
8388//   A specified repository name is not valid.
8389//
8390//   This exception occurs only when a specified repository name is not valid.
8391//   Other exceptions occur when a required repository parameter is missing, or
8392//   when a specified repository does not exist.
8393//
8394//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
8395//   The specified repository does not exist.
8396//
8397//   * ErrCodeParentCommitIdRequiredException "ParentCommitIdRequiredException"
8398//   A parent commit ID is required. To view the full commit ID of a branch in
8399//   a repository, use GetBranch or a Git command (for example, git pull or git
8400//   log).
8401//
8402//   * ErrCodeInvalidParentCommitIdException "InvalidParentCommitIdException"
8403//   The parent commit ID is not valid. The commit ID cannot be empty, and must
8404//   match the head commit ID for the branch of the repository where you want
8405//   to add or update a file.
8406//
8407//   * ErrCodeParentCommitDoesNotExistException "ParentCommitDoesNotExistException"
8408//   The parent commit ID is not valid because it does not exist. The specified
8409//   parent commit ID does not exist in the specified branch of the repository.
8410//
8411//   * ErrCodeParentCommitIdOutdatedException "ParentCommitIdOutdatedException"
8412//   The file could not be added because the provided parent commit ID is not
8413//   the current tip of the specified branch. To view the full commit ID of the
8414//   current head of the branch, use GetBranch.
8415//
8416//   * ErrCodeFileContentRequiredException "FileContentRequiredException"
8417//   The file cannot be added because it is empty. Empty files cannot be added
8418//   to the repository with this API.
8419//
8420//   * ErrCodeFileContentSizeLimitExceededException "FileContentSizeLimitExceededException"
8421//   The file cannot be added because it is too large. The maximum file size is
8422//   6 MB, and the combined file content change size is 7 MB. Consider making
8423//   these changes using a Git client.
8424//
8425//   * ErrCodeFolderContentSizeLimitExceededException "FolderContentSizeLimitExceededException"
8426//   The commit cannot be created because at least one of the overall changes
8427//   in the commit results in a folder whose contents exceed the limit of 6 MB.
8428//   Either reduce the number and size of your changes, or split the changes across
8429//   multiple folders.
8430//
8431//   * ErrCodePathRequiredException "PathRequiredException"
8432//   The folderPath for a location cannot be null.
8433//
8434//   * ErrCodeInvalidPathException "InvalidPathException"
8435//   The specified path is not valid.
8436//
8437//   * ErrCodeBranchNameRequiredException "BranchNameRequiredException"
8438//   A branch name is required, but was not specified.
8439//
8440//   * ErrCodeInvalidBranchNameException "InvalidBranchNameException"
8441//   The specified reference name is not valid.
8442//
8443//   * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException"
8444//   The specified branch does not exist.
8445//
8446//   * ErrCodeBranchNameIsTagNameException "BranchNameIsTagNameException"
8447//   The specified branch name is not valid because it is a tag name. Enter the
8448//   name of a branch in the repository. For a list of valid branch names, use
8449//   ListBranches.
8450//
8451//   * ErrCodeInvalidFileModeException "InvalidFileModeException"
8452//   The specified file mode permission is not valid. For a list of valid file
8453//   mode permissions, see PutFile.
8454//
8455//   * ErrCodeNameLengthExceededException "NameLengthExceededException"
8456//   The user name is not valid because it has exceeded the character limit for
8457//   author names.
8458//
8459//   * ErrCodeInvalidEmailException "InvalidEmailException"
8460//   The specified email address either contains one or more characters that are
8461//   not allowed, or it exceeds the maximum number of characters allowed for an
8462//   email address.
8463//
8464//   * ErrCodeCommitMessageLengthExceededException "CommitMessageLengthExceededException"
8465//   The commit message is too long. Provide a shorter string.
8466//
8467//   * ErrCodeInvalidDeletionParameterException "InvalidDeletionParameterException"
8468//   The specified deletion parameter is not valid.
8469//
8470//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
8471//   An encryption integrity check failed.
8472//
8473//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
8474//   An encryption key could not be accessed.
8475//
8476//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
8477//   The encryption key is disabled.
8478//
8479//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
8480//   No encryption key was found.
8481//
8482//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
8483//   The encryption key is not available.
8484//
8485//   * ErrCodeSameFileContentException "SameFileContentException"
8486//   The file was not added or updated because the content of the file is exactly
8487//   the same as the content of that file in the repository and branch that you
8488//   specified.
8489//
8490//   * ErrCodeFileNameConflictsWithDirectoryNameException "FileNameConflictsWithDirectoryNameException"
8491//   A file cannot be added to the repository because the specified file name
8492//   has the same name as a directory in this repository. Either provide another
8493//   name for the file, or add the file in a directory that does not match the
8494//   file name.
8495//
8496//   * ErrCodeDirectoryNameConflictsWithFileNameException "DirectoryNameConflictsWithFileNameException"
8497//   A file cannot be added to the repository because the specified path name
8498//   has the same name as a file that already exists in this repository. Either
8499//   provide a different name for the file, or specify a different path for the
8500//   file.
8501//
8502//   * ErrCodeFilePathConflictsWithSubmodulePathException "FilePathConflictsWithSubmodulePathException"
8503//   The commit cannot be created because a specified file path points to a submodule.
8504//   Verify that the destination files have valid file paths that do not point
8505//   to a submodule.
8506//
8507// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutFile
8508func (c *CodeCommit) PutFile(input *PutFileInput) (*PutFileOutput, error) {
8509	req, out := c.PutFileRequest(input)
8510	return out, req.Send()
8511}
8512
8513// PutFileWithContext is the same as PutFile with the addition of
8514// the ability to pass a context and additional request options.
8515//
8516// See PutFile for details on how to use this API operation.
8517//
8518// The context must be non-nil and will be used for request cancellation. If
8519// the context is nil a panic will occur. In the future the SDK may create
8520// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8521// for more information on using Contexts.
8522func (c *CodeCommit) PutFileWithContext(ctx aws.Context, input *PutFileInput, opts ...request.Option) (*PutFileOutput, error) {
8523	req, out := c.PutFileRequest(input)
8524	req.SetContext(ctx)
8525	req.ApplyOptions(opts...)
8526	return out, req.Send()
8527}
8528
8529const opPutRepositoryTriggers = "PutRepositoryTriggers"
8530
8531// PutRepositoryTriggersRequest generates a "aws/request.Request" representing the
8532// client's request for the PutRepositoryTriggers operation. The "output" return
8533// value will be populated with the request's response once the request completes
8534// successfully.
8535//
8536// Use "Send" method on the returned Request to send the API call to the service.
8537// the "output" return value is not valid until after Send returns without error.
8538//
8539// See PutRepositoryTriggers for more information on using the PutRepositoryTriggers
8540// API call, and error handling.
8541//
8542// This method is useful when you want to inject custom logic or configuration
8543// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8544//
8545//
8546//    // Example sending a request using the PutRepositoryTriggersRequest method.
8547//    req, resp := client.PutRepositoryTriggersRequest(params)
8548//
8549//    err := req.Send()
8550//    if err == nil { // resp is now filled
8551//        fmt.Println(resp)
8552//    }
8553//
8554// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutRepositoryTriggers
8555func (c *CodeCommit) PutRepositoryTriggersRequest(input *PutRepositoryTriggersInput) (req *request.Request, output *PutRepositoryTriggersOutput) {
8556	op := &request.Operation{
8557		Name:       opPutRepositoryTriggers,
8558		HTTPMethod: "POST",
8559		HTTPPath:   "/",
8560	}
8561
8562	if input == nil {
8563		input = &PutRepositoryTriggersInput{}
8564	}
8565
8566	output = &PutRepositoryTriggersOutput{}
8567	req = c.newRequest(op, input, output)
8568	return
8569}
8570
8571// PutRepositoryTriggers API operation for AWS CodeCommit.
8572//
8573// Replaces all triggers for a repository. Used to create or delete triggers.
8574//
8575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8576// with awserr.Error's Code and Message methods to get detailed information about
8577// the error.
8578//
8579// See the AWS API reference guide for AWS CodeCommit's
8580// API operation PutRepositoryTriggers for usage and error information.
8581//
8582// Returned Error Codes:
8583//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
8584//   The specified repository does not exist.
8585//
8586//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
8587//   A repository name is required, but was not specified.
8588//
8589//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
8590//   A specified repository name is not valid.
8591//
8592//   This exception occurs only when a specified repository name is not valid.
8593//   Other exceptions occur when a required repository parameter is missing, or
8594//   when a specified repository does not exist.
8595//
8596//   * ErrCodeRepositoryTriggersListRequiredException "RepositoryTriggersListRequiredException"
8597//   The list of triggers for the repository is required, but was not specified.
8598//
8599//   * ErrCodeMaximumRepositoryTriggersExceededException "MaximumRepositoryTriggersExceededException"
8600//   The number of triggers allowed for the repository was exceeded.
8601//
8602//   * ErrCodeInvalidRepositoryTriggerNameException "InvalidRepositoryTriggerNameException"
8603//   The name of the trigger is not valid.
8604//
8605//   * ErrCodeInvalidRepositoryTriggerDestinationArnException "InvalidRepositoryTriggerDestinationArnException"
8606//   The Amazon Resource Name (ARN) for the trigger is not valid for the specified
8607//   destination. The most common reason for this error is that the ARN does not
8608//   meet the requirements for the service type.
8609//
8610//   * ErrCodeInvalidRepositoryTriggerRegionException "InvalidRepositoryTriggerRegionException"
8611//   The AWS Region for the trigger target does not match the AWS Region for the
8612//   repository. Triggers must be created in the same Region as the target for
8613//   the trigger.
8614//
8615//   * ErrCodeInvalidRepositoryTriggerCustomDataException "InvalidRepositoryTriggerCustomDataException"
8616//   The custom data provided for the trigger is not valid.
8617//
8618//   * ErrCodeMaximumBranchesExceededException "MaximumBranchesExceededException"
8619//   The number of branches for the trigger was exceeded.
8620//
8621//   * ErrCodeInvalidRepositoryTriggerBranchNameException "InvalidRepositoryTriggerBranchNameException"
8622//   One or more branch names specified for the trigger is not valid.
8623//
8624//   * ErrCodeInvalidRepositoryTriggerEventsException "InvalidRepositoryTriggerEventsException"
8625//   One or more events specified for the trigger is not valid. Check to make
8626//   sure that all events specified match the requirements for allowed events.
8627//
8628//   * ErrCodeRepositoryTriggerNameRequiredException "RepositoryTriggerNameRequiredException"
8629//   A name for the trigger is required, but was not specified.
8630//
8631//   * ErrCodeRepositoryTriggerDestinationArnRequiredException "RepositoryTriggerDestinationArnRequiredException"
8632//   A destination ARN for the target service for the trigger is required, but
8633//   was not specified.
8634//
8635//   * ErrCodeRepositoryTriggerBranchNameListRequiredException "RepositoryTriggerBranchNameListRequiredException"
8636//   At least one branch name is required, but was not specified in the trigger
8637//   configuration.
8638//
8639//   * ErrCodeRepositoryTriggerEventsListRequiredException "RepositoryTriggerEventsListRequiredException"
8640//   At least one event for the trigger is required, but was not specified.
8641//
8642//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
8643//   An encryption integrity check failed.
8644//
8645//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
8646//   An encryption key could not be accessed.
8647//
8648//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
8649//   The encryption key is disabled.
8650//
8651//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
8652//   No encryption key was found.
8653//
8654//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
8655//   The encryption key is not available.
8656//
8657// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/PutRepositoryTriggers
8658func (c *CodeCommit) PutRepositoryTriggers(input *PutRepositoryTriggersInput) (*PutRepositoryTriggersOutput, error) {
8659	req, out := c.PutRepositoryTriggersRequest(input)
8660	return out, req.Send()
8661}
8662
8663// PutRepositoryTriggersWithContext is the same as PutRepositoryTriggers with the addition of
8664// the ability to pass a context and additional request options.
8665//
8666// See PutRepositoryTriggers for details on how to use this API operation.
8667//
8668// The context must be non-nil and will be used for request cancellation. If
8669// the context is nil a panic will occur. In the future the SDK may create
8670// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8671// for more information on using Contexts.
8672func (c *CodeCommit) PutRepositoryTriggersWithContext(ctx aws.Context, input *PutRepositoryTriggersInput, opts ...request.Option) (*PutRepositoryTriggersOutput, error) {
8673	req, out := c.PutRepositoryTriggersRequest(input)
8674	req.SetContext(ctx)
8675	req.ApplyOptions(opts...)
8676	return out, req.Send()
8677}
8678
8679const opTagResource = "TagResource"
8680
8681// TagResourceRequest generates a "aws/request.Request" representing the
8682// client's request for the TagResource operation. The "output" return
8683// value will be populated with the request's response once the request completes
8684// successfully.
8685//
8686// Use "Send" method on the returned Request to send the API call to the service.
8687// the "output" return value is not valid until after Send returns without error.
8688//
8689// See TagResource for more information on using the TagResource
8690// API call, and error handling.
8691//
8692// This method is useful when you want to inject custom logic or configuration
8693// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8694//
8695//
8696//    // Example sending a request using the TagResourceRequest method.
8697//    req, resp := client.TagResourceRequest(params)
8698//
8699//    err := req.Send()
8700//    if err == nil { // resp is now filled
8701//        fmt.Println(resp)
8702//    }
8703//
8704// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/TagResource
8705func (c *CodeCommit) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
8706	op := &request.Operation{
8707		Name:       opTagResource,
8708		HTTPMethod: "POST",
8709		HTTPPath:   "/",
8710	}
8711
8712	if input == nil {
8713		input = &TagResourceInput{}
8714	}
8715
8716	output = &TagResourceOutput{}
8717	req = c.newRequest(op, input, output)
8718	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8719	return
8720}
8721
8722// TagResource API operation for AWS CodeCommit.
8723//
8724// Adds or updates tags for a resource in AWS CodeCommit. For a list of valid
8725// resources in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats)
8726// in the AWS CodeCommit User Guide.
8727//
8728// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8729// with awserr.Error's Code and Message methods to get detailed information about
8730// the error.
8731//
8732// See the AWS API reference guide for AWS CodeCommit's
8733// API operation TagResource for usage and error information.
8734//
8735// Returned Error Codes:
8736//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
8737//   The specified repository does not exist.
8738//
8739//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
8740//   A specified repository name is not valid.
8741//
8742//   This exception occurs only when a specified repository name is not valid.
8743//   Other exceptions occur when a required repository parameter is missing, or
8744//   when a specified repository does not exist.
8745//
8746//   * ErrCodeResourceArnRequiredException "ResourceArnRequiredException"
8747//   A valid Amazon Resource Name (ARN) for an AWS CodeCommit resource is required.
8748//   For a list of valid resources in AWS CodeCommit, see CodeCommit Resources
8749//   and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats)
8750//   in the AWS CodeCommit User Guide.
8751//
8752//   * ErrCodeInvalidResourceArnException "InvalidResourceArnException"
8753//   The value for the resource ARN is not valid. For more information about resources
8754//   in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats)
8755//   in the AWS CodeCommit User Guide.
8756//
8757//   * ErrCodeTagsMapRequiredException "TagsMapRequiredException"
8758//   A map of tags is required.
8759//
8760//   * ErrCodeInvalidTagsMapException "InvalidTagsMapException"
8761//   The map of tags is not valid.
8762//
8763//   * ErrCodeTooManyTagsException "TooManyTagsException"
8764//   The maximum number of tags for an AWS CodeCommit resource has been exceeded.
8765//
8766//   * ErrCodeInvalidSystemTagUsageException "InvalidSystemTagUsageException"
8767//   The specified tag is not valid. Key names cannot be prefixed with aws:.
8768//
8769//   * ErrCodeTagPolicyException "TagPolicyException"
8770//   The tag policy is not valid.
8771//
8772// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/TagResource
8773func (c *CodeCommit) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
8774	req, out := c.TagResourceRequest(input)
8775	return out, req.Send()
8776}
8777
8778// TagResourceWithContext is the same as TagResource with the addition of
8779// the ability to pass a context and additional request options.
8780//
8781// See TagResource for details on how to use this API operation.
8782//
8783// The context must be non-nil and will be used for request cancellation. If
8784// the context is nil a panic will occur. In the future the SDK may create
8785// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8786// for more information on using Contexts.
8787func (c *CodeCommit) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
8788	req, out := c.TagResourceRequest(input)
8789	req.SetContext(ctx)
8790	req.ApplyOptions(opts...)
8791	return out, req.Send()
8792}
8793
8794const opTestRepositoryTriggers = "TestRepositoryTriggers"
8795
8796// TestRepositoryTriggersRequest generates a "aws/request.Request" representing the
8797// client's request for the TestRepositoryTriggers operation. The "output" return
8798// value will be populated with the request's response once the request completes
8799// successfully.
8800//
8801// Use "Send" method on the returned Request to send the API call to the service.
8802// the "output" return value is not valid until after Send returns without error.
8803//
8804// See TestRepositoryTriggers for more information on using the TestRepositoryTriggers
8805// API call, and error handling.
8806//
8807// This method is useful when you want to inject custom logic or configuration
8808// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8809//
8810//
8811//    // Example sending a request using the TestRepositoryTriggersRequest method.
8812//    req, resp := client.TestRepositoryTriggersRequest(params)
8813//
8814//    err := req.Send()
8815//    if err == nil { // resp is now filled
8816//        fmt.Println(resp)
8817//    }
8818//
8819// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/TestRepositoryTriggers
8820func (c *CodeCommit) TestRepositoryTriggersRequest(input *TestRepositoryTriggersInput) (req *request.Request, output *TestRepositoryTriggersOutput) {
8821	op := &request.Operation{
8822		Name:       opTestRepositoryTriggers,
8823		HTTPMethod: "POST",
8824		HTTPPath:   "/",
8825	}
8826
8827	if input == nil {
8828		input = &TestRepositoryTriggersInput{}
8829	}
8830
8831	output = &TestRepositoryTriggersOutput{}
8832	req = c.newRequest(op, input, output)
8833	return
8834}
8835
8836// TestRepositoryTriggers API operation for AWS CodeCommit.
8837//
8838// Tests the functionality of repository triggers by sending information to
8839// the trigger target. If real data is available in the repository, the test
8840// sends data from the last commit. If no data is available, sample data is
8841// generated.
8842//
8843// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8844// with awserr.Error's Code and Message methods to get detailed information about
8845// the error.
8846//
8847// See the AWS API reference guide for AWS CodeCommit's
8848// API operation TestRepositoryTriggers for usage and error information.
8849//
8850// Returned Error Codes:
8851//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
8852//   The specified repository does not exist.
8853//
8854//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
8855//   A repository name is required, but was not specified.
8856//
8857//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
8858//   A specified repository name is not valid.
8859//
8860//   This exception occurs only when a specified repository name is not valid.
8861//   Other exceptions occur when a required repository parameter is missing, or
8862//   when a specified repository does not exist.
8863//
8864//   * ErrCodeRepositoryTriggersListRequiredException "RepositoryTriggersListRequiredException"
8865//   The list of triggers for the repository is required, but was not specified.
8866//
8867//   * ErrCodeMaximumRepositoryTriggersExceededException "MaximumRepositoryTriggersExceededException"
8868//   The number of triggers allowed for the repository was exceeded.
8869//
8870//   * ErrCodeInvalidRepositoryTriggerNameException "InvalidRepositoryTriggerNameException"
8871//   The name of the trigger is not valid.
8872//
8873//   * ErrCodeInvalidRepositoryTriggerDestinationArnException "InvalidRepositoryTriggerDestinationArnException"
8874//   The Amazon Resource Name (ARN) for the trigger is not valid for the specified
8875//   destination. The most common reason for this error is that the ARN does not
8876//   meet the requirements for the service type.
8877//
8878//   * ErrCodeInvalidRepositoryTriggerRegionException "InvalidRepositoryTriggerRegionException"
8879//   The AWS Region for the trigger target does not match the AWS Region for the
8880//   repository. Triggers must be created in the same Region as the target for
8881//   the trigger.
8882//
8883//   * ErrCodeInvalidRepositoryTriggerCustomDataException "InvalidRepositoryTriggerCustomDataException"
8884//   The custom data provided for the trigger is not valid.
8885//
8886//   * ErrCodeMaximumBranchesExceededException "MaximumBranchesExceededException"
8887//   The number of branches for the trigger was exceeded.
8888//
8889//   * ErrCodeInvalidRepositoryTriggerBranchNameException "InvalidRepositoryTriggerBranchNameException"
8890//   One or more branch names specified for the trigger is not valid.
8891//
8892//   * ErrCodeInvalidRepositoryTriggerEventsException "InvalidRepositoryTriggerEventsException"
8893//   One or more events specified for the trigger is not valid. Check to make
8894//   sure that all events specified match the requirements for allowed events.
8895//
8896//   * ErrCodeRepositoryTriggerNameRequiredException "RepositoryTriggerNameRequiredException"
8897//   A name for the trigger is required, but was not specified.
8898//
8899//   * ErrCodeRepositoryTriggerDestinationArnRequiredException "RepositoryTriggerDestinationArnRequiredException"
8900//   A destination ARN for the target service for the trigger is required, but
8901//   was not specified.
8902//
8903//   * ErrCodeRepositoryTriggerBranchNameListRequiredException "RepositoryTriggerBranchNameListRequiredException"
8904//   At least one branch name is required, but was not specified in the trigger
8905//   configuration.
8906//
8907//   * ErrCodeRepositoryTriggerEventsListRequiredException "RepositoryTriggerEventsListRequiredException"
8908//   At least one event for the trigger is required, but was not specified.
8909//
8910//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
8911//   An encryption integrity check failed.
8912//
8913//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
8914//   An encryption key could not be accessed.
8915//
8916//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
8917//   The encryption key is disabled.
8918//
8919//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
8920//   No encryption key was found.
8921//
8922//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
8923//   The encryption key is not available.
8924//
8925// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/TestRepositoryTriggers
8926func (c *CodeCommit) TestRepositoryTriggers(input *TestRepositoryTriggersInput) (*TestRepositoryTriggersOutput, error) {
8927	req, out := c.TestRepositoryTriggersRequest(input)
8928	return out, req.Send()
8929}
8930
8931// TestRepositoryTriggersWithContext is the same as TestRepositoryTriggers with the addition of
8932// the ability to pass a context and additional request options.
8933//
8934// See TestRepositoryTriggers for details on how to use this API operation.
8935//
8936// The context must be non-nil and will be used for request cancellation. If
8937// the context is nil a panic will occur. In the future the SDK may create
8938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8939// for more information on using Contexts.
8940func (c *CodeCommit) TestRepositoryTriggersWithContext(ctx aws.Context, input *TestRepositoryTriggersInput, opts ...request.Option) (*TestRepositoryTriggersOutput, error) {
8941	req, out := c.TestRepositoryTriggersRequest(input)
8942	req.SetContext(ctx)
8943	req.ApplyOptions(opts...)
8944	return out, req.Send()
8945}
8946
8947const opUntagResource = "UntagResource"
8948
8949// UntagResourceRequest generates a "aws/request.Request" representing the
8950// client's request for the UntagResource operation. The "output" return
8951// value will be populated with the request's response once the request completes
8952// successfully.
8953//
8954// Use "Send" method on the returned Request to send the API call to the service.
8955// the "output" return value is not valid until after Send returns without error.
8956//
8957// See UntagResource for more information on using the UntagResource
8958// API call, and error handling.
8959//
8960// This method is useful when you want to inject custom logic or configuration
8961// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8962//
8963//
8964//    // Example sending a request using the UntagResourceRequest method.
8965//    req, resp := client.UntagResourceRequest(params)
8966//
8967//    err := req.Send()
8968//    if err == nil { // resp is now filled
8969//        fmt.Println(resp)
8970//    }
8971//
8972// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UntagResource
8973func (c *CodeCommit) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
8974	op := &request.Operation{
8975		Name:       opUntagResource,
8976		HTTPMethod: "POST",
8977		HTTPPath:   "/",
8978	}
8979
8980	if input == nil {
8981		input = &UntagResourceInput{}
8982	}
8983
8984	output = &UntagResourceOutput{}
8985	req = c.newRequest(op, input, output)
8986	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8987	return
8988}
8989
8990// UntagResource API operation for AWS CodeCommit.
8991//
8992// Removes tags for a resource in AWS CodeCommit. For a list of valid resources
8993// in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats)
8994// in the AWS CodeCommit User Guide.
8995//
8996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8997// with awserr.Error's Code and Message methods to get detailed information about
8998// the error.
8999//
9000// See the AWS API reference guide for AWS CodeCommit's
9001// API operation UntagResource for usage and error information.
9002//
9003// Returned Error Codes:
9004//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
9005//   The specified repository does not exist.
9006//
9007//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
9008//   A specified repository name is not valid.
9009//
9010//   This exception occurs only when a specified repository name is not valid.
9011//   Other exceptions occur when a required repository parameter is missing, or
9012//   when a specified repository does not exist.
9013//
9014//   * ErrCodeResourceArnRequiredException "ResourceArnRequiredException"
9015//   A valid Amazon Resource Name (ARN) for an AWS CodeCommit resource is required.
9016//   For a list of valid resources in AWS CodeCommit, see CodeCommit Resources
9017//   and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats)
9018//   in the AWS CodeCommit User Guide.
9019//
9020//   * ErrCodeInvalidResourceArnException "InvalidResourceArnException"
9021//   The value for the resource ARN is not valid. For more information about resources
9022//   in AWS CodeCommit, see CodeCommit Resources and Operations (https://docs.aws.amazon.com/codecommit/latest/userguide/auth-and-access-control-iam-access-control-identity-based.html#arn-formats)
9023//   in the AWS CodeCommit User Guide.
9024//
9025//   * ErrCodeTagKeysListRequiredException "TagKeysListRequiredException"
9026//   A list of tag keys is required. The list cannot be empty or null.
9027//
9028//   * ErrCodeInvalidTagKeysListException "InvalidTagKeysListException"
9029//   The list of tags is not valid.
9030//
9031//   * ErrCodeTooManyTagsException "TooManyTagsException"
9032//   The maximum number of tags for an AWS CodeCommit resource has been exceeded.
9033//
9034//   * ErrCodeInvalidSystemTagUsageException "InvalidSystemTagUsageException"
9035//   The specified tag is not valid. Key names cannot be prefixed with aws:.
9036//
9037//   * ErrCodeTagPolicyException "TagPolicyException"
9038//   The tag policy is not valid.
9039//
9040// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UntagResource
9041func (c *CodeCommit) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
9042	req, out := c.UntagResourceRequest(input)
9043	return out, req.Send()
9044}
9045
9046// UntagResourceWithContext is the same as UntagResource with the addition of
9047// the ability to pass a context and additional request options.
9048//
9049// See UntagResource for details on how to use this API operation.
9050//
9051// The context must be non-nil and will be used for request cancellation. If
9052// the context is nil a panic will occur. In the future the SDK may create
9053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9054// for more information on using Contexts.
9055func (c *CodeCommit) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
9056	req, out := c.UntagResourceRequest(input)
9057	req.SetContext(ctx)
9058	req.ApplyOptions(opts...)
9059	return out, req.Send()
9060}
9061
9062const opUpdateApprovalRuleTemplateContent = "UpdateApprovalRuleTemplateContent"
9063
9064// UpdateApprovalRuleTemplateContentRequest generates a "aws/request.Request" representing the
9065// client's request for the UpdateApprovalRuleTemplateContent operation. The "output" return
9066// value will be populated with the request's response once the request completes
9067// successfully.
9068//
9069// Use "Send" method on the returned Request to send the API call to the service.
9070// the "output" return value is not valid until after Send returns without error.
9071//
9072// See UpdateApprovalRuleTemplateContent for more information on using the UpdateApprovalRuleTemplateContent
9073// API call, and error handling.
9074//
9075// This method is useful when you want to inject custom logic or configuration
9076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9077//
9078//
9079//    // Example sending a request using the UpdateApprovalRuleTemplateContentRequest method.
9080//    req, resp := client.UpdateApprovalRuleTemplateContentRequest(params)
9081//
9082//    err := req.Send()
9083//    if err == nil { // resp is now filled
9084//        fmt.Println(resp)
9085//    }
9086//
9087// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateApprovalRuleTemplateContent
9088func (c *CodeCommit) UpdateApprovalRuleTemplateContentRequest(input *UpdateApprovalRuleTemplateContentInput) (req *request.Request, output *UpdateApprovalRuleTemplateContentOutput) {
9089	op := &request.Operation{
9090		Name:       opUpdateApprovalRuleTemplateContent,
9091		HTTPMethod: "POST",
9092		HTTPPath:   "/",
9093	}
9094
9095	if input == nil {
9096		input = &UpdateApprovalRuleTemplateContentInput{}
9097	}
9098
9099	output = &UpdateApprovalRuleTemplateContentOutput{}
9100	req = c.newRequest(op, input, output)
9101	return
9102}
9103
9104// UpdateApprovalRuleTemplateContent API operation for AWS CodeCommit.
9105//
9106// Updates the content of an approval rule template. You can change the number
9107// of required approvals, the membership of the approval rule, and whether an
9108// approval pool is defined.
9109//
9110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9111// with awserr.Error's Code and Message methods to get detailed information about
9112// the error.
9113//
9114// See the AWS API reference guide for AWS CodeCommit's
9115// API operation UpdateApprovalRuleTemplateContent for usage and error information.
9116//
9117// Returned Error Codes:
9118//   * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException"
9119//   The name of the approval rule template is not valid. Template names must
9120//   be between 1 and 100 valid characters in length. For more information about
9121//   limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
9122//
9123//   * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException"
9124//   An approval rule template name is required, but was not specified.
9125//
9126//   * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException"
9127//   The specified approval rule template does not exist. Verify that the name
9128//   is correct and that you are signed in to the AWS Region where the template
9129//   was created, and then try again.
9130//
9131//   * ErrCodeInvalidApprovalRuleTemplateContentException "InvalidApprovalRuleTemplateContentException"
9132//   The content of the approval rule template is not valid.
9133//
9134//   * ErrCodeInvalidRuleContentSha256Exception "InvalidRuleContentSha256Exception"
9135//   The SHA-256 hash signature for the rule content is not valid.
9136//
9137//   * ErrCodeApprovalRuleTemplateContentRequiredException "ApprovalRuleTemplateContentRequiredException"
9138//   The content for the approval rule template is empty. You must provide some
9139//   content for an approval rule template. The content cannot be null.
9140//
9141// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateApprovalRuleTemplateContent
9142func (c *CodeCommit) UpdateApprovalRuleTemplateContent(input *UpdateApprovalRuleTemplateContentInput) (*UpdateApprovalRuleTemplateContentOutput, error) {
9143	req, out := c.UpdateApprovalRuleTemplateContentRequest(input)
9144	return out, req.Send()
9145}
9146
9147// UpdateApprovalRuleTemplateContentWithContext is the same as UpdateApprovalRuleTemplateContent with the addition of
9148// the ability to pass a context and additional request options.
9149//
9150// See UpdateApprovalRuleTemplateContent for details on how to use this API operation.
9151//
9152// The context must be non-nil and will be used for request cancellation. If
9153// the context is nil a panic will occur. In the future the SDK may create
9154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9155// for more information on using Contexts.
9156func (c *CodeCommit) UpdateApprovalRuleTemplateContentWithContext(ctx aws.Context, input *UpdateApprovalRuleTemplateContentInput, opts ...request.Option) (*UpdateApprovalRuleTemplateContentOutput, error) {
9157	req, out := c.UpdateApprovalRuleTemplateContentRequest(input)
9158	req.SetContext(ctx)
9159	req.ApplyOptions(opts...)
9160	return out, req.Send()
9161}
9162
9163const opUpdateApprovalRuleTemplateDescription = "UpdateApprovalRuleTemplateDescription"
9164
9165// UpdateApprovalRuleTemplateDescriptionRequest generates a "aws/request.Request" representing the
9166// client's request for the UpdateApprovalRuleTemplateDescription operation. The "output" return
9167// value will be populated with the request's response once the request completes
9168// successfully.
9169//
9170// Use "Send" method on the returned Request to send the API call to the service.
9171// the "output" return value is not valid until after Send returns without error.
9172//
9173// See UpdateApprovalRuleTemplateDescription for more information on using the UpdateApprovalRuleTemplateDescription
9174// API call, and error handling.
9175//
9176// This method is useful when you want to inject custom logic or configuration
9177// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9178//
9179//
9180//    // Example sending a request using the UpdateApprovalRuleTemplateDescriptionRequest method.
9181//    req, resp := client.UpdateApprovalRuleTemplateDescriptionRequest(params)
9182//
9183//    err := req.Send()
9184//    if err == nil { // resp is now filled
9185//        fmt.Println(resp)
9186//    }
9187//
9188// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateApprovalRuleTemplateDescription
9189func (c *CodeCommit) UpdateApprovalRuleTemplateDescriptionRequest(input *UpdateApprovalRuleTemplateDescriptionInput) (req *request.Request, output *UpdateApprovalRuleTemplateDescriptionOutput) {
9190	op := &request.Operation{
9191		Name:       opUpdateApprovalRuleTemplateDescription,
9192		HTTPMethod: "POST",
9193		HTTPPath:   "/",
9194	}
9195
9196	if input == nil {
9197		input = &UpdateApprovalRuleTemplateDescriptionInput{}
9198	}
9199
9200	output = &UpdateApprovalRuleTemplateDescriptionOutput{}
9201	req = c.newRequest(op, input, output)
9202	return
9203}
9204
9205// UpdateApprovalRuleTemplateDescription API operation for AWS CodeCommit.
9206//
9207// Updates the description for a specified approval rule template.
9208//
9209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9210// with awserr.Error's Code and Message methods to get detailed information about
9211// the error.
9212//
9213// See the AWS API reference guide for AWS CodeCommit's
9214// API operation UpdateApprovalRuleTemplateDescription for usage and error information.
9215//
9216// Returned Error Codes:
9217//   * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException"
9218//   The name of the approval rule template is not valid. Template names must
9219//   be between 1 and 100 valid characters in length. For more information about
9220//   limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
9221//
9222//   * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException"
9223//   An approval rule template name is required, but was not specified.
9224//
9225//   * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException"
9226//   The specified approval rule template does not exist. Verify that the name
9227//   is correct and that you are signed in to the AWS Region where the template
9228//   was created, and then try again.
9229//
9230//   * ErrCodeInvalidApprovalRuleTemplateDescriptionException "InvalidApprovalRuleTemplateDescriptionException"
9231//   The description for the approval rule template is not valid because it exceeds
9232//   the maximum characters allowed for a description. For more information about
9233//   limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
9234//
9235// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateApprovalRuleTemplateDescription
9236func (c *CodeCommit) UpdateApprovalRuleTemplateDescription(input *UpdateApprovalRuleTemplateDescriptionInput) (*UpdateApprovalRuleTemplateDescriptionOutput, error) {
9237	req, out := c.UpdateApprovalRuleTemplateDescriptionRequest(input)
9238	return out, req.Send()
9239}
9240
9241// UpdateApprovalRuleTemplateDescriptionWithContext is the same as UpdateApprovalRuleTemplateDescription with the addition of
9242// the ability to pass a context and additional request options.
9243//
9244// See UpdateApprovalRuleTemplateDescription for details on how to use this API operation.
9245//
9246// The context must be non-nil and will be used for request cancellation. If
9247// the context is nil a panic will occur. In the future the SDK may create
9248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9249// for more information on using Contexts.
9250func (c *CodeCommit) UpdateApprovalRuleTemplateDescriptionWithContext(ctx aws.Context, input *UpdateApprovalRuleTemplateDescriptionInput, opts ...request.Option) (*UpdateApprovalRuleTemplateDescriptionOutput, error) {
9251	req, out := c.UpdateApprovalRuleTemplateDescriptionRequest(input)
9252	req.SetContext(ctx)
9253	req.ApplyOptions(opts...)
9254	return out, req.Send()
9255}
9256
9257const opUpdateApprovalRuleTemplateName = "UpdateApprovalRuleTemplateName"
9258
9259// UpdateApprovalRuleTemplateNameRequest generates a "aws/request.Request" representing the
9260// client's request for the UpdateApprovalRuleTemplateName operation. The "output" return
9261// value will be populated with the request's response once the request completes
9262// successfully.
9263//
9264// Use "Send" method on the returned Request to send the API call to the service.
9265// the "output" return value is not valid until after Send returns without error.
9266//
9267// See UpdateApprovalRuleTemplateName for more information on using the UpdateApprovalRuleTemplateName
9268// API call, and error handling.
9269//
9270// This method is useful when you want to inject custom logic or configuration
9271// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9272//
9273//
9274//    // Example sending a request using the UpdateApprovalRuleTemplateNameRequest method.
9275//    req, resp := client.UpdateApprovalRuleTemplateNameRequest(params)
9276//
9277//    err := req.Send()
9278//    if err == nil { // resp is now filled
9279//        fmt.Println(resp)
9280//    }
9281//
9282// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateApprovalRuleTemplateName
9283func (c *CodeCommit) UpdateApprovalRuleTemplateNameRequest(input *UpdateApprovalRuleTemplateNameInput) (req *request.Request, output *UpdateApprovalRuleTemplateNameOutput) {
9284	op := &request.Operation{
9285		Name:       opUpdateApprovalRuleTemplateName,
9286		HTTPMethod: "POST",
9287		HTTPPath:   "/",
9288	}
9289
9290	if input == nil {
9291		input = &UpdateApprovalRuleTemplateNameInput{}
9292	}
9293
9294	output = &UpdateApprovalRuleTemplateNameOutput{}
9295	req = c.newRequest(op, input, output)
9296	return
9297}
9298
9299// UpdateApprovalRuleTemplateName API operation for AWS CodeCommit.
9300//
9301// Updates the name of a specified approval rule template.
9302//
9303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9304// with awserr.Error's Code and Message methods to get detailed information about
9305// the error.
9306//
9307// See the AWS API reference guide for AWS CodeCommit's
9308// API operation UpdateApprovalRuleTemplateName for usage and error information.
9309//
9310// Returned Error Codes:
9311//   * ErrCodeInvalidApprovalRuleTemplateNameException "InvalidApprovalRuleTemplateNameException"
9312//   The name of the approval rule template is not valid. Template names must
9313//   be between 1 and 100 valid characters in length. For more information about
9314//   limits in AWS CodeCommit, see AWS CodeCommit User Guide (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html).
9315//
9316//   * ErrCodeApprovalRuleTemplateNameRequiredException "ApprovalRuleTemplateNameRequiredException"
9317//   An approval rule template name is required, but was not specified.
9318//
9319//   * ErrCodeApprovalRuleTemplateDoesNotExistException "ApprovalRuleTemplateDoesNotExistException"
9320//   The specified approval rule template does not exist. Verify that the name
9321//   is correct and that you are signed in to the AWS Region where the template
9322//   was created, and then try again.
9323//
9324//   * ErrCodeApprovalRuleTemplateNameAlreadyExistsException "ApprovalRuleTemplateNameAlreadyExistsException"
9325//   You cannot create an approval rule template with that name because a template
9326//   with that name already exists in this AWS Region for your AWS account. Approval
9327//   rule template names must be unique.
9328//
9329// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateApprovalRuleTemplateName
9330func (c *CodeCommit) UpdateApprovalRuleTemplateName(input *UpdateApprovalRuleTemplateNameInput) (*UpdateApprovalRuleTemplateNameOutput, error) {
9331	req, out := c.UpdateApprovalRuleTemplateNameRequest(input)
9332	return out, req.Send()
9333}
9334
9335// UpdateApprovalRuleTemplateNameWithContext is the same as UpdateApprovalRuleTemplateName with the addition of
9336// the ability to pass a context and additional request options.
9337//
9338// See UpdateApprovalRuleTemplateName for details on how to use this API operation.
9339//
9340// The context must be non-nil and will be used for request cancellation. If
9341// the context is nil a panic will occur. In the future the SDK may create
9342// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9343// for more information on using Contexts.
9344func (c *CodeCommit) UpdateApprovalRuleTemplateNameWithContext(ctx aws.Context, input *UpdateApprovalRuleTemplateNameInput, opts ...request.Option) (*UpdateApprovalRuleTemplateNameOutput, error) {
9345	req, out := c.UpdateApprovalRuleTemplateNameRequest(input)
9346	req.SetContext(ctx)
9347	req.ApplyOptions(opts...)
9348	return out, req.Send()
9349}
9350
9351const opUpdateComment = "UpdateComment"
9352
9353// UpdateCommentRequest generates a "aws/request.Request" representing the
9354// client's request for the UpdateComment operation. The "output" return
9355// value will be populated with the request's response once the request completes
9356// successfully.
9357//
9358// Use "Send" method on the returned Request to send the API call to the service.
9359// the "output" return value is not valid until after Send returns without error.
9360//
9361// See UpdateComment for more information on using the UpdateComment
9362// API call, and error handling.
9363//
9364// This method is useful when you want to inject custom logic or configuration
9365// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9366//
9367//
9368//    // Example sending a request using the UpdateCommentRequest method.
9369//    req, resp := client.UpdateCommentRequest(params)
9370//
9371//    err := req.Send()
9372//    if err == nil { // resp is now filled
9373//        fmt.Println(resp)
9374//    }
9375//
9376// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateComment
9377func (c *CodeCommit) UpdateCommentRequest(input *UpdateCommentInput) (req *request.Request, output *UpdateCommentOutput) {
9378	op := &request.Operation{
9379		Name:       opUpdateComment,
9380		HTTPMethod: "POST",
9381		HTTPPath:   "/",
9382	}
9383
9384	if input == nil {
9385		input = &UpdateCommentInput{}
9386	}
9387
9388	output = &UpdateCommentOutput{}
9389	req = c.newRequest(op, input, output)
9390	return
9391}
9392
9393// UpdateComment API operation for AWS CodeCommit.
9394//
9395// Replaces the contents of a comment.
9396//
9397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9398// with awserr.Error's Code and Message methods to get detailed information about
9399// the error.
9400//
9401// See the AWS API reference guide for AWS CodeCommit's
9402// API operation UpdateComment for usage and error information.
9403//
9404// Returned Error Codes:
9405//   * ErrCodeCommentContentRequiredException "CommentContentRequiredException"
9406//   The comment is empty. You must provide some content for a comment. The content
9407//   cannot be null.
9408//
9409//   * ErrCodeCommentContentSizeLimitExceededException "CommentContentSizeLimitExceededException"
9410//   The comment is too large. Comments are limited to 1,000 characters.
9411//
9412//   * ErrCodeCommentDoesNotExistException "CommentDoesNotExistException"
9413//   No comment exists with the provided ID. Verify that you have used the correct
9414//   ID, and then try again.
9415//
9416//   * ErrCodeCommentIdRequiredException "CommentIdRequiredException"
9417//   The comment ID is missing or null. A comment ID is required.
9418//
9419//   * ErrCodeInvalidCommentIdException "InvalidCommentIdException"
9420//   The comment ID is not in a valid format. Make sure that you have provided
9421//   the full comment ID.
9422//
9423//   * ErrCodeCommentNotCreatedByCallerException "CommentNotCreatedByCallerException"
9424//   You cannot modify or delete this comment. Only comment authors can modify
9425//   or delete their comments.
9426//
9427//   * ErrCodeCommentDeletedException "CommentDeletedException"
9428//   This comment has already been deleted. You cannot edit or delete a deleted
9429//   comment.
9430//
9431// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateComment
9432func (c *CodeCommit) UpdateComment(input *UpdateCommentInput) (*UpdateCommentOutput, error) {
9433	req, out := c.UpdateCommentRequest(input)
9434	return out, req.Send()
9435}
9436
9437// UpdateCommentWithContext is the same as UpdateComment with the addition of
9438// the ability to pass a context and additional request options.
9439//
9440// See UpdateComment for details on how to use this API operation.
9441//
9442// The context must be non-nil and will be used for request cancellation. If
9443// the context is nil a panic will occur. In the future the SDK may create
9444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9445// for more information on using Contexts.
9446func (c *CodeCommit) UpdateCommentWithContext(ctx aws.Context, input *UpdateCommentInput, opts ...request.Option) (*UpdateCommentOutput, error) {
9447	req, out := c.UpdateCommentRequest(input)
9448	req.SetContext(ctx)
9449	req.ApplyOptions(opts...)
9450	return out, req.Send()
9451}
9452
9453const opUpdateDefaultBranch = "UpdateDefaultBranch"
9454
9455// UpdateDefaultBranchRequest generates a "aws/request.Request" representing the
9456// client's request for the UpdateDefaultBranch operation. The "output" return
9457// value will be populated with the request's response once the request completes
9458// successfully.
9459//
9460// Use "Send" method on the returned Request to send the API call to the service.
9461// the "output" return value is not valid until after Send returns without error.
9462//
9463// See UpdateDefaultBranch for more information on using the UpdateDefaultBranch
9464// API call, and error handling.
9465//
9466// This method is useful when you want to inject custom logic or configuration
9467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9468//
9469//
9470//    // Example sending a request using the UpdateDefaultBranchRequest method.
9471//    req, resp := client.UpdateDefaultBranchRequest(params)
9472//
9473//    err := req.Send()
9474//    if err == nil { // resp is now filled
9475//        fmt.Println(resp)
9476//    }
9477//
9478// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateDefaultBranch
9479func (c *CodeCommit) UpdateDefaultBranchRequest(input *UpdateDefaultBranchInput) (req *request.Request, output *UpdateDefaultBranchOutput) {
9480	op := &request.Operation{
9481		Name:       opUpdateDefaultBranch,
9482		HTTPMethod: "POST",
9483		HTTPPath:   "/",
9484	}
9485
9486	if input == nil {
9487		input = &UpdateDefaultBranchInput{}
9488	}
9489
9490	output = &UpdateDefaultBranchOutput{}
9491	req = c.newRequest(op, input, output)
9492	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9493	return
9494}
9495
9496// UpdateDefaultBranch API operation for AWS CodeCommit.
9497//
9498// Sets or changes the default branch name for the specified repository.
9499//
9500// If you use this operation to change the default branch name to the current
9501// default branch name, a success message is returned even though the default
9502// branch did not change.
9503//
9504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9505// with awserr.Error's Code and Message methods to get detailed information about
9506// the error.
9507//
9508// See the AWS API reference guide for AWS CodeCommit's
9509// API operation UpdateDefaultBranch for usage and error information.
9510//
9511// Returned Error Codes:
9512//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
9513//   A repository name is required, but was not specified.
9514//
9515//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
9516//   The specified repository does not exist.
9517//
9518//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
9519//   A specified repository name is not valid.
9520//
9521//   This exception occurs only when a specified repository name is not valid.
9522//   Other exceptions occur when a required repository parameter is missing, or
9523//   when a specified repository does not exist.
9524//
9525//   * ErrCodeBranchNameRequiredException "BranchNameRequiredException"
9526//   A branch name is required, but was not specified.
9527//
9528//   * ErrCodeInvalidBranchNameException "InvalidBranchNameException"
9529//   The specified reference name is not valid.
9530//
9531//   * ErrCodeBranchDoesNotExistException "BranchDoesNotExistException"
9532//   The specified branch does not exist.
9533//
9534//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
9535//   An encryption integrity check failed.
9536//
9537//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
9538//   An encryption key could not be accessed.
9539//
9540//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
9541//   The encryption key is disabled.
9542//
9543//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
9544//   No encryption key was found.
9545//
9546//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
9547//   The encryption key is not available.
9548//
9549// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateDefaultBranch
9550func (c *CodeCommit) UpdateDefaultBranch(input *UpdateDefaultBranchInput) (*UpdateDefaultBranchOutput, error) {
9551	req, out := c.UpdateDefaultBranchRequest(input)
9552	return out, req.Send()
9553}
9554
9555// UpdateDefaultBranchWithContext is the same as UpdateDefaultBranch with the addition of
9556// the ability to pass a context and additional request options.
9557//
9558// See UpdateDefaultBranch for details on how to use this API operation.
9559//
9560// The context must be non-nil and will be used for request cancellation. If
9561// the context is nil a panic will occur. In the future the SDK may create
9562// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9563// for more information on using Contexts.
9564func (c *CodeCommit) UpdateDefaultBranchWithContext(ctx aws.Context, input *UpdateDefaultBranchInput, opts ...request.Option) (*UpdateDefaultBranchOutput, error) {
9565	req, out := c.UpdateDefaultBranchRequest(input)
9566	req.SetContext(ctx)
9567	req.ApplyOptions(opts...)
9568	return out, req.Send()
9569}
9570
9571const opUpdatePullRequestApprovalRuleContent = "UpdatePullRequestApprovalRuleContent"
9572
9573// UpdatePullRequestApprovalRuleContentRequest generates a "aws/request.Request" representing the
9574// client's request for the UpdatePullRequestApprovalRuleContent operation. The "output" return
9575// value will be populated with the request's response once the request completes
9576// successfully.
9577//
9578// Use "Send" method on the returned Request to send the API call to the service.
9579// the "output" return value is not valid until after Send returns without error.
9580//
9581// See UpdatePullRequestApprovalRuleContent for more information on using the UpdatePullRequestApprovalRuleContent
9582// API call, and error handling.
9583//
9584// This method is useful when you want to inject custom logic or configuration
9585// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9586//
9587//
9588//    // Example sending a request using the UpdatePullRequestApprovalRuleContentRequest method.
9589//    req, resp := client.UpdatePullRequestApprovalRuleContentRequest(params)
9590//
9591//    err := req.Send()
9592//    if err == nil { // resp is now filled
9593//        fmt.Println(resp)
9594//    }
9595//
9596// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestApprovalRuleContent
9597func (c *CodeCommit) UpdatePullRequestApprovalRuleContentRequest(input *UpdatePullRequestApprovalRuleContentInput) (req *request.Request, output *UpdatePullRequestApprovalRuleContentOutput) {
9598	op := &request.Operation{
9599		Name:       opUpdatePullRequestApprovalRuleContent,
9600		HTTPMethod: "POST",
9601		HTTPPath:   "/",
9602	}
9603
9604	if input == nil {
9605		input = &UpdatePullRequestApprovalRuleContentInput{}
9606	}
9607
9608	output = &UpdatePullRequestApprovalRuleContentOutput{}
9609	req = c.newRequest(op, input, output)
9610	return
9611}
9612
9613// UpdatePullRequestApprovalRuleContent API operation for AWS CodeCommit.
9614//
9615// Updates the structure of an approval rule created specifically for a pull
9616// request. For example, you can change the number of required approvers and
9617// the approval pool for approvers.
9618//
9619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9620// with awserr.Error's Code and Message methods to get detailed information about
9621// the error.
9622//
9623// See the AWS API reference guide for AWS CodeCommit's
9624// API operation UpdatePullRequestApprovalRuleContent for usage and error information.
9625//
9626// Returned Error Codes:
9627//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
9628//   The pull request ID could not be found. Make sure that you have specified
9629//   the correct repository name and pull request ID, and then try again.
9630//
9631//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
9632//   The pull request ID is not valid. Make sure that you have provided the full
9633//   ID and that the pull request is in the specified repository, and then try
9634//   again.
9635//
9636//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
9637//   A pull request ID is required, but none was provided.
9638//
9639//   * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException"
9640//   The pull request status cannot be updated because it is already closed.
9641//
9642//   * ErrCodeApprovalRuleNameRequiredException "ApprovalRuleNameRequiredException"
9643//   An approval rule name is required, but was not specified.
9644//
9645//   * ErrCodeInvalidApprovalRuleNameException "InvalidApprovalRuleNameException"
9646//   The name for the approval rule is not valid.
9647//
9648//   * ErrCodeApprovalRuleDoesNotExistException "ApprovalRuleDoesNotExistException"
9649//   The specified approval rule does not exist.
9650//
9651//   * ErrCodeInvalidRuleContentSha256Exception "InvalidRuleContentSha256Exception"
9652//   The SHA-256 hash signature for the rule content is not valid.
9653//
9654//   * ErrCodeApprovalRuleContentRequiredException "ApprovalRuleContentRequiredException"
9655//   The content for the approval rule is empty. You must provide some content
9656//   for an approval rule. The content cannot be null.
9657//
9658//   * ErrCodeInvalidApprovalRuleContentException "InvalidApprovalRuleContentException"
9659//   The content for the approval rule is not valid.
9660//
9661//   * ErrCodeCannotModifyApprovalRuleFromTemplateException "CannotModifyApprovalRuleFromTemplateException"
9662//   The approval rule cannot be modified for the pull request because it was
9663//   created by an approval rule template and applied to the pull request automatically.
9664//
9665//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
9666//   An encryption integrity check failed.
9667//
9668//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
9669//   An encryption key could not be accessed.
9670//
9671//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
9672//   The encryption key is disabled.
9673//
9674//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
9675//   No encryption key was found.
9676//
9677//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
9678//   The encryption key is not available.
9679//
9680// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestApprovalRuleContent
9681func (c *CodeCommit) UpdatePullRequestApprovalRuleContent(input *UpdatePullRequestApprovalRuleContentInput) (*UpdatePullRequestApprovalRuleContentOutput, error) {
9682	req, out := c.UpdatePullRequestApprovalRuleContentRequest(input)
9683	return out, req.Send()
9684}
9685
9686// UpdatePullRequestApprovalRuleContentWithContext is the same as UpdatePullRequestApprovalRuleContent with the addition of
9687// the ability to pass a context and additional request options.
9688//
9689// See UpdatePullRequestApprovalRuleContent for details on how to use this API operation.
9690//
9691// The context must be non-nil and will be used for request cancellation. If
9692// the context is nil a panic will occur. In the future the SDK may create
9693// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9694// for more information on using Contexts.
9695func (c *CodeCommit) UpdatePullRequestApprovalRuleContentWithContext(ctx aws.Context, input *UpdatePullRequestApprovalRuleContentInput, opts ...request.Option) (*UpdatePullRequestApprovalRuleContentOutput, error) {
9696	req, out := c.UpdatePullRequestApprovalRuleContentRequest(input)
9697	req.SetContext(ctx)
9698	req.ApplyOptions(opts...)
9699	return out, req.Send()
9700}
9701
9702const opUpdatePullRequestApprovalState = "UpdatePullRequestApprovalState"
9703
9704// UpdatePullRequestApprovalStateRequest generates a "aws/request.Request" representing the
9705// client's request for the UpdatePullRequestApprovalState operation. The "output" return
9706// value will be populated with the request's response once the request completes
9707// successfully.
9708//
9709// Use "Send" method on the returned Request to send the API call to the service.
9710// the "output" return value is not valid until after Send returns without error.
9711//
9712// See UpdatePullRequestApprovalState for more information on using the UpdatePullRequestApprovalState
9713// API call, and error handling.
9714//
9715// This method is useful when you want to inject custom logic or configuration
9716// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9717//
9718//
9719//    // Example sending a request using the UpdatePullRequestApprovalStateRequest method.
9720//    req, resp := client.UpdatePullRequestApprovalStateRequest(params)
9721//
9722//    err := req.Send()
9723//    if err == nil { // resp is now filled
9724//        fmt.Println(resp)
9725//    }
9726//
9727// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestApprovalState
9728func (c *CodeCommit) UpdatePullRequestApprovalStateRequest(input *UpdatePullRequestApprovalStateInput) (req *request.Request, output *UpdatePullRequestApprovalStateOutput) {
9729	op := &request.Operation{
9730		Name:       opUpdatePullRequestApprovalState,
9731		HTTPMethod: "POST",
9732		HTTPPath:   "/",
9733	}
9734
9735	if input == nil {
9736		input = &UpdatePullRequestApprovalStateInput{}
9737	}
9738
9739	output = &UpdatePullRequestApprovalStateOutput{}
9740	req = c.newRequest(op, input, output)
9741	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9742	return
9743}
9744
9745// UpdatePullRequestApprovalState API operation for AWS CodeCommit.
9746//
9747// Updates the state of a user's approval on a pull request. The user is derived
9748// from the signed-in account when the request is made.
9749//
9750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9751// with awserr.Error's Code and Message methods to get detailed information about
9752// the error.
9753//
9754// See the AWS API reference guide for AWS CodeCommit's
9755// API operation UpdatePullRequestApprovalState for usage and error information.
9756//
9757// Returned Error Codes:
9758//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
9759//   The pull request ID could not be found. Make sure that you have specified
9760//   the correct repository name and pull request ID, and then try again.
9761//
9762//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
9763//   The pull request ID is not valid. Make sure that you have provided the full
9764//   ID and that the pull request is in the specified repository, and then try
9765//   again.
9766//
9767//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
9768//   A pull request ID is required, but none was provided.
9769//
9770//   * ErrCodeInvalidRevisionIdException "InvalidRevisionIdException"
9771//   The revision ID is not valid. Use GetPullRequest to determine the value.
9772//
9773//   * ErrCodeRevisionIdRequiredException "RevisionIdRequiredException"
9774//   A revision ID is required, but was not provided.
9775//
9776//   * ErrCodeInvalidApprovalStateException "InvalidApprovalStateException"
9777//   The state for the approval is not valid. Valid values include APPROVE and
9778//   REVOKE.
9779//
9780//   * ErrCodeApprovalStateRequiredException "ApprovalStateRequiredException"
9781//   An approval state is required, but was not specified.
9782//
9783//   * ErrCodePullRequestCannotBeApprovedByAuthorException "PullRequestCannotBeApprovedByAuthorException"
9784//   The approval cannot be applied because the user approving the pull request
9785//   matches the user who created the pull request. You cannot approve a pull
9786//   request that you created.
9787//
9788//   * ErrCodeRevisionNotCurrentException "RevisionNotCurrentException"
9789//   The revision ID provided in the request does not match the current revision
9790//   ID. Use GetPullRequest to retrieve the current revision ID.
9791//
9792//   * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException"
9793//   The pull request status cannot be updated because it is already closed.
9794//
9795//   * ErrCodeMaximumNumberOfApprovalsExceededException "MaximumNumberOfApprovalsExceededException"
9796//   The number of approvals required for the approval rule exceeds the maximum
9797//   number allowed.
9798//
9799//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
9800//   An encryption integrity check failed.
9801//
9802//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
9803//   An encryption key could not be accessed.
9804//
9805//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
9806//   The encryption key is disabled.
9807//
9808//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
9809//   No encryption key was found.
9810//
9811//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
9812//   The encryption key is not available.
9813//
9814// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestApprovalState
9815func (c *CodeCommit) UpdatePullRequestApprovalState(input *UpdatePullRequestApprovalStateInput) (*UpdatePullRequestApprovalStateOutput, error) {
9816	req, out := c.UpdatePullRequestApprovalStateRequest(input)
9817	return out, req.Send()
9818}
9819
9820// UpdatePullRequestApprovalStateWithContext is the same as UpdatePullRequestApprovalState with the addition of
9821// the ability to pass a context and additional request options.
9822//
9823// See UpdatePullRequestApprovalState for details on how to use this API operation.
9824//
9825// The context must be non-nil and will be used for request cancellation. If
9826// the context is nil a panic will occur. In the future the SDK may create
9827// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9828// for more information on using Contexts.
9829func (c *CodeCommit) UpdatePullRequestApprovalStateWithContext(ctx aws.Context, input *UpdatePullRequestApprovalStateInput, opts ...request.Option) (*UpdatePullRequestApprovalStateOutput, error) {
9830	req, out := c.UpdatePullRequestApprovalStateRequest(input)
9831	req.SetContext(ctx)
9832	req.ApplyOptions(opts...)
9833	return out, req.Send()
9834}
9835
9836const opUpdatePullRequestDescription = "UpdatePullRequestDescription"
9837
9838// UpdatePullRequestDescriptionRequest generates a "aws/request.Request" representing the
9839// client's request for the UpdatePullRequestDescription operation. The "output" return
9840// value will be populated with the request's response once the request completes
9841// successfully.
9842//
9843// Use "Send" method on the returned Request to send the API call to the service.
9844// the "output" return value is not valid until after Send returns without error.
9845//
9846// See UpdatePullRequestDescription for more information on using the UpdatePullRequestDescription
9847// API call, and error handling.
9848//
9849// This method is useful when you want to inject custom logic or configuration
9850// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9851//
9852//
9853//    // Example sending a request using the UpdatePullRequestDescriptionRequest method.
9854//    req, resp := client.UpdatePullRequestDescriptionRequest(params)
9855//
9856//    err := req.Send()
9857//    if err == nil { // resp is now filled
9858//        fmt.Println(resp)
9859//    }
9860//
9861// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestDescription
9862func (c *CodeCommit) UpdatePullRequestDescriptionRequest(input *UpdatePullRequestDescriptionInput) (req *request.Request, output *UpdatePullRequestDescriptionOutput) {
9863	op := &request.Operation{
9864		Name:       opUpdatePullRequestDescription,
9865		HTTPMethod: "POST",
9866		HTTPPath:   "/",
9867	}
9868
9869	if input == nil {
9870		input = &UpdatePullRequestDescriptionInput{}
9871	}
9872
9873	output = &UpdatePullRequestDescriptionOutput{}
9874	req = c.newRequest(op, input, output)
9875	return
9876}
9877
9878// UpdatePullRequestDescription API operation for AWS CodeCommit.
9879//
9880// Replaces the contents of the description of a pull request.
9881//
9882// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9883// with awserr.Error's Code and Message methods to get detailed information about
9884// the error.
9885//
9886// See the AWS API reference guide for AWS CodeCommit's
9887// API operation UpdatePullRequestDescription for usage and error information.
9888//
9889// Returned Error Codes:
9890//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
9891//   The pull request ID could not be found. Make sure that you have specified
9892//   the correct repository name and pull request ID, and then try again.
9893//
9894//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
9895//   The pull request ID is not valid. Make sure that you have provided the full
9896//   ID and that the pull request is in the specified repository, and then try
9897//   again.
9898//
9899//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
9900//   A pull request ID is required, but none was provided.
9901//
9902//   * ErrCodeInvalidDescriptionException "InvalidDescriptionException"
9903//   The pull request description is not valid. Descriptions cannot be more than
9904//   1,000 characters.
9905//
9906//   * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException"
9907//   The pull request status cannot be updated because it is already closed.
9908//
9909// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestDescription
9910func (c *CodeCommit) UpdatePullRequestDescription(input *UpdatePullRequestDescriptionInput) (*UpdatePullRequestDescriptionOutput, error) {
9911	req, out := c.UpdatePullRequestDescriptionRequest(input)
9912	return out, req.Send()
9913}
9914
9915// UpdatePullRequestDescriptionWithContext is the same as UpdatePullRequestDescription with the addition of
9916// the ability to pass a context and additional request options.
9917//
9918// See UpdatePullRequestDescription for details on how to use this API operation.
9919//
9920// The context must be non-nil and will be used for request cancellation. If
9921// the context is nil a panic will occur. In the future the SDK may create
9922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9923// for more information on using Contexts.
9924func (c *CodeCommit) UpdatePullRequestDescriptionWithContext(ctx aws.Context, input *UpdatePullRequestDescriptionInput, opts ...request.Option) (*UpdatePullRequestDescriptionOutput, error) {
9925	req, out := c.UpdatePullRequestDescriptionRequest(input)
9926	req.SetContext(ctx)
9927	req.ApplyOptions(opts...)
9928	return out, req.Send()
9929}
9930
9931const opUpdatePullRequestStatus = "UpdatePullRequestStatus"
9932
9933// UpdatePullRequestStatusRequest generates a "aws/request.Request" representing the
9934// client's request for the UpdatePullRequestStatus operation. The "output" return
9935// value will be populated with the request's response once the request completes
9936// successfully.
9937//
9938// Use "Send" method on the returned Request to send the API call to the service.
9939// the "output" return value is not valid until after Send returns without error.
9940//
9941// See UpdatePullRequestStatus for more information on using the UpdatePullRequestStatus
9942// API call, and error handling.
9943//
9944// This method is useful when you want to inject custom logic or configuration
9945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9946//
9947//
9948//    // Example sending a request using the UpdatePullRequestStatusRequest method.
9949//    req, resp := client.UpdatePullRequestStatusRequest(params)
9950//
9951//    err := req.Send()
9952//    if err == nil { // resp is now filled
9953//        fmt.Println(resp)
9954//    }
9955//
9956// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestStatus
9957func (c *CodeCommit) UpdatePullRequestStatusRequest(input *UpdatePullRequestStatusInput) (req *request.Request, output *UpdatePullRequestStatusOutput) {
9958	op := &request.Operation{
9959		Name:       opUpdatePullRequestStatus,
9960		HTTPMethod: "POST",
9961		HTTPPath:   "/",
9962	}
9963
9964	if input == nil {
9965		input = &UpdatePullRequestStatusInput{}
9966	}
9967
9968	output = &UpdatePullRequestStatusOutput{}
9969	req = c.newRequest(op, input, output)
9970	return
9971}
9972
9973// UpdatePullRequestStatus API operation for AWS CodeCommit.
9974//
9975// Updates the status of a pull request.
9976//
9977// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9978// with awserr.Error's Code and Message methods to get detailed information about
9979// the error.
9980//
9981// See the AWS API reference guide for AWS CodeCommit's
9982// API operation UpdatePullRequestStatus for usage and error information.
9983//
9984// Returned Error Codes:
9985//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
9986//   The pull request ID could not be found. Make sure that you have specified
9987//   the correct repository name and pull request ID, and then try again.
9988//
9989//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
9990//   The pull request ID is not valid. Make sure that you have provided the full
9991//   ID and that the pull request is in the specified repository, and then try
9992//   again.
9993//
9994//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
9995//   A pull request ID is required, but none was provided.
9996//
9997//   * ErrCodeInvalidPullRequestStatusUpdateException "InvalidPullRequestStatusUpdateException"
9998//   The pull request status update is not valid. The only valid update is from
9999//   OPEN to CLOSED.
10000//
10001//   * ErrCodeInvalidPullRequestStatusException "InvalidPullRequestStatusException"
10002//   The pull request status is not valid. The only valid values are OPEN and
10003//   CLOSED.
10004//
10005//   * ErrCodePullRequestStatusRequiredException "PullRequestStatusRequiredException"
10006//   A pull request status is required, but none was provided.
10007//
10008//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
10009//   An encryption integrity check failed.
10010//
10011//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
10012//   An encryption key could not be accessed.
10013//
10014//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
10015//   The encryption key is disabled.
10016//
10017//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
10018//   No encryption key was found.
10019//
10020//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
10021//   The encryption key is not available.
10022//
10023// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestStatus
10024func (c *CodeCommit) UpdatePullRequestStatus(input *UpdatePullRequestStatusInput) (*UpdatePullRequestStatusOutput, error) {
10025	req, out := c.UpdatePullRequestStatusRequest(input)
10026	return out, req.Send()
10027}
10028
10029// UpdatePullRequestStatusWithContext is the same as UpdatePullRequestStatus with the addition of
10030// the ability to pass a context and additional request options.
10031//
10032// See UpdatePullRequestStatus for details on how to use this API operation.
10033//
10034// The context must be non-nil and will be used for request cancellation. If
10035// the context is nil a panic will occur. In the future the SDK may create
10036// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10037// for more information on using Contexts.
10038func (c *CodeCommit) UpdatePullRequestStatusWithContext(ctx aws.Context, input *UpdatePullRequestStatusInput, opts ...request.Option) (*UpdatePullRequestStatusOutput, error) {
10039	req, out := c.UpdatePullRequestStatusRequest(input)
10040	req.SetContext(ctx)
10041	req.ApplyOptions(opts...)
10042	return out, req.Send()
10043}
10044
10045const opUpdatePullRequestTitle = "UpdatePullRequestTitle"
10046
10047// UpdatePullRequestTitleRequest generates a "aws/request.Request" representing the
10048// client's request for the UpdatePullRequestTitle operation. The "output" return
10049// value will be populated with the request's response once the request completes
10050// successfully.
10051//
10052// Use "Send" method on the returned Request to send the API call to the service.
10053// the "output" return value is not valid until after Send returns without error.
10054//
10055// See UpdatePullRequestTitle for more information on using the UpdatePullRequestTitle
10056// API call, and error handling.
10057//
10058// This method is useful when you want to inject custom logic or configuration
10059// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10060//
10061//
10062//    // Example sending a request using the UpdatePullRequestTitleRequest method.
10063//    req, resp := client.UpdatePullRequestTitleRequest(params)
10064//
10065//    err := req.Send()
10066//    if err == nil { // resp is now filled
10067//        fmt.Println(resp)
10068//    }
10069//
10070// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestTitle
10071func (c *CodeCommit) UpdatePullRequestTitleRequest(input *UpdatePullRequestTitleInput) (req *request.Request, output *UpdatePullRequestTitleOutput) {
10072	op := &request.Operation{
10073		Name:       opUpdatePullRequestTitle,
10074		HTTPMethod: "POST",
10075		HTTPPath:   "/",
10076	}
10077
10078	if input == nil {
10079		input = &UpdatePullRequestTitleInput{}
10080	}
10081
10082	output = &UpdatePullRequestTitleOutput{}
10083	req = c.newRequest(op, input, output)
10084	return
10085}
10086
10087// UpdatePullRequestTitle API operation for AWS CodeCommit.
10088//
10089// Replaces the title of a pull request.
10090//
10091// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10092// with awserr.Error's Code and Message methods to get detailed information about
10093// the error.
10094//
10095// See the AWS API reference guide for AWS CodeCommit's
10096// API operation UpdatePullRequestTitle for usage and error information.
10097//
10098// Returned Error Codes:
10099//   * ErrCodePullRequestDoesNotExistException "PullRequestDoesNotExistException"
10100//   The pull request ID could not be found. Make sure that you have specified
10101//   the correct repository name and pull request ID, and then try again.
10102//
10103//   * ErrCodeInvalidPullRequestIdException "InvalidPullRequestIdException"
10104//   The pull request ID is not valid. Make sure that you have provided the full
10105//   ID and that the pull request is in the specified repository, and then try
10106//   again.
10107//
10108//   * ErrCodePullRequestIdRequiredException "PullRequestIdRequiredException"
10109//   A pull request ID is required, but none was provided.
10110//
10111//   * ErrCodeTitleRequiredException "TitleRequiredException"
10112//   A pull request title is required. It cannot be empty or null.
10113//
10114//   * ErrCodeInvalidTitleException "InvalidTitleException"
10115//   The title of the pull request is not valid. Pull request titles cannot exceed
10116//   100 characters in length.
10117//
10118//   * ErrCodePullRequestAlreadyClosedException "PullRequestAlreadyClosedException"
10119//   The pull request status cannot be updated because it is already closed.
10120//
10121// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdatePullRequestTitle
10122func (c *CodeCommit) UpdatePullRequestTitle(input *UpdatePullRequestTitleInput) (*UpdatePullRequestTitleOutput, error) {
10123	req, out := c.UpdatePullRequestTitleRequest(input)
10124	return out, req.Send()
10125}
10126
10127// UpdatePullRequestTitleWithContext is the same as UpdatePullRequestTitle with the addition of
10128// the ability to pass a context and additional request options.
10129//
10130// See UpdatePullRequestTitle for details on how to use this API operation.
10131//
10132// The context must be non-nil and will be used for request cancellation. If
10133// the context is nil a panic will occur. In the future the SDK may create
10134// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10135// for more information on using Contexts.
10136func (c *CodeCommit) UpdatePullRequestTitleWithContext(ctx aws.Context, input *UpdatePullRequestTitleInput, opts ...request.Option) (*UpdatePullRequestTitleOutput, error) {
10137	req, out := c.UpdatePullRequestTitleRequest(input)
10138	req.SetContext(ctx)
10139	req.ApplyOptions(opts...)
10140	return out, req.Send()
10141}
10142
10143const opUpdateRepositoryDescription = "UpdateRepositoryDescription"
10144
10145// UpdateRepositoryDescriptionRequest generates a "aws/request.Request" representing the
10146// client's request for the UpdateRepositoryDescription operation. The "output" return
10147// value will be populated with the request's response once the request completes
10148// successfully.
10149//
10150// Use "Send" method on the returned Request to send the API call to the service.
10151// the "output" return value is not valid until after Send returns without error.
10152//
10153// See UpdateRepositoryDescription for more information on using the UpdateRepositoryDescription
10154// API call, and error handling.
10155//
10156// This method is useful when you want to inject custom logic or configuration
10157// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10158//
10159//
10160//    // Example sending a request using the UpdateRepositoryDescriptionRequest method.
10161//    req, resp := client.UpdateRepositoryDescriptionRequest(params)
10162//
10163//    err := req.Send()
10164//    if err == nil { // resp is now filled
10165//        fmt.Println(resp)
10166//    }
10167//
10168// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryDescription
10169func (c *CodeCommit) UpdateRepositoryDescriptionRequest(input *UpdateRepositoryDescriptionInput) (req *request.Request, output *UpdateRepositoryDescriptionOutput) {
10170	op := &request.Operation{
10171		Name:       opUpdateRepositoryDescription,
10172		HTTPMethod: "POST",
10173		HTTPPath:   "/",
10174	}
10175
10176	if input == nil {
10177		input = &UpdateRepositoryDescriptionInput{}
10178	}
10179
10180	output = &UpdateRepositoryDescriptionOutput{}
10181	req = c.newRequest(op, input, output)
10182	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10183	return
10184}
10185
10186// UpdateRepositoryDescription API operation for AWS CodeCommit.
10187//
10188// Sets or changes the comment or description for a repository.
10189//
10190// The description field for a repository accepts all HTML characters and all
10191// valid Unicode characters. Applications that do not HTML-encode the description
10192// and display it in a webpage can expose users to potentially malicious code.
10193// Make sure that you HTML-encode the description field in any application that
10194// uses this API to display the repository description on a webpage.
10195//
10196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10197// with awserr.Error's Code and Message methods to get detailed information about
10198// the error.
10199//
10200// See the AWS API reference guide for AWS CodeCommit's
10201// API operation UpdateRepositoryDescription for usage and error information.
10202//
10203// Returned Error Codes:
10204//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
10205//   A repository name is required, but was not specified.
10206//
10207//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
10208//   The specified repository does not exist.
10209//
10210//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
10211//   A specified repository name is not valid.
10212//
10213//   This exception occurs only when a specified repository name is not valid.
10214//   Other exceptions occur when a required repository parameter is missing, or
10215//   when a specified repository does not exist.
10216//
10217//   * ErrCodeInvalidRepositoryDescriptionException "InvalidRepositoryDescriptionException"
10218//   The specified repository description is not valid.
10219//
10220//   * ErrCodeEncryptionIntegrityChecksFailedException "EncryptionIntegrityChecksFailedException"
10221//   An encryption integrity check failed.
10222//
10223//   * ErrCodeEncryptionKeyAccessDeniedException "EncryptionKeyAccessDeniedException"
10224//   An encryption key could not be accessed.
10225//
10226//   * ErrCodeEncryptionKeyDisabledException "EncryptionKeyDisabledException"
10227//   The encryption key is disabled.
10228//
10229//   * ErrCodeEncryptionKeyNotFoundException "EncryptionKeyNotFoundException"
10230//   No encryption key was found.
10231//
10232//   * ErrCodeEncryptionKeyUnavailableException "EncryptionKeyUnavailableException"
10233//   The encryption key is not available.
10234//
10235// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryDescription
10236func (c *CodeCommit) UpdateRepositoryDescription(input *UpdateRepositoryDescriptionInput) (*UpdateRepositoryDescriptionOutput, error) {
10237	req, out := c.UpdateRepositoryDescriptionRequest(input)
10238	return out, req.Send()
10239}
10240
10241// UpdateRepositoryDescriptionWithContext is the same as UpdateRepositoryDescription with the addition of
10242// the ability to pass a context and additional request options.
10243//
10244// See UpdateRepositoryDescription for details on how to use this API operation.
10245//
10246// The context must be non-nil and will be used for request cancellation. If
10247// the context is nil a panic will occur. In the future the SDK may create
10248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10249// for more information on using Contexts.
10250func (c *CodeCommit) UpdateRepositoryDescriptionWithContext(ctx aws.Context, input *UpdateRepositoryDescriptionInput, opts ...request.Option) (*UpdateRepositoryDescriptionOutput, error) {
10251	req, out := c.UpdateRepositoryDescriptionRequest(input)
10252	req.SetContext(ctx)
10253	req.ApplyOptions(opts...)
10254	return out, req.Send()
10255}
10256
10257const opUpdateRepositoryName = "UpdateRepositoryName"
10258
10259// UpdateRepositoryNameRequest generates a "aws/request.Request" representing the
10260// client's request for the UpdateRepositoryName operation. The "output" return
10261// value will be populated with the request's response once the request completes
10262// successfully.
10263//
10264// Use "Send" method on the returned Request to send the API call to the service.
10265// the "output" return value is not valid until after Send returns without error.
10266//
10267// See UpdateRepositoryName for more information on using the UpdateRepositoryName
10268// API call, and error handling.
10269//
10270// This method is useful when you want to inject custom logic or configuration
10271// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10272//
10273//
10274//    // Example sending a request using the UpdateRepositoryNameRequest method.
10275//    req, resp := client.UpdateRepositoryNameRequest(params)
10276//
10277//    err := req.Send()
10278//    if err == nil { // resp is now filled
10279//        fmt.Println(resp)
10280//    }
10281//
10282// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryName
10283func (c *CodeCommit) UpdateRepositoryNameRequest(input *UpdateRepositoryNameInput) (req *request.Request, output *UpdateRepositoryNameOutput) {
10284	op := &request.Operation{
10285		Name:       opUpdateRepositoryName,
10286		HTTPMethod: "POST",
10287		HTTPPath:   "/",
10288	}
10289
10290	if input == nil {
10291		input = &UpdateRepositoryNameInput{}
10292	}
10293
10294	output = &UpdateRepositoryNameOutput{}
10295	req = c.newRequest(op, input, output)
10296	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10297	return
10298}
10299
10300// UpdateRepositoryName API operation for AWS CodeCommit.
10301//
10302// Renames a repository. The repository name must be unique across the calling
10303// AWS account. Repository names are limited to 100 alphanumeric, dash, and
10304// underscore characters, and cannot include certain characters. The suffix
10305// .git is prohibited. For more information about the limits on repository names,
10306// see Limits (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html)
10307// in the AWS CodeCommit User Guide.
10308//
10309// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10310// with awserr.Error's Code and Message methods to get detailed information about
10311// the error.
10312//
10313// See the AWS API reference guide for AWS CodeCommit's
10314// API operation UpdateRepositoryName for usage and error information.
10315//
10316// Returned Error Codes:
10317//   * ErrCodeRepositoryDoesNotExistException "RepositoryDoesNotExistException"
10318//   The specified repository does not exist.
10319//
10320//   * ErrCodeRepositoryNameExistsException "RepositoryNameExistsException"
10321//   The specified repository name already exists.
10322//
10323//   * ErrCodeRepositoryNameRequiredException "RepositoryNameRequiredException"
10324//   A repository name is required, but was not specified.
10325//
10326//   * ErrCodeInvalidRepositoryNameException "InvalidRepositoryNameException"
10327//   A specified repository name is not valid.
10328//
10329//   This exception occurs only when a specified repository name is not valid.
10330//   Other exceptions occur when a required repository parameter is missing, or
10331//   when a specified repository does not exist.
10332//
10333// See also, https://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/UpdateRepositoryName
10334func (c *CodeCommit) UpdateRepositoryName(input *UpdateRepositoryNameInput) (*UpdateRepositoryNameOutput, error) {
10335	req, out := c.UpdateRepositoryNameRequest(input)
10336	return out, req.Send()
10337}
10338
10339// UpdateRepositoryNameWithContext is the same as UpdateRepositoryName with the addition of
10340// the ability to pass a context and additional request options.
10341//
10342// See UpdateRepositoryName for details on how to use this API operation.
10343//
10344// The context must be non-nil and will be used for request cancellation. If
10345// the context is nil a panic will occur. In the future the SDK may create
10346// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10347// for more information on using Contexts.
10348func (c *CodeCommit) UpdateRepositoryNameWithContext(ctx aws.Context, input *UpdateRepositoryNameInput, opts ...request.Option) (*UpdateRepositoryNameOutput, error) {
10349	req, out := c.UpdateRepositoryNameRequest(input)
10350	req.SetContext(ctx)
10351	req.ApplyOptions(opts...)
10352	return out, req.Send()
10353}
10354
10355// Returns information about a specific approval on a pull request.
10356type Approval struct {
10357	_ struct{} `type:"structure"`
10358
10359	// The state of the approval, APPROVE or REVOKE. REVOKE states are not stored.
10360	ApprovalState *string `locationName:"approvalState" type:"string" enum:"ApprovalState"`
10361
10362	// The Amazon Resource Name (ARN) of the user.
10363	UserArn *string `locationName:"userArn" type:"string"`
10364}
10365
10366// String returns the string representation
10367func (s Approval) String() string {
10368	return awsutil.Prettify(s)
10369}
10370
10371// GoString returns the string representation
10372func (s Approval) GoString() string {
10373	return s.String()
10374}
10375
10376// SetApprovalState sets the ApprovalState field's value.
10377func (s *Approval) SetApprovalState(v string) *Approval {
10378	s.ApprovalState = &v
10379	return s
10380}
10381
10382// SetUserArn sets the UserArn field's value.
10383func (s *Approval) SetUserArn(v string) *Approval {
10384	s.UserArn = &v
10385	return s
10386}
10387
10388// Returns information about an approval rule.
10389type ApprovalRule struct {
10390	_ struct{} `type:"structure"`
10391
10392	// The content of the approval rule.
10393	ApprovalRuleContent *string `locationName:"approvalRuleContent" min:"1" type:"string"`
10394
10395	// The system-generated ID of the approval rule.
10396	ApprovalRuleId *string `locationName:"approvalRuleId" type:"string"`
10397
10398	// The name of the approval rule.
10399	ApprovalRuleName *string `locationName:"approvalRuleName" min:"1" type:"string"`
10400
10401	// The date the approval rule was created, in timestamp format.
10402	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
10403
10404	// The date the approval rule was most recently changed, in timestamp format.
10405	LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"`
10406
10407	// The Amazon Resource Name (ARN) of the user who made the most recent changes
10408	// to the approval rule.
10409	LastModifiedUser *string `locationName:"lastModifiedUser" type:"string"`
10410
10411	// The approval rule template used to create the rule.
10412	OriginApprovalRuleTemplate *OriginApprovalRuleTemplate `locationName:"originApprovalRuleTemplate" type:"structure"`
10413
10414	// The SHA-256 hash signature for the content of the approval rule.
10415	RuleContentSha256 *string `locationName:"ruleContentSha256" type:"string"`
10416}
10417
10418// String returns the string representation
10419func (s ApprovalRule) String() string {
10420	return awsutil.Prettify(s)
10421}
10422
10423// GoString returns the string representation
10424func (s ApprovalRule) GoString() string {
10425	return s.String()
10426}
10427
10428// SetApprovalRuleContent sets the ApprovalRuleContent field's value.
10429func (s *ApprovalRule) SetApprovalRuleContent(v string) *ApprovalRule {
10430	s.ApprovalRuleContent = &v
10431	return s
10432}
10433
10434// SetApprovalRuleId sets the ApprovalRuleId field's value.
10435func (s *ApprovalRule) SetApprovalRuleId(v string) *ApprovalRule {
10436	s.ApprovalRuleId = &v
10437	return s
10438}
10439
10440// SetApprovalRuleName sets the ApprovalRuleName field's value.
10441func (s *ApprovalRule) SetApprovalRuleName(v string) *ApprovalRule {
10442	s.ApprovalRuleName = &v
10443	return s
10444}
10445
10446// SetCreationDate sets the CreationDate field's value.
10447func (s *ApprovalRule) SetCreationDate(v time.Time) *ApprovalRule {
10448	s.CreationDate = &v
10449	return s
10450}
10451
10452// SetLastModifiedDate sets the LastModifiedDate field's value.
10453func (s *ApprovalRule) SetLastModifiedDate(v time.Time) *ApprovalRule {
10454	s.LastModifiedDate = &v
10455	return s
10456}
10457
10458// SetLastModifiedUser sets the LastModifiedUser field's value.
10459func (s *ApprovalRule) SetLastModifiedUser(v string) *ApprovalRule {
10460	s.LastModifiedUser = &v
10461	return s
10462}
10463
10464// SetOriginApprovalRuleTemplate sets the OriginApprovalRuleTemplate field's value.
10465func (s *ApprovalRule) SetOriginApprovalRuleTemplate(v *OriginApprovalRuleTemplate) *ApprovalRule {
10466	s.OriginApprovalRuleTemplate = v
10467	return s
10468}
10469
10470// SetRuleContentSha256 sets the RuleContentSha256 field's value.
10471func (s *ApprovalRule) SetRuleContentSha256(v string) *ApprovalRule {
10472	s.RuleContentSha256 = &v
10473	return s
10474}
10475
10476// Returns information about an event for an approval rule.
10477type ApprovalRuleEventMetadata struct {
10478	_ struct{} `type:"structure"`
10479
10480	// The content of the approval rule.
10481	ApprovalRuleContent *string `locationName:"approvalRuleContent" min:"1" type:"string"`
10482
10483	// The system-generated ID of the approval rule.
10484	ApprovalRuleId *string `locationName:"approvalRuleId" type:"string"`
10485
10486	// The name of the approval rule.
10487	ApprovalRuleName *string `locationName:"approvalRuleName" min:"1" type:"string"`
10488}
10489
10490// String returns the string representation
10491func (s ApprovalRuleEventMetadata) String() string {
10492	return awsutil.Prettify(s)
10493}
10494
10495// GoString returns the string representation
10496func (s ApprovalRuleEventMetadata) GoString() string {
10497	return s.String()
10498}
10499
10500// SetApprovalRuleContent sets the ApprovalRuleContent field's value.
10501func (s *ApprovalRuleEventMetadata) SetApprovalRuleContent(v string) *ApprovalRuleEventMetadata {
10502	s.ApprovalRuleContent = &v
10503	return s
10504}
10505
10506// SetApprovalRuleId sets the ApprovalRuleId field's value.
10507func (s *ApprovalRuleEventMetadata) SetApprovalRuleId(v string) *ApprovalRuleEventMetadata {
10508	s.ApprovalRuleId = &v
10509	return s
10510}
10511
10512// SetApprovalRuleName sets the ApprovalRuleName field's value.
10513func (s *ApprovalRuleEventMetadata) SetApprovalRuleName(v string) *ApprovalRuleEventMetadata {
10514	s.ApprovalRuleName = &v
10515	return s
10516}
10517
10518// Returns information about an override event for approval rules for a pull
10519// request.
10520type ApprovalRuleOverriddenEventMetadata struct {
10521	_ struct{} `type:"structure"`
10522
10523	// The status of the override event.
10524	OverrideStatus *string `locationName:"overrideStatus" type:"string" enum:"OverrideStatus"`
10525
10526	// The revision ID of the pull request when the override event occurred.
10527	RevisionId *string `locationName:"revisionId" type:"string"`
10528}
10529
10530// String returns the string representation
10531func (s ApprovalRuleOverriddenEventMetadata) String() string {
10532	return awsutil.Prettify(s)
10533}
10534
10535// GoString returns the string representation
10536func (s ApprovalRuleOverriddenEventMetadata) GoString() string {
10537	return s.String()
10538}
10539
10540// SetOverrideStatus sets the OverrideStatus field's value.
10541func (s *ApprovalRuleOverriddenEventMetadata) SetOverrideStatus(v string) *ApprovalRuleOverriddenEventMetadata {
10542	s.OverrideStatus = &v
10543	return s
10544}
10545
10546// SetRevisionId sets the RevisionId field's value.
10547func (s *ApprovalRuleOverriddenEventMetadata) SetRevisionId(v string) *ApprovalRuleOverriddenEventMetadata {
10548	s.RevisionId = &v
10549	return s
10550}
10551
10552// Returns information about an approval rule template.
10553type ApprovalRuleTemplate struct {
10554	_ struct{} `type:"structure"`
10555
10556	// The content of the approval rule template.
10557	ApprovalRuleTemplateContent *string `locationName:"approvalRuleTemplateContent" min:"1" type:"string"`
10558
10559	// The description of the approval rule template.
10560	ApprovalRuleTemplateDescription *string `locationName:"approvalRuleTemplateDescription" type:"string"`
10561
10562	// The system-generated ID of the approval rule template.
10563	ApprovalRuleTemplateId *string `locationName:"approvalRuleTemplateId" type:"string"`
10564
10565	// The name of the approval rule template.
10566	ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string"`
10567
10568	// The date the approval rule template was created, in timestamp format.
10569	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
10570
10571	// The date the approval rule template was most recently changed, in timestamp
10572	// format.
10573	LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"`
10574
10575	// The Amazon Resource Name (ARN) of the user who made the most recent changes
10576	// to the approval rule template.
10577	LastModifiedUser *string `locationName:"lastModifiedUser" type:"string"`
10578
10579	// The SHA-256 hash signature for the content of the approval rule template.
10580	RuleContentSha256 *string `locationName:"ruleContentSha256" type:"string"`
10581}
10582
10583// String returns the string representation
10584func (s ApprovalRuleTemplate) String() string {
10585	return awsutil.Prettify(s)
10586}
10587
10588// GoString returns the string representation
10589func (s ApprovalRuleTemplate) GoString() string {
10590	return s.String()
10591}
10592
10593// SetApprovalRuleTemplateContent sets the ApprovalRuleTemplateContent field's value.
10594func (s *ApprovalRuleTemplate) SetApprovalRuleTemplateContent(v string) *ApprovalRuleTemplate {
10595	s.ApprovalRuleTemplateContent = &v
10596	return s
10597}
10598
10599// SetApprovalRuleTemplateDescription sets the ApprovalRuleTemplateDescription field's value.
10600func (s *ApprovalRuleTemplate) SetApprovalRuleTemplateDescription(v string) *ApprovalRuleTemplate {
10601	s.ApprovalRuleTemplateDescription = &v
10602	return s
10603}
10604
10605// SetApprovalRuleTemplateId sets the ApprovalRuleTemplateId field's value.
10606func (s *ApprovalRuleTemplate) SetApprovalRuleTemplateId(v string) *ApprovalRuleTemplate {
10607	s.ApprovalRuleTemplateId = &v
10608	return s
10609}
10610
10611// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value.
10612func (s *ApprovalRuleTemplate) SetApprovalRuleTemplateName(v string) *ApprovalRuleTemplate {
10613	s.ApprovalRuleTemplateName = &v
10614	return s
10615}
10616
10617// SetCreationDate sets the CreationDate field's value.
10618func (s *ApprovalRuleTemplate) SetCreationDate(v time.Time) *ApprovalRuleTemplate {
10619	s.CreationDate = &v
10620	return s
10621}
10622
10623// SetLastModifiedDate sets the LastModifiedDate field's value.
10624func (s *ApprovalRuleTemplate) SetLastModifiedDate(v time.Time) *ApprovalRuleTemplate {
10625	s.LastModifiedDate = &v
10626	return s
10627}
10628
10629// SetLastModifiedUser sets the LastModifiedUser field's value.
10630func (s *ApprovalRuleTemplate) SetLastModifiedUser(v string) *ApprovalRuleTemplate {
10631	s.LastModifiedUser = &v
10632	return s
10633}
10634
10635// SetRuleContentSha256 sets the RuleContentSha256 field's value.
10636func (s *ApprovalRuleTemplate) SetRuleContentSha256(v string) *ApprovalRuleTemplate {
10637	s.RuleContentSha256 = &v
10638	return s
10639}
10640
10641// Returns information about a change in the approval state for a pull request.
10642type ApprovalStateChangedEventMetadata struct {
10643	_ struct{} `type:"structure"`
10644
10645	// The approval status for the pull request.
10646	ApprovalStatus *string `locationName:"approvalStatus" type:"string" enum:"ApprovalState"`
10647
10648	// The revision ID of the pull request when the approval state changed.
10649	RevisionId *string `locationName:"revisionId" type:"string"`
10650}
10651
10652// String returns the string representation
10653func (s ApprovalStateChangedEventMetadata) String() string {
10654	return awsutil.Prettify(s)
10655}
10656
10657// GoString returns the string representation
10658func (s ApprovalStateChangedEventMetadata) GoString() string {
10659	return s.String()
10660}
10661
10662// SetApprovalStatus sets the ApprovalStatus field's value.
10663func (s *ApprovalStateChangedEventMetadata) SetApprovalStatus(v string) *ApprovalStateChangedEventMetadata {
10664	s.ApprovalStatus = &v
10665	return s
10666}
10667
10668// SetRevisionId sets the RevisionId field's value.
10669func (s *ApprovalStateChangedEventMetadata) SetRevisionId(v string) *ApprovalStateChangedEventMetadata {
10670	s.RevisionId = &v
10671	return s
10672}
10673
10674type AssociateApprovalRuleTemplateWithRepositoryInput struct {
10675	_ struct{} `type:"structure"`
10676
10677	// The name for the approval rule template.
10678	//
10679	// ApprovalRuleTemplateName is a required field
10680	ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"`
10681
10682	// The name of the repository that you want to associate with the template.
10683	//
10684	// RepositoryName is a required field
10685	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
10686}
10687
10688// String returns the string representation
10689func (s AssociateApprovalRuleTemplateWithRepositoryInput) String() string {
10690	return awsutil.Prettify(s)
10691}
10692
10693// GoString returns the string representation
10694func (s AssociateApprovalRuleTemplateWithRepositoryInput) GoString() string {
10695	return s.String()
10696}
10697
10698// Validate inspects the fields of the type to determine if they are valid.
10699func (s *AssociateApprovalRuleTemplateWithRepositoryInput) Validate() error {
10700	invalidParams := request.ErrInvalidParams{Context: "AssociateApprovalRuleTemplateWithRepositoryInput"}
10701	if s.ApprovalRuleTemplateName == nil {
10702		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName"))
10703	}
10704	if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 {
10705		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1))
10706	}
10707	if s.RepositoryName == nil {
10708		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
10709	}
10710	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
10711		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
10712	}
10713
10714	if invalidParams.Len() > 0 {
10715		return invalidParams
10716	}
10717	return nil
10718}
10719
10720// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value.
10721func (s *AssociateApprovalRuleTemplateWithRepositoryInput) SetApprovalRuleTemplateName(v string) *AssociateApprovalRuleTemplateWithRepositoryInput {
10722	s.ApprovalRuleTemplateName = &v
10723	return s
10724}
10725
10726// SetRepositoryName sets the RepositoryName field's value.
10727func (s *AssociateApprovalRuleTemplateWithRepositoryInput) SetRepositoryName(v string) *AssociateApprovalRuleTemplateWithRepositoryInput {
10728	s.RepositoryName = &v
10729	return s
10730}
10731
10732type AssociateApprovalRuleTemplateWithRepositoryOutput struct {
10733	_ struct{} `type:"structure"`
10734}
10735
10736// String returns the string representation
10737func (s AssociateApprovalRuleTemplateWithRepositoryOutput) String() string {
10738	return awsutil.Prettify(s)
10739}
10740
10741// GoString returns the string representation
10742func (s AssociateApprovalRuleTemplateWithRepositoryOutput) GoString() string {
10743	return s.String()
10744}
10745
10746// Returns information about errors in a BatchAssociateApprovalRuleTemplateWithRepositories
10747// operation.
10748type BatchAssociateApprovalRuleTemplateWithRepositoriesError struct {
10749	_ struct{} `type:"structure"`
10750
10751	// An error code that specifies whether the repository name was not valid or
10752	// not found.
10753	ErrorCode *string `locationName:"errorCode" type:"string"`
10754
10755	// An error message that provides details about why the repository name was
10756	// not found or not valid.
10757	ErrorMessage *string `locationName:"errorMessage" type:"string"`
10758
10759	// The name of the repository where the association was not made.
10760	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
10761}
10762
10763// String returns the string representation
10764func (s BatchAssociateApprovalRuleTemplateWithRepositoriesError) String() string {
10765	return awsutil.Prettify(s)
10766}
10767
10768// GoString returns the string representation
10769func (s BatchAssociateApprovalRuleTemplateWithRepositoriesError) GoString() string {
10770	return s.String()
10771}
10772
10773// SetErrorCode sets the ErrorCode field's value.
10774func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesError) SetErrorCode(v string) *BatchAssociateApprovalRuleTemplateWithRepositoriesError {
10775	s.ErrorCode = &v
10776	return s
10777}
10778
10779// SetErrorMessage sets the ErrorMessage field's value.
10780func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesError) SetErrorMessage(v string) *BatchAssociateApprovalRuleTemplateWithRepositoriesError {
10781	s.ErrorMessage = &v
10782	return s
10783}
10784
10785// SetRepositoryName sets the RepositoryName field's value.
10786func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesError) SetRepositoryName(v string) *BatchAssociateApprovalRuleTemplateWithRepositoriesError {
10787	s.RepositoryName = &v
10788	return s
10789}
10790
10791type BatchAssociateApprovalRuleTemplateWithRepositoriesInput struct {
10792	_ struct{} `type:"structure"`
10793
10794	// The name of the template you want to associate with one or more repositories.
10795	//
10796	// ApprovalRuleTemplateName is a required field
10797	ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"`
10798
10799	// The names of the repositories you want to associate with the template.
10800	//
10801	// The length constraint limit is for each string in the array. The array itself
10802	// can be empty.
10803	//
10804	// RepositoryNames is a required field
10805	RepositoryNames []*string `locationName:"repositoryNames" type:"list" required:"true"`
10806}
10807
10808// String returns the string representation
10809func (s BatchAssociateApprovalRuleTemplateWithRepositoriesInput) String() string {
10810	return awsutil.Prettify(s)
10811}
10812
10813// GoString returns the string representation
10814func (s BatchAssociateApprovalRuleTemplateWithRepositoriesInput) GoString() string {
10815	return s.String()
10816}
10817
10818// Validate inspects the fields of the type to determine if they are valid.
10819func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesInput) Validate() error {
10820	invalidParams := request.ErrInvalidParams{Context: "BatchAssociateApprovalRuleTemplateWithRepositoriesInput"}
10821	if s.ApprovalRuleTemplateName == nil {
10822		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName"))
10823	}
10824	if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 {
10825		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1))
10826	}
10827	if s.RepositoryNames == nil {
10828		invalidParams.Add(request.NewErrParamRequired("RepositoryNames"))
10829	}
10830
10831	if invalidParams.Len() > 0 {
10832		return invalidParams
10833	}
10834	return nil
10835}
10836
10837// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value.
10838func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesInput) SetApprovalRuleTemplateName(v string) *BatchAssociateApprovalRuleTemplateWithRepositoriesInput {
10839	s.ApprovalRuleTemplateName = &v
10840	return s
10841}
10842
10843// SetRepositoryNames sets the RepositoryNames field's value.
10844func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesInput) SetRepositoryNames(v []*string) *BatchAssociateApprovalRuleTemplateWithRepositoriesInput {
10845	s.RepositoryNames = v
10846	return s
10847}
10848
10849type BatchAssociateApprovalRuleTemplateWithRepositoriesOutput struct {
10850	_ struct{} `type:"structure"`
10851
10852	// A list of names of the repositories that have been associated with the template.
10853	//
10854	// AssociatedRepositoryNames is a required field
10855	AssociatedRepositoryNames []*string `locationName:"associatedRepositoryNames" type:"list" required:"true"`
10856
10857	// A list of any errors that might have occurred while attempting to create
10858	// the association between the template and the repositories.
10859	//
10860	// Errors is a required field
10861	Errors []*BatchAssociateApprovalRuleTemplateWithRepositoriesError `locationName:"errors" type:"list" required:"true"`
10862}
10863
10864// String returns the string representation
10865func (s BatchAssociateApprovalRuleTemplateWithRepositoriesOutput) String() string {
10866	return awsutil.Prettify(s)
10867}
10868
10869// GoString returns the string representation
10870func (s BatchAssociateApprovalRuleTemplateWithRepositoriesOutput) GoString() string {
10871	return s.String()
10872}
10873
10874// SetAssociatedRepositoryNames sets the AssociatedRepositoryNames field's value.
10875func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesOutput) SetAssociatedRepositoryNames(v []*string) *BatchAssociateApprovalRuleTemplateWithRepositoriesOutput {
10876	s.AssociatedRepositoryNames = v
10877	return s
10878}
10879
10880// SetErrors sets the Errors field's value.
10881func (s *BatchAssociateApprovalRuleTemplateWithRepositoriesOutput) SetErrors(v []*BatchAssociateApprovalRuleTemplateWithRepositoriesError) *BatchAssociateApprovalRuleTemplateWithRepositoriesOutput {
10882	s.Errors = v
10883	return s
10884}
10885
10886// Returns information about errors in a BatchDescribeMergeConflicts operation.
10887type BatchDescribeMergeConflictsError struct {
10888	_ struct{} `type:"structure"`
10889
10890	// The name of the exception.
10891	//
10892	// ExceptionName is a required field
10893	ExceptionName *string `locationName:"exceptionName" type:"string" required:"true"`
10894
10895	// The path to the file.
10896	//
10897	// FilePath is a required field
10898	FilePath *string `locationName:"filePath" type:"string" required:"true"`
10899
10900	// The message provided by the exception.
10901	//
10902	// Message is a required field
10903	Message *string `locationName:"message" type:"string" required:"true"`
10904}
10905
10906// String returns the string representation
10907func (s BatchDescribeMergeConflictsError) String() string {
10908	return awsutil.Prettify(s)
10909}
10910
10911// GoString returns the string representation
10912func (s BatchDescribeMergeConflictsError) GoString() string {
10913	return s.String()
10914}
10915
10916// SetExceptionName sets the ExceptionName field's value.
10917func (s *BatchDescribeMergeConflictsError) SetExceptionName(v string) *BatchDescribeMergeConflictsError {
10918	s.ExceptionName = &v
10919	return s
10920}
10921
10922// SetFilePath sets the FilePath field's value.
10923func (s *BatchDescribeMergeConflictsError) SetFilePath(v string) *BatchDescribeMergeConflictsError {
10924	s.FilePath = &v
10925	return s
10926}
10927
10928// SetMessage sets the Message field's value.
10929func (s *BatchDescribeMergeConflictsError) SetMessage(v string) *BatchDescribeMergeConflictsError {
10930	s.Message = &v
10931	return s
10932}
10933
10934type BatchDescribeMergeConflictsInput struct {
10935	_ struct{} `type:"structure"`
10936
10937	// The level of conflict detail to use. If unspecified, the default FILE_LEVEL
10938	// is used, which returns a not-mergeable result if the same file has differences
10939	// in both branches. If LINE_LEVEL is specified, a conflict is considered not
10940	// mergeable if the same file in both branches has differences on the same line.
10941	ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"`
10942
10943	// Specifies which branch to use when resolving conflicts, or whether to attempt
10944	// automatically merging two versions of a file. The default is NONE, which
10945	// requires any conflicts to be resolved manually before the merge operation
10946	// is successful.
10947	ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"`
10948
10949	// The branch, tag, HEAD, or other fully qualified reference used to identify
10950	// a commit (for example, a branch name or a full commit ID).
10951	//
10952	// DestinationCommitSpecifier is a required field
10953	DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"`
10954
10955	// The path of the target files used to describe the conflicts. If not specified,
10956	// the default is all conflict files.
10957	FilePaths []*string `locationName:"filePaths" type:"list"`
10958
10959	// The maximum number of files to include in the output.
10960	MaxConflictFiles *int64 `locationName:"maxConflictFiles" type:"integer"`
10961
10962	// The maximum number of merge hunks to include in the output.
10963	MaxMergeHunks *int64 `locationName:"maxMergeHunks" type:"integer"`
10964
10965	// The merge option or strategy you want to use to merge the code.
10966	//
10967	// MergeOption is a required field
10968	MergeOption *string `locationName:"mergeOption" type:"string" required:"true" enum:"MergeOptionTypeEnum"`
10969
10970	// An enumeration token that, when provided in a request, returns the next batch
10971	// of the results.
10972	NextToken *string `locationName:"nextToken" type:"string"`
10973
10974	// The name of the repository that contains the merge conflicts you want to
10975	// review.
10976	//
10977	// RepositoryName is a required field
10978	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
10979
10980	// The branch, tag, HEAD, or other fully qualified reference used to identify
10981	// a commit (for example, a branch name or a full commit ID).
10982	//
10983	// SourceCommitSpecifier is a required field
10984	SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"`
10985}
10986
10987// String returns the string representation
10988func (s BatchDescribeMergeConflictsInput) String() string {
10989	return awsutil.Prettify(s)
10990}
10991
10992// GoString returns the string representation
10993func (s BatchDescribeMergeConflictsInput) GoString() string {
10994	return s.String()
10995}
10996
10997// Validate inspects the fields of the type to determine if they are valid.
10998func (s *BatchDescribeMergeConflictsInput) Validate() error {
10999	invalidParams := request.ErrInvalidParams{Context: "BatchDescribeMergeConflictsInput"}
11000	if s.DestinationCommitSpecifier == nil {
11001		invalidParams.Add(request.NewErrParamRequired("DestinationCommitSpecifier"))
11002	}
11003	if s.MergeOption == nil {
11004		invalidParams.Add(request.NewErrParamRequired("MergeOption"))
11005	}
11006	if s.RepositoryName == nil {
11007		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
11008	}
11009	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
11010		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
11011	}
11012	if s.SourceCommitSpecifier == nil {
11013		invalidParams.Add(request.NewErrParamRequired("SourceCommitSpecifier"))
11014	}
11015
11016	if invalidParams.Len() > 0 {
11017		return invalidParams
11018	}
11019	return nil
11020}
11021
11022// SetConflictDetailLevel sets the ConflictDetailLevel field's value.
11023func (s *BatchDescribeMergeConflictsInput) SetConflictDetailLevel(v string) *BatchDescribeMergeConflictsInput {
11024	s.ConflictDetailLevel = &v
11025	return s
11026}
11027
11028// SetConflictResolutionStrategy sets the ConflictResolutionStrategy field's value.
11029func (s *BatchDescribeMergeConflictsInput) SetConflictResolutionStrategy(v string) *BatchDescribeMergeConflictsInput {
11030	s.ConflictResolutionStrategy = &v
11031	return s
11032}
11033
11034// SetDestinationCommitSpecifier sets the DestinationCommitSpecifier field's value.
11035func (s *BatchDescribeMergeConflictsInput) SetDestinationCommitSpecifier(v string) *BatchDescribeMergeConflictsInput {
11036	s.DestinationCommitSpecifier = &v
11037	return s
11038}
11039
11040// SetFilePaths sets the FilePaths field's value.
11041func (s *BatchDescribeMergeConflictsInput) SetFilePaths(v []*string) *BatchDescribeMergeConflictsInput {
11042	s.FilePaths = v
11043	return s
11044}
11045
11046// SetMaxConflictFiles sets the MaxConflictFiles field's value.
11047func (s *BatchDescribeMergeConflictsInput) SetMaxConflictFiles(v int64) *BatchDescribeMergeConflictsInput {
11048	s.MaxConflictFiles = &v
11049	return s
11050}
11051
11052// SetMaxMergeHunks sets the MaxMergeHunks field's value.
11053func (s *BatchDescribeMergeConflictsInput) SetMaxMergeHunks(v int64) *BatchDescribeMergeConflictsInput {
11054	s.MaxMergeHunks = &v
11055	return s
11056}
11057
11058// SetMergeOption sets the MergeOption field's value.
11059func (s *BatchDescribeMergeConflictsInput) SetMergeOption(v string) *BatchDescribeMergeConflictsInput {
11060	s.MergeOption = &v
11061	return s
11062}
11063
11064// SetNextToken sets the NextToken field's value.
11065func (s *BatchDescribeMergeConflictsInput) SetNextToken(v string) *BatchDescribeMergeConflictsInput {
11066	s.NextToken = &v
11067	return s
11068}
11069
11070// SetRepositoryName sets the RepositoryName field's value.
11071func (s *BatchDescribeMergeConflictsInput) SetRepositoryName(v string) *BatchDescribeMergeConflictsInput {
11072	s.RepositoryName = &v
11073	return s
11074}
11075
11076// SetSourceCommitSpecifier sets the SourceCommitSpecifier field's value.
11077func (s *BatchDescribeMergeConflictsInput) SetSourceCommitSpecifier(v string) *BatchDescribeMergeConflictsInput {
11078	s.SourceCommitSpecifier = &v
11079	return s
11080}
11081
11082type BatchDescribeMergeConflictsOutput struct {
11083	_ struct{} `type:"structure"`
11084
11085	// The commit ID of the merge base.
11086	BaseCommitId *string `locationName:"baseCommitId" type:"string"`
11087
11088	// A list of conflicts for each file, including the conflict metadata and the
11089	// hunks of the differences between the files.
11090	//
11091	// Conflicts is a required field
11092	Conflicts []*Conflict `locationName:"conflicts" type:"list" required:"true"`
11093
11094	// The commit ID of the destination commit specifier that was used in the merge
11095	// evaluation.
11096	//
11097	// DestinationCommitId is a required field
11098	DestinationCommitId *string `locationName:"destinationCommitId" type:"string" required:"true"`
11099
11100	// A list of any errors returned while describing the merge conflicts for each
11101	// file.
11102	Errors []*BatchDescribeMergeConflictsError `locationName:"errors" type:"list"`
11103
11104	// An enumeration token that can be used in a request to return the next batch
11105	// of the results.
11106	NextToken *string `locationName:"nextToken" type:"string"`
11107
11108	// The commit ID of the source commit specifier that was used in the merge evaluation.
11109	//
11110	// SourceCommitId is a required field
11111	SourceCommitId *string `locationName:"sourceCommitId" type:"string" required:"true"`
11112}
11113
11114// String returns the string representation
11115func (s BatchDescribeMergeConflictsOutput) String() string {
11116	return awsutil.Prettify(s)
11117}
11118
11119// GoString returns the string representation
11120func (s BatchDescribeMergeConflictsOutput) GoString() string {
11121	return s.String()
11122}
11123
11124// SetBaseCommitId sets the BaseCommitId field's value.
11125func (s *BatchDescribeMergeConflictsOutput) SetBaseCommitId(v string) *BatchDescribeMergeConflictsOutput {
11126	s.BaseCommitId = &v
11127	return s
11128}
11129
11130// SetConflicts sets the Conflicts field's value.
11131func (s *BatchDescribeMergeConflictsOutput) SetConflicts(v []*Conflict) *BatchDescribeMergeConflictsOutput {
11132	s.Conflicts = v
11133	return s
11134}
11135
11136// SetDestinationCommitId sets the DestinationCommitId field's value.
11137func (s *BatchDescribeMergeConflictsOutput) SetDestinationCommitId(v string) *BatchDescribeMergeConflictsOutput {
11138	s.DestinationCommitId = &v
11139	return s
11140}
11141
11142// SetErrors sets the Errors field's value.
11143func (s *BatchDescribeMergeConflictsOutput) SetErrors(v []*BatchDescribeMergeConflictsError) *BatchDescribeMergeConflictsOutput {
11144	s.Errors = v
11145	return s
11146}
11147
11148// SetNextToken sets the NextToken field's value.
11149func (s *BatchDescribeMergeConflictsOutput) SetNextToken(v string) *BatchDescribeMergeConflictsOutput {
11150	s.NextToken = &v
11151	return s
11152}
11153
11154// SetSourceCommitId sets the SourceCommitId field's value.
11155func (s *BatchDescribeMergeConflictsOutput) SetSourceCommitId(v string) *BatchDescribeMergeConflictsOutput {
11156	s.SourceCommitId = &v
11157	return s
11158}
11159
11160// Returns information about errors in a BatchDisassociateApprovalRuleTemplateFromRepositories
11161// operation.
11162type BatchDisassociateApprovalRuleTemplateFromRepositoriesError struct {
11163	_ struct{} `type:"structure"`
11164
11165	// An error code that specifies whether the repository name was not valid or
11166	// not found.
11167	ErrorCode *string `locationName:"errorCode" type:"string"`
11168
11169	// An error message that provides details about why the repository name was
11170	// either not found or not valid.
11171	ErrorMessage *string `locationName:"errorMessage" type:"string"`
11172
11173	// The name of the repository where the association with the template was not
11174	// able to be removed.
11175	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
11176}
11177
11178// String returns the string representation
11179func (s BatchDisassociateApprovalRuleTemplateFromRepositoriesError) String() string {
11180	return awsutil.Prettify(s)
11181}
11182
11183// GoString returns the string representation
11184func (s BatchDisassociateApprovalRuleTemplateFromRepositoriesError) GoString() string {
11185	return s.String()
11186}
11187
11188// SetErrorCode sets the ErrorCode field's value.
11189func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesError) SetErrorCode(v string) *BatchDisassociateApprovalRuleTemplateFromRepositoriesError {
11190	s.ErrorCode = &v
11191	return s
11192}
11193
11194// SetErrorMessage sets the ErrorMessage field's value.
11195func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesError) SetErrorMessage(v string) *BatchDisassociateApprovalRuleTemplateFromRepositoriesError {
11196	s.ErrorMessage = &v
11197	return s
11198}
11199
11200// SetRepositoryName sets the RepositoryName field's value.
11201func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesError) SetRepositoryName(v string) *BatchDisassociateApprovalRuleTemplateFromRepositoriesError {
11202	s.RepositoryName = &v
11203	return s
11204}
11205
11206type BatchDisassociateApprovalRuleTemplateFromRepositoriesInput struct {
11207	_ struct{} `type:"structure"`
11208
11209	// The name of the template that you want to disassociate from one or more repositories.
11210	//
11211	// ApprovalRuleTemplateName is a required field
11212	ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"`
11213
11214	// The repository names that you want to disassociate from the approval rule
11215	// template.
11216	//
11217	// The length constraint limit is for each string in the array. The array itself
11218	// can be empty.
11219	//
11220	// RepositoryNames is a required field
11221	RepositoryNames []*string `locationName:"repositoryNames" type:"list" required:"true"`
11222}
11223
11224// String returns the string representation
11225func (s BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) String() string {
11226	return awsutil.Prettify(s)
11227}
11228
11229// GoString returns the string representation
11230func (s BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) GoString() string {
11231	return s.String()
11232}
11233
11234// Validate inspects the fields of the type to determine if they are valid.
11235func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) Validate() error {
11236	invalidParams := request.ErrInvalidParams{Context: "BatchDisassociateApprovalRuleTemplateFromRepositoriesInput"}
11237	if s.ApprovalRuleTemplateName == nil {
11238		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName"))
11239	}
11240	if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 {
11241		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1))
11242	}
11243	if s.RepositoryNames == nil {
11244		invalidParams.Add(request.NewErrParamRequired("RepositoryNames"))
11245	}
11246
11247	if invalidParams.Len() > 0 {
11248		return invalidParams
11249	}
11250	return nil
11251}
11252
11253// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value.
11254func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) SetApprovalRuleTemplateName(v string) *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput {
11255	s.ApprovalRuleTemplateName = &v
11256	return s
11257}
11258
11259// SetRepositoryNames sets the RepositoryNames field's value.
11260func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput) SetRepositoryNames(v []*string) *BatchDisassociateApprovalRuleTemplateFromRepositoriesInput {
11261	s.RepositoryNames = v
11262	return s
11263}
11264
11265type BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput struct {
11266	_ struct{} `type:"structure"`
11267
11268	// A list of repository names that have had their association with the template
11269	// removed.
11270	//
11271	// DisassociatedRepositoryNames is a required field
11272	DisassociatedRepositoryNames []*string `locationName:"disassociatedRepositoryNames" type:"list" required:"true"`
11273
11274	// A list of any errors that might have occurred while attempting to remove
11275	// the association between the template and the repositories.
11276	//
11277	// Errors is a required field
11278	Errors []*BatchDisassociateApprovalRuleTemplateFromRepositoriesError `locationName:"errors" type:"list" required:"true"`
11279}
11280
11281// String returns the string representation
11282func (s BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput) String() string {
11283	return awsutil.Prettify(s)
11284}
11285
11286// GoString returns the string representation
11287func (s BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput) GoString() string {
11288	return s.String()
11289}
11290
11291// SetDisassociatedRepositoryNames sets the DisassociatedRepositoryNames field's value.
11292func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput) SetDisassociatedRepositoryNames(v []*string) *BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput {
11293	s.DisassociatedRepositoryNames = v
11294	return s
11295}
11296
11297// SetErrors sets the Errors field's value.
11298func (s *BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput) SetErrors(v []*BatchDisassociateApprovalRuleTemplateFromRepositoriesError) *BatchDisassociateApprovalRuleTemplateFromRepositoriesOutput {
11299	s.Errors = v
11300	return s
11301}
11302
11303// Returns information about errors in a BatchGetCommits operation.
11304type BatchGetCommitsError struct {
11305	_ struct{} `type:"structure"`
11306
11307	// A commit ID that either could not be found or was not in a valid format.
11308	CommitId *string `locationName:"commitId" type:"string"`
11309
11310	// An error code that specifies whether the commit ID was not valid or not found.
11311	ErrorCode *string `locationName:"errorCode" type:"string"`
11312
11313	// An error message that provides detail about why the commit ID either was
11314	// not found or was not valid.
11315	ErrorMessage *string `locationName:"errorMessage" type:"string"`
11316}
11317
11318// String returns the string representation
11319func (s BatchGetCommitsError) String() string {
11320	return awsutil.Prettify(s)
11321}
11322
11323// GoString returns the string representation
11324func (s BatchGetCommitsError) GoString() string {
11325	return s.String()
11326}
11327
11328// SetCommitId sets the CommitId field's value.
11329func (s *BatchGetCommitsError) SetCommitId(v string) *BatchGetCommitsError {
11330	s.CommitId = &v
11331	return s
11332}
11333
11334// SetErrorCode sets the ErrorCode field's value.
11335func (s *BatchGetCommitsError) SetErrorCode(v string) *BatchGetCommitsError {
11336	s.ErrorCode = &v
11337	return s
11338}
11339
11340// SetErrorMessage sets the ErrorMessage field's value.
11341func (s *BatchGetCommitsError) SetErrorMessage(v string) *BatchGetCommitsError {
11342	s.ErrorMessage = &v
11343	return s
11344}
11345
11346type BatchGetCommitsInput struct {
11347	_ struct{} `type:"structure"`
11348
11349	// The full commit IDs of the commits to get information about.
11350	//
11351	// You must supply the full SHA IDs of each commit. You cannot use shortened
11352	// SHA IDs.
11353	//
11354	// CommitIds is a required field
11355	CommitIds []*string `locationName:"commitIds" type:"list" required:"true"`
11356
11357	// The name of the repository that contains the commits.
11358	//
11359	// RepositoryName is a required field
11360	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
11361}
11362
11363// String returns the string representation
11364func (s BatchGetCommitsInput) String() string {
11365	return awsutil.Prettify(s)
11366}
11367
11368// GoString returns the string representation
11369func (s BatchGetCommitsInput) GoString() string {
11370	return s.String()
11371}
11372
11373// Validate inspects the fields of the type to determine if they are valid.
11374func (s *BatchGetCommitsInput) Validate() error {
11375	invalidParams := request.ErrInvalidParams{Context: "BatchGetCommitsInput"}
11376	if s.CommitIds == nil {
11377		invalidParams.Add(request.NewErrParamRequired("CommitIds"))
11378	}
11379	if s.RepositoryName == nil {
11380		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
11381	}
11382	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
11383		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
11384	}
11385
11386	if invalidParams.Len() > 0 {
11387		return invalidParams
11388	}
11389	return nil
11390}
11391
11392// SetCommitIds sets the CommitIds field's value.
11393func (s *BatchGetCommitsInput) SetCommitIds(v []*string) *BatchGetCommitsInput {
11394	s.CommitIds = v
11395	return s
11396}
11397
11398// SetRepositoryName sets the RepositoryName field's value.
11399func (s *BatchGetCommitsInput) SetRepositoryName(v string) *BatchGetCommitsInput {
11400	s.RepositoryName = &v
11401	return s
11402}
11403
11404type BatchGetCommitsOutput struct {
11405	_ struct{} `type:"structure"`
11406
11407	// An array of commit data type objects, each of which contains information
11408	// about a specified commit.
11409	Commits []*Commit `locationName:"commits" type:"list"`
11410
11411	// Returns any commit IDs for which information could not be found. For example,
11412	// if one of the commit IDs was a shortened SHA ID or that commit was not found
11413	// in the specified repository, the ID returns an error object with more information.
11414	Errors []*BatchGetCommitsError `locationName:"errors" type:"list"`
11415}
11416
11417// String returns the string representation
11418func (s BatchGetCommitsOutput) String() string {
11419	return awsutil.Prettify(s)
11420}
11421
11422// GoString returns the string representation
11423func (s BatchGetCommitsOutput) GoString() string {
11424	return s.String()
11425}
11426
11427// SetCommits sets the Commits field's value.
11428func (s *BatchGetCommitsOutput) SetCommits(v []*Commit) *BatchGetCommitsOutput {
11429	s.Commits = v
11430	return s
11431}
11432
11433// SetErrors sets the Errors field's value.
11434func (s *BatchGetCommitsOutput) SetErrors(v []*BatchGetCommitsError) *BatchGetCommitsOutput {
11435	s.Errors = v
11436	return s
11437}
11438
11439// Represents the input of a batch get repositories operation.
11440type BatchGetRepositoriesInput struct {
11441	_ struct{} `type:"structure"`
11442
11443	// The names of the repositories to get information about.
11444	//
11445	// The length constraint limit is for each string in the array. The array itself
11446	// can be empty.
11447	//
11448	// RepositoryNames is a required field
11449	RepositoryNames []*string `locationName:"repositoryNames" type:"list" required:"true"`
11450}
11451
11452// String returns the string representation
11453func (s BatchGetRepositoriesInput) String() string {
11454	return awsutil.Prettify(s)
11455}
11456
11457// GoString returns the string representation
11458func (s BatchGetRepositoriesInput) GoString() string {
11459	return s.String()
11460}
11461
11462// Validate inspects the fields of the type to determine if they are valid.
11463func (s *BatchGetRepositoriesInput) Validate() error {
11464	invalidParams := request.ErrInvalidParams{Context: "BatchGetRepositoriesInput"}
11465	if s.RepositoryNames == nil {
11466		invalidParams.Add(request.NewErrParamRequired("RepositoryNames"))
11467	}
11468
11469	if invalidParams.Len() > 0 {
11470		return invalidParams
11471	}
11472	return nil
11473}
11474
11475// SetRepositoryNames sets the RepositoryNames field's value.
11476func (s *BatchGetRepositoriesInput) SetRepositoryNames(v []*string) *BatchGetRepositoriesInput {
11477	s.RepositoryNames = v
11478	return s
11479}
11480
11481// Represents the output of a batch get repositories operation.
11482type BatchGetRepositoriesOutput struct {
11483	_ struct{} `type:"structure"`
11484
11485	// A list of repositories returned by the batch get repositories operation.
11486	Repositories []*RepositoryMetadata `locationName:"repositories" type:"list"`
11487
11488	// Returns a list of repository names for which information could not be found.
11489	RepositoriesNotFound []*string `locationName:"repositoriesNotFound" type:"list"`
11490}
11491
11492// String returns the string representation
11493func (s BatchGetRepositoriesOutput) String() string {
11494	return awsutil.Prettify(s)
11495}
11496
11497// GoString returns the string representation
11498func (s BatchGetRepositoriesOutput) GoString() string {
11499	return s.String()
11500}
11501
11502// SetRepositories sets the Repositories field's value.
11503func (s *BatchGetRepositoriesOutput) SetRepositories(v []*RepositoryMetadata) *BatchGetRepositoriesOutput {
11504	s.Repositories = v
11505	return s
11506}
11507
11508// SetRepositoriesNotFound sets the RepositoriesNotFound field's value.
11509func (s *BatchGetRepositoriesOutput) SetRepositoriesNotFound(v []*string) *BatchGetRepositoriesOutput {
11510	s.RepositoriesNotFound = v
11511	return s
11512}
11513
11514// Returns information about a specific Git blob object.
11515type BlobMetadata struct {
11516	_ struct{} `type:"structure"`
11517
11518	// The full ID of the blob.
11519	BlobId *string `locationName:"blobId" type:"string"`
11520
11521	// The file mode permissions of the blob. File mode permission codes include:
11522	//
11523	//    * 100644 indicates read/write
11524	//
11525	//    * 100755 indicates read/write/execute
11526	//
11527	//    * 160000 indicates a submodule
11528	//
11529	//    * 120000 indicates a symlink
11530	Mode *string `locationName:"mode" type:"string"`
11531
11532	// The path to the blob and associated file name, if any.
11533	Path *string `locationName:"path" type:"string"`
11534}
11535
11536// String returns the string representation
11537func (s BlobMetadata) String() string {
11538	return awsutil.Prettify(s)
11539}
11540
11541// GoString returns the string representation
11542func (s BlobMetadata) GoString() string {
11543	return s.String()
11544}
11545
11546// SetBlobId sets the BlobId field's value.
11547func (s *BlobMetadata) SetBlobId(v string) *BlobMetadata {
11548	s.BlobId = &v
11549	return s
11550}
11551
11552// SetMode sets the Mode field's value.
11553func (s *BlobMetadata) SetMode(v string) *BlobMetadata {
11554	s.Mode = &v
11555	return s
11556}
11557
11558// SetPath sets the Path field's value.
11559func (s *BlobMetadata) SetPath(v string) *BlobMetadata {
11560	s.Path = &v
11561	return s
11562}
11563
11564// Returns information about a branch.
11565type BranchInfo struct {
11566	_ struct{} `type:"structure"`
11567
11568	// The name of the branch.
11569	BranchName *string `locationName:"branchName" min:"1" type:"string"`
11570
11571	// The ID of the last commit made to the branch.
11572	CommitId *string `locationName:"commitId" type:"string"`
11573}
11574
11575// String returns the string representation
11576func (s BranchInfo) String() string {
11577	return awsutil.Prettify(s)
11578}
11579
11580// GoString returns the string representation
11581func (s BranchInfo) GoString() string {
11582	return s.String()
11583}
11584
11585// SetBranchName sets the BranchName field's value.
11586func (s *BranchInfo) SetBranchName(v string) *BranchInfo {
11587	s.BranchName = &v
11588	return s
11589}
11590
11591// SetCommitId sets the CommitId field's value.
11592func (s *BranchInfo) SetCommitId(v string) *BranchInfo {
11593	s.CommitId = &v
11594	return s
11595}
11596
11597// Returns information about a specific comment.
11598type Comment struct {
11599	_ struct{} `type:"structure"`
11600
11601	// The Amazon Resource Name (ARN) of the person who posted the comment.
11602	AuthorArn *string `locationName:"authorArn" type:"string"`
11603
11604	// A unique, client-generated idempotency token that, when provided in a request,
11605	// ensures the request cannot be repeated with a changed parameter. If a request
11606	// is received with the same parameters and a token is included, the request
11607	// returns information about the initial request that used that token.
11608	ClientRequestToken *string `locationName:"clientRequestToken" type:"string"`
11609
11610	// The system-generated comment ID.
11611	CommentId *string `locationName:"commentId" type:"string"`
11612
11613	// The content of the comment.
11614	Content *string `locationName:"content" type:"string"`
11615
11616	// The date and time the comment was created, in timestamp format.
11617	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
11618
11619	// A Boolean value indicating whether the comment has been deleted.
11620	Deleted *bool `locationName:"deleted" type:"boolean"`
11621
11622	// The ID of the comment for which this comment is a reply, if any.
11623	InReplyTo *string `locationName:"inReplyTo" type:"string"`
11624
11625	// The date and time the comment was most recently modified, in timestamp format.
11626	LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"`
11627}
11628
11629// String returns the string representation
11630func (s Comment) String() string {
11631	return awsutil.Prettify(s)
11632}
11633
11634// GoString returns the string representation
11635func (s Comment) GoString() string {
11636	return s.String()
11637}
11638
11639// SetAuthorArn sets the AuthorArn field's value.
11640func (s *Comment) SetAuthorArn(v string) *Comment {
11641	s.AuthorArn = &v
11642	return s
11643}
11644
11645// SetClientRequestToken sets the ClientRequestToken field's value.
11646func (s *Comment) SetClientRequestToken(v string) *Comment {
11647	s.ClientRequestToken = &v
11648	return s
11649}
11650
11651// SetCommentId sets the CommentId field's value.
11652func (s *Comment) SetCommentId(v string) *Comment {
11653	s.CommentId = &v
11654	return s
11655}
11656
11657// SetContent sets the Content field's value.
11658func (s *Comment) SetContent(v string) *Comment {
11659	s.Content = &v
11660	return s
11661}
11662
11663// SetCreationDate sets the CreationDate field's value.
11664func (s *Comment) SetCreationDate(v time.Time) *Comment {
11665	s.CreationDate = &v
11666	return s
11667}
11668
11669// SetDeleted sets the Deleted field's value.
11670func (s *Comment) SetDeleted(v bool) *Comment {
11671	s.Deleted = &v
11672	return s
11673}
11674
11675// SetInReplyTo sets the InReplyTo field's value.
11676func (s *Comment) SetInReplyTo(v string) *Comment {
11677	s.InReplyTo = &v
11678	return s
11679}
11680
11681// SetLastModifiedDate sets the LastModifiedDate field's value.
11682func (s *Comment) SetLastModifiedDate(v time.Time) *Comment {
11683	s.LastModifiedDate = &v
11684	return s
11685}
11686
11687// Returns information about comments on the comparison between two commits.
11688type CommentsForComparedCommit struct {
11689	_ struct{} `type:"structure"`
11690
11691	// The full blob ID of the commit used to establish the after of the comparison.
11692	AfterBlobId *string `locationName:"afterBlobId" type:"string"`
11693
11694	// The full commit ID of the commit used to establish the after of the comparison.
11695	AfterCommitId *string `locationName:"afterCommitId" type:"string"`
11696
11697	// The full blob ID of the commit used to establish the before of the comparison.
11698	BeforeBlobId *string `locationName:"beforeBlobId" type:"string"`
11699
11700	// The full commit ID of the commit used to establish the before of the comparison.
11701	BeforeCommitId *string `locationName:"beforeCommitId" type:"string"`
11702
11703	// An array of comment objects. Each comment object contains information about
11704	// a comment on the comparison between commits.
11705	Comments []*Comment `locationName:"comments" type:"list"`
11706
11707	// Location information about the comment on the comparison, including the file
11708	// name, line number, and whether the version of the file where the comment
11709	// was made is BEFORE or AFTER.
11710	Location *Location `locationName:"location" type:"structure"`
11711
11712	// The name of the repository that contains the compared commits.
11713	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
11714}
11715
11716// String returns the string representation
11717func (s CommentsForComparedCommit) String() string {
11718	return awsutil.Prettify(s)
11719}
11720
11721// GoString returns the string representation
11722func (s CommentsForComparedCommit) GoString() string {
11723	return s.String()
11724}
11725
11726// SetAfterBlobId sets the AfterBlobId field's value.
11727func (s *CommentsForComparedCommit) SetAfterBlobId(v string) *CommentsForComparedCommit {
11728	s.AfterBlobId = &v
11729	return s
11730}
11731
11732// SetAfterCommitId sets the AfterCommitId field's value.
11733func (s *CommentsForComparedCommit) SetAfterCommitId(v string) *CommentsForComparedCommit {
11734	s.AfterCommitId = &v
11735	return s
11736}
11737
11738// SetBeforeBlobId sets the BeforeBlobId field's value.
11739func (s *CommentsForComparedCommit) SetBeforeBlobId(v string) *CommentsForComparedCommit {
11740	s.BeforeBlobId = &v
11741	return s
11742}
11743
11744// SetBeforeCommitId sets the BeforeCommitId field's value.
11745func (s *CommentsForComparedCommit) SetBeforeCommitId(v string) *CommentsForComparedCommit {
11746	s.BeforeCommitId = &v
11747	return s
11748}
11749
11750// SetComments sets the Comments field's value.
11751func (s *CommentsForComparedCommit) SetComments(v []*Comment) *CommentsForComparedCommit {
11752	s.Comments = v
11753	return s
11754}
11755
11756// SetLocation sets the Location field's value.
11757func (s *CommentsForComparedCommit) SetLocation(v *Location) *CommentsForComparedCommit {
11758	s.Location = v
11759	return s
11760}
11761
11762// SetRepositoryName sets the RepositoryName field's value.
11763func (s *CommentsForComparedCommit) SetRepositoryName(v string) *CommentsForComparedCommit {
11764	s.RepositoryName = &v
11765	return s
11766}
11767
11768// Returns information about comments on a pull request.
11769type CommentsForPullRequest struct {
11770	_ struct{} `type:"structure"`
11771
11772	// The full blob ID of the file on which you want to comment on the source commit.
11773	AfterBlobId *string `locationName:"afterBlobId" type:"string"`
11774
11775	// The full commit ID of the commit that was the tip of the source branch at
11776	// the time the comment was made.
11777	AfterCommitId *string `locationName:"afterCommitId" type:"string"`
11778
11779	// The full blob ID of the file on which you want to comment on the destination
11780	// commit.
11781	BeforeBlobId *string `locationName:"beforeBlobId" type:"string"`
11782
11783	// The full commit ID of the commit that was the tip of the destination branch
11784	// when the pull request was created. This commit is superceded by the after
11785	// commit in the source branch when and if you merge the source branch into
11786	// the destination branch.
11787	BeforeCommitId *string `locationName:"beforeCommitId" type:"string"`
11788
11789	// An array of comment objects. Each comment object contains information about
11790	// a comment on the pull request.
11791	Comments []*Comment `locationName:"comments" type:"list"`
11792
11793	// Location information about the comment on the pull request, including the
11794	// file name, line number, and whether the version of the file where the comment
11795	// was made is BEFORE (destination branch) or AFTER (source branch).
11796	Location *Location `locationName:"location" type:"structure"`
11797
11798	// The system-generated ID of the pull request.
11799	PullRequestId *string `locationName:"pullRequestId" type:"string"`
11800
11801	// The name of the repository that contains the pull request.
11802	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
11803}
11804
11805// String returns the string representation
11806func (s CommentsForPullRequest) String() string {
11807	return awsutil.Prettify(s)
11808}
11809
11810// GoString returns the string representation
11811func (s CommentsForPullRequest) GoString() string {
11812	return s.String()
11813}
11814
11815// SetAfterBlobId sets the AfterBlobId field's value.
11816func (s *CommentsForPullRequest) SetAfterBlobId(v string) *CommentsForPullRequest {
11817	s.AfterBlobId = &v
11818	return s
11819}
11820
11821// SetAfterCommitId sets the AfterCommitId field's value.
11822func (s *CommentsForPullRequest) SetAfterCommitId(v string) *CommentsForPullRequest {
11823	s.AfterCommitId = &v
11824	return s
11825}
11826
11827// SetBeforeBlobId sets the BeforeBlobId field's value.
11828func (s *CommentsForPullRequest) SetBeforeBlobId(v string) *CommentsForPullRequest {
11829	s.BeforeBlobId = &v
11830	return s
11831}
11832
11833// SetBeforeCommitId sets the BeforeCommitId field's value.
11834func (s *CommentsForPullRequest) SetBeforeCommitId(v string) *CommentsForPullRequest {
11835	s.BeforeCommitId = &v
11836	return s
11837}
11838
11839// SetComments sets the Comments field's value.
11840func (s *CommentsForPullRequest) SetComments(v []*Comment) *CommentsForPullRequest {
11841	s.Comments = v
11842	return s
11843}
11844
11845// SetLocation sets the Location field's value.
11846func (s *CommentsForPullRequest) SetLocation(v *Location) *CommentsForPullRequest {
11847	s.Location = v
11848	return s
11849}
11850
11851// SetPullRequestId sets the PullRequestId field's value.
11852func (s *CommentsForPullRequest) SetPullRequestId(v string) *CommentsForPullRequest {
11853	s.PullRequestId = &v
11854	return s
11855}
11856
11857// SetRepositoryName sets the RepositoryName field's value.
11858func (s *CommentsForPullRequest) SetRepositoryName(v string) *CommentsForPullRequest {
11859	s.RepositoryName = &v
11860	return s
11861}
11862
11863// Returns information about a specific commit.
11864type Commit struct {
11865	_ struct{} `type:"structure"`
11866
11867	// Any other data associated with the specified commit.
11868	AdditionalData *string `locationName:"additionalData" type:"string"`
11869
11870	// Information about the author of the specified commit. Information includes
11871	// the date in timestamp format with GMT offset, the name of the author, and
11872	// the email address for the author, as configured in Git.
11873	Author *UserInfo `locationName:"author" type:"structure"`
11874
11875	// The full SHA ID of the specified commit.
11876	CommitId *string `locationName:"commitId" type:"string"`
11877
11878	// Information about the person who committed the specified commit, also known
11879	// as the committer. Information includes the date in timestamp format with
11880	// GMT offset, the name of the committer, and the email address for the committer,
11881	// as configured in Git.
11882	//
11883	// For more information about the difference between an author and a committer
11884	// in Git, see Viewing the Commit History (http://git-scm.com/book/ch2-3.html)
11885	// in Pro Git by Scott Chacon and Ben Straub.
11886	Committer *UserInfo `locationName:"committer" type:"structure"`
11887
11888	// The commit message associated with the specified commit.
11889	Message *string `locationName:"message" type:"string"`
11890
11891	// A list of parent commits for the specified commit. Each parent commit ID
11892	// is the full commit ID.
11893	Parents []*string `locationName:"parents" type:"list"`
11894
11895	// Tree information for the specified commit.
11896	TreeId *string `locationName:"treeId" type:"string"`
11897}
11898
11899// String returns the string representation
11900func (s Commit) String() string {
11901	return awsutil.Prettify(s)
11902}
11903
11904// GoString returns the string representation
11905func (s Commit) GoString() string {
11906	return s.String()
11907}
11908
11909// SetAdditionalData sets the AdditionalData field's value.
11910func (s *Commit) SetAdditionalData(v string) *Commit {
11911	s.AdditionalData = &v
11912	return s
11913}
11914
11915// SetAuthor sets the Author field's value.
11916func (s *Commit) SetAuthor(v *UserInfo) *Commit {
11917	s.Author = v
11918	return s
11919}
11920
11921// SetCommitId sets the CommitId field's value.
11922func (s *Commit) SetCommitId(v string) *Commit {
11923	s.CommitId = &v
11924	return s
11925}
11926
11927// SetCommitter sets the Committer field's value.
11928func (s *Commit) SetCommitter(v *UserInfo) *Commit {
11929	s.Committer = v
11930	return s
11931}
11932
11933// SetMessage sets the Message field's value.
11934func (s *Commit) SetMessage(v string) *Commit {
11935	s.Message = &v
11936	return s
11937}
11938
11939// SetParents sets the Parents field's value.
11940func (s *Commit) SetParents(v []*string) *Commit {
11941	s.Parents = v
11942	return s
11943}
11944
11945// SetTreeId sets the TreeId field's value.
11946func (s *Commit) SetTreeId(v string) *Commit {
11947	s.TreeId = &v
11948	return s
11949}
11950
11951// Information about conflicts in a merge operation.
11952type Conflict struct {
11953	_ struct{} `type:"structure"`
11954
11955	// Metadata about a conflict in a merge operation.
11956	ConflictMetadata *ConflictMetadata `locationName:"conflictMetadata" type:"structure"`
11957
11958	// A list of hunks that contain the differences between files or lines causing
11959	// the conflict.
11960	MergeHunks []*MergeHunk `locationName:"mergeHunks" type:"list"`
11961}
11962
11963// String returns the string representation
11964func (s Conflict) String() string {
11965	return awsutil.Prettify(s)
11966}
11967
11968// GoString returns the string representation
11969func (s Conflict) GoString() string {
11970	return s.String()
11971}
11972
11973// SetConflictMetadata sets the ConflictMetadata field's value.
11974func (s *Conflict) SetConflictMetadata(v *ConflictMetadata) *Conflict {
11975	s.ConflictMetadata = v
11976	return s
11977}
11978
11979// SetMergeHunks sets the MergeHunks field's value.
11980func (s *Conflict) SetMergeHunks(v []*MergeHunk) *Conflict {
11981	s.MergeHunks = v
11982	return s
11983}
11984
11985// Information about the metadata for a conflict in a merge operation.
11986type ConflictMetadata struct {
11987	_ struct{} `type:"structure"`
11988
11989	// A boolean value indicating whether there are conflicts in the content of
11990	// a file.
11991	ContentConflict *bool `locationName:"contentConflict" type:"boolean"`
11992
11993	// A boolean value indicating whether there are conflicts in the file mode of
11994	// a file.
11995	FileModeConflict *bool `locationName:"fileModeConflict" type:"boolean"`
11996
11997	// The file modes of the file in the source, destination, and base of the merge.
11998	FileModes *FileModes `locationName:"fileModes" type:"structure"`
11999
12000	// The path of the file that contains conflicts.
12001	FilePath *string `locationName:"filePath" type:"string"`
12002
12003	// The file sizes of the file in the source, destination, and base of the merge.
12004	FileSizes *FileSizes `locationName:"fileSizes" type:"structure"`
12005
12006	// A boolean value (true or false) indicating whether the file is binary or
12007	// textual in the source, destination, and base of the merge.
12008	IsBinaryFile *IsBinaryFile `locationName:"isBinaryFile" type:"structure"`
12009
12010	// Whether an add, modify, or delete operation caused the conflict between the
12011	// source and destination of the merge.
12012	MergeOperations *MergeOperations `locationName:"mergeOperations" type:"structure"`
12013
12014	// The number of conflicts, including both hunk conflicts and metadata conflicts.
12015	NumberOfConflicts *int64 `locationName:"numberOfConflicts" type:"integer"`
12016
12017	// A boolean value (true or false) indicating whether there are conflicts between
12018	// the branches in the object type of a file, folder, or submodule.
12019	ObjectTypeConflict *bool `locationName:"objectTypeConflict" type:"boolean"`
12020
12021	// Information about any object type conflicts in a merge operation.
12022	ObjectTypes *ObjectTypes `locationName:"objectTypes" type:"structure"`
12023}
12024
12025// String returns the string representation
12026func (s ConflictMetadata) String() string {
12027	return awsutil.Prettify(s)
12028}
12029
12030// GoString returns the string representation
12031func (s ConflictMetadata) GoString() string {
12032	return s.String()
12033}
12034
12035// SetContentConflict sets the ContentConflict field's value.
12036func (s *ConflictMetadata) SetContentConflict(v bool) *ConflictMetadata {
12037	s.ContentConflict = &v
12038	return s
12039}
12040
12041// SetFileModeConflict sets the FileModeConflict field's value.
12042func (s *ConflictMetadata) SetFileModeConflict(v bool) *ConflictMetadata {
12043	s.FileModeConflict = &v
12044	return s
12045}
12046
12047// SetFileModes sets the FileModes field's value.
12048func (s *ConflictMetadata) SetFileModes(v *FileModes) *ConflictMetadata {
12049	s.FileModes = v
12050	return s
12051}
12052
12053// SetFilePath sets the FilePath field's value.
12054func (s *ConflictMetadata) SetFilePath(v string) *ConflictMetadata {
12055	s.FilePath = &v
12056	return s
12057}
12058
12059// SetFileSizes sets the FileSizes field's value.
12060func (s *ConflictMetadata) SetFileSizes(v *FileSizes) *ConflictMetadata {
12061	s.FileSizes = v
12062	return s
12063}
12064
12065// SetIsBinaryFile sets the IsBinaryFile field's value.
12066func (s *ConflictMetadata) SetIsBinaryFile(v *IsBinaryFile) *ConflictMetadata {
12067	s.IsBinaryFile = v
12068	return s
12069}
12070
12071// SetMergeOperations sets the MergeOperations field's value.
12072func (s *ConflictMetadata) SetMergeOperations(v *MergeOperations) *ConflictMetadata {
12073	s.MergeOperations = v
12074	return s
12075}
12076
12077// SetNumberOfConflicts sets the NumberOfConflicts field's value.
12078func (s *ConflictMetadata) SetNumberOfConflicts(v int64) *ConflictMetadata {
12079	s.NumberOfConflicts = &v
12080	return s
12081}
12082
12083// SetObjectTypeConflict sets the ObjectTypeConflict field's value.
12084func (s *ConflictMetadata) SetObjectTypeConflict(v bool) *ConflictMetadata {
12085	s.ObjectTypeConflict = &v
12086	return s
12087}
12088
12089// SetObjectTypes sets the ObjectTypes field's value.
12090func (s *ConflictMetadata) SetObjectTypes(v *ObjectTypes) *ConflictMetadata {
12091	s.ObjectTypes = v
12092	return s
12093}
12094
12095// If AUTOMERGE is the conflict resolution strategy, a list of inputs to use
12096// when resolving conflicts during a merge.
12097type ConflictResolution struct {
12098	_ struct{} `type:"structure"`
12099
12100	// Files to be deleted as part of the merge conflict resolution.
12101	DeleteFiles []*DeleteFileEntry `locationName:"deleteFiles" type:"list"`
12102
12103	// Files to have content replaced as part of the merge conflict resolution.
12104	ReplaceContents []*ReplaceContentEntry `locationName:"replaceContents" type:"list"`
12105
12106	// File modes that are set as part of the merge conflict resolution.
12107	SetFileModes []*SetFileModeEntry `locationName:"setFileModes" type:"list"`
12108}
12109
12110// String returns the string representation
12111func (s ConflictResolution) String() string {
12112	return awsutil.Prettify(s)
12113}
12114
12115// GoString returns the string representation
12116func (s ConflictResolution) GoString() string {
12117	return s.String()
12118}
12119
12120// Validate inspects the fields of the type to determine if they are valid.
12121func (s *ConflictResolution) Validate() error {
12122	invalidParams := request.ErrInvalidParams{Context: "ConflictResolution"}
12123	if s.DeleteFiles != nil {
12124		for i, v := range s.DeleteFiles {
12125			if v == nil {
12126				continue
12127			}
12128			if err := v.Validate(); err != nil {
12129				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DeleteFiles", i), err.(request.ErrInvalidParams))
12130			}
12131		}
12132	}
12133	if s.ReplaceContents != nil {
12134		for i, v := range s.ReplaceContents {
12135			if v == nil {
12136				continue
12137			}
12138			if err := v.Validate(); err != nil {
12139				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplaceContents", i), err.(request.ErrInvalidParams))
12140			}
12141		}
12142	}
12143	if s.SetFileModes != nil {
12144		for i, v := range s.SetFileModes {
12145			if v == nil {
12146				continue
12147			}
12148			if err := v.Validate(); err != nil {
12149				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SetFileModes", i), err.(request.ErrInvalidParams))
12150			}
12151		}
12152	}
12153
12154	if invalidParams.Len() > 0 {
12155		return invalidParams
12156	}
12157	return nil
12158}
12159
12160// SetDeleteFiles sets the DeleteFiles field's value.
12161func (s *ConflictResolution) SetDeleteFiles(v []*DeleteFileEntry) *ConflictResolution {
12162	s.DeleteFiles = v
12163	return s
12164}
12165
12166// SetReplaceContents sets the ReplaceContents field's value.
12167func (s *ConflictResolution) SetReplaceContents(v []*ReplaceContentEntry) *ConflictResolution {
12168	s.ReplaceContents = v
12169	return s
12170}
12171
12172// SetSetFileModes sets the SetFileModes field's value.
12173func (s *ConflictResolution) SetSetFileModes(v []*SetFileModeEntry) *ConflictResolution {
12174	s.SetFileModes = v
12175	return s
12176}
12177
12178type CreateApprovalRuleTemplateInput struct {
12179	_ struct{} `type:"structure"`
12180
12181	// The content of the approval rule that is created on pull requests in associated
12182	// repositories. If you specify one or more destination references (branches),
12183	// approval rules are created in an associated repository only if their destination
12184	// references (branches) match those specified in the template.
12185	//
12186	// When you create the content of the approval rule template, you can specify
12187	// approvers in an approval pool in one of two ways:
12188	//
12189	//    * CodeCommitApprovers: This option only requires an AWS account and a
12190	//    resource. It can be used for both IAM users and federated access users
12191	//    whose name matches the provided resource name. This is a very powerful
12192	//    option that offers a great deal of flexibility. For example, if you specify
12193	//    the AWS account 123456789012 and Mary_Major, all of the following are
12194	//    counted as approvals coming from that user: An IAM user in the account
12195	//    (arn:aws:iam::123456789012:user/Mary_Major) A federated user identified
12196	//    in IAM as Mary_Major (arn:aws:sts::123456789012:federated-user/Mary_Major)
12197	//    This option does not recognize an active session of someone assuming the
12198	//    role of CodeCommitReview with a role session name of Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major)
12199	//    unless you include a wildcard (*Mary_Major).
12200	//
12201	//    * Fully qualified ARN: This option allows you to specify the fully qualified
12202	//    Amazon Resource Name (ARN) of the IAM user or role.
12203	//
12204	// For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers
12205	// (https://docs.aws.amazon.com/iam/latest/UserGuide/reference_identifiers.html)
12206	// in the IAM User Guide.
12207	//
12208	// ApprovalRuleTemplateContent is a required field
12209	ApprovalRuleTemplateContent *string `locationName:"approvalRuleTemplateContent" min:"1" type:"string" required:"true"`
12210
12211	// The description of the approval rule template. Consider providing a description
12212	// that explains what this template does and when it might be appropriate to
12213	// associate it with repositories.
12214	ApprovalRuleTemplateDescription *string `locationName:"approvalRuleTemplateDescription" type:"string"`
12215
12216	// The name of the approval rule template. Provide descriptive names, because
12217	// this name is applied to the approval rules created automatically in associated
12218	// repositories.
12219	//
12220	// ApprovalRuleTemplateName is a required field
12221	ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"`
12222}
12223
12224// String returns the string representation
12225func (s CreateApprovalRuleTemplateInput) String() string {
12226	return awsutil.Prettify(s)
12227}
12228
12229// GoString returns the string representation
12230func (s CreateApprovalRuleTemplateInput) GoString() string {
12231	return s.String()
12232}
12233
12234// Validate inspects the fields of the type to determine if they are valid.
12235func (s *CreateApprovalRuleTemplateInput) Validate() error {
12236	invalidParams := request.ErrInvalidParams{Context: "CreateApprovalRuleTemplateInput"}
12237	if s.ApprovalRuleTemplateContent == nil {
12238		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateContent"))
12239	}
12240	if s.ApprovalRuleTemplateContent != nil && len(*s.ApprovalRuleTemplateContent) < 1 {
12241		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateContent", 1))
12242	}
12243	if s.ApprovalRuleTemplateName == nil {
12244		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName"))
12245	}
12246	if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 {
12247		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1))
12248	}
12249
12250	if invalidParams.Len() > 0 {
12251		return invalidParams
12252	}
12253	return nil
12254}
12255
12256// SetApprovalRuleTemplateContent sets the ApprovalRuleTemplateContent field's value.
12257func (s *CreateApprovalRuleTemplateInput) SetApprovalRuleTemplateContent(v string) *CreateApprovalRuleTemplateInput {
12258	s.ApprovalRuleTemplateContent = &v
12259	return s
12260}
12261
12262// SetApprovalRuleTemplateDescription sets the ApprovalRuleTemplateDescription field's value.
12263func (s *CreateApprovalRuleTemplateInput) SetApprovalRuleTemplateDescription(v string) *CreateApprovalRuleTemplateInput {
12264	s.ApprovalRuleTemplateDescription = &v
12265	return s
12266}
12267
12268// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value.
12269func (s *CreateApprovalRuleTemplateInput) SetApprovalRuleTemplateName(v string) *CreateApprovalRuleTemplateInput {
12270	s.ApprovalRuleTemplateName = &v
12271	return s
12272}
12273
12274type CreateApprovalRuleTemplateOutput struct {
12275	_ struct{} `type:"structure"`
12276
12277	// The content and structure of the created approval rule template.
12278	//
12279	// ApprovalRuleTemplate is a required field
12280	ApprovalRuleTemplate *ApprovalRuleTemplate `locationName:"approvalRuleTemplate" type:"structure" required:"true"`
12281}
12282
12283// String returns the string representation
12284func (s CreateApprovalRuleTemplateOutput) String() string {
12285	return awsutil.Prettify(s)
12286}
12287
12288// GoString returns the string representation
12289func (s CreateApprovalRuleTemplateOutput) GoString() string {
12290	return s.String()
12291}
12292
12293// SetApprovalRuleTemplate sets the ApprovalRuleTemplate field's value.
12294func (s *CreateApprovalRuleTemplateOutput) SetApprovalRuleTemplate(v *ApprovalRuleTemplate) *CreateApprovalRuleTemplateOutput {
12295	s.ApprovalRuleTemplate = v
12296	return s
12297}
12298
12299// Represents the input of a create branch operation.
12300type CreateBranchInput struct {
12301	_ struct{} `type:"structure"`
12302
12303	// The name of the new branch to create.
12304	//
12305	// BranchName is a required field
12306	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
12307
12308	// The ID of the commit to point the new branch to.
12309	//
12310	// CommitId is a required field
12311	CommitId *string `locationName:"commitId" type:"string" required:"true"`
12312
12313	// The name of the repository in which you want to create the new branch.
12314	//
12315	// RepositoryName is a required field
12316	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
12317}
12318
12319// String returns the string representation
12320func (s CreateBranchInput) String() string {
12321	return awsutil.Prettify(s)
12322}
12323
12324// GoString returns the string representation
12325func (s CreateBranchInput) GoString() string {
12326	return s.String()
12327}
12328
12329// Validate inspects the fields of the type to determine if they are valid.
12330func (s *CreateBranchInput) Validate() error {
12331	invalidParams := request.ErrInvalidParams{Context: "CreateBranchInput"}
12332	if s.BranchName == nil {
12333		invalidParams.Add(request.NewErrParamRequired("BranchName"))
12334	}
12335	if s.BranchName != nil && len(*s.BranchName) < 1 {
12336		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
12337	}
12338	if s.CommitId == nil {
12339		invalidParams.Add(request.NewErrParamRequired("CommitId"))
12340	}
12341	if s.RepositoryName == nil {
12342		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
12343	}
12344	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
12345		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
12346	}
12347
12348	if invalidParams.Len() > 0 {
12349		return invalidParams
12350	}
12351	return nil
12352}
12353
12354// SetBranchName sets the BranchName field's value.
12355func (s *CreateBranchInput) SetBranchName(v string) *CreateBranchInput {
12356	s.BranchName = &v
12357	return s
12358}
12359
12360// SetCommitId sets the CommitId field's value.
12361func (s *CreateBranchInput) SetCommitId(v string) *CreateBranchInput {
12362	s.CommitId = &v
12363	return s
12364}
12365
12366// SetRepositoryName sets the RepositoryName field's value.
12367func (s *CreateBranchInput) SetRepositoryName(v string) *CreateBranchInput {
12368	s.RepositoryName = &v
12369	return s
12370}
12371
12372type CreateBranchOutput struct {
12373	_ struct{} `type:"structure"`
12374}
12375
12376// String returns the string representation
12377func (s CreateBranchOutput) String() string {
12378	return awsutil.Prettify(s)
12379}
12380
12381// GoString returns the string representation
12382func (s CreateBranchOutput) GoString() string {
12383	return s.String()
12384}
12385
12386type CreateCommitInput struct {
12387	_ struct{} `type:"structure"`
12388
12389	// The name of the author who created the commit. This information is used as
12390	// both the author and committer for the commit.
12391	AuthorName *string `locationName:"authorName" type:"string"`
12392
12393	// The name of the branch where you create the commit.
12394	//
12395	// BranchName is a required field
12396	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
12397
12398	// The commit message you want to include in the commit. Commit messages are
12399	// limited to 256 KB. If no message is specified, a default message is used.
12400	CommitMessage *string `locationName:"commitMessage" type:"string"`
12401
12402	// The files to delete in this commit. These files still exist in earlier commits.
12403	DeleteFiles []*DeleteFileEntry `locationName:"deleteFiles" type:"list"`
12404
12405	// The email address of the person who created the commit.
12406	Email *string `locationName:"email" type:"string"`
12407
12408	// If the commit contains deletions, whether to keep a folder or folder structure
12409	// if the changes leave the folders empty. If true, a ..gitkeep file is created
12410	// for empty folders. The default is false.
12411	KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"`
12412
12413	// The ID of the commit that is the parent of the commit you create. Not required
12414	// if this is an empty repository.
12415	ParentCommitId *string `locationName:"parentCommitId" type:"string"`
12416
12417	// The files to add or update in this commit.
12418	PutFiles []*PutFileEntry `locationName:"putFiles" type:"list"`
12419
12420	// The name of the repository where you create the commit.
12421	//
12422	// RepositoryName is a required field
12423	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
12424
12425	// The file modes to update for files in this commit.
12426	SetFileModes []*SetFileModeEntry `locationName:"setFileModes" type:"list"`
12427}
12428
12429// String returns the string representation
12430func (s CreateCommitInput) String() string {
12431	return awsutil.Prettify(s)
12432}
12433
12434// GoString returns the string representation
12435func (s CreateCommitInput) GoString() string {
12436	return s.String()
12437}
12438
12439// Validate inspects the fields of the type to determine if they are valid.
12440func (s *CreateCommitInput) Validate() error {
12441	invalidParams := request.ErrInvalidParams{Context: "CreateCommitInput"}
12442	if s.BranchName == nil {
12443		invalidParams.Add(request.NewErrParamRequired("BranchName"))
12444	}
12445	if s.BranchName != nil && len(*s.BranchName) < 1 {
12446		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
12447	}
12448	if s.RepositoryName == nil {
12449		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
12450	}
12451	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
12452		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
12453	}
12454	if s.DeleteFiles != nil {
12455		for i, v := range s.DeleteFiles {
12456			if v == nil {
12457				continue
12458			}
12459			if err := v.Validate(); err != nil {
12460				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DeleteFiles", i), err.(request.ErrInvalidParams))
12461			}
12462		}
12463	}
12464	if s.PutFiles != nil {
12465		for i, v := range s.PutFiles {
12466			if v == nil {
12467				continue
12468			}
12469			if err := v.Validate(); err != nil {
12470				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PutFiles", i), err.(request.ErrInvalidParams))
12471			}
12472		}
12473	}
12474	if s.SetFileModes != nil {
12475		for i, v := range s.SetFileModes {
12476			if v == nil {
12477				continue
12478			}
12479			if err := v.Validate(); err != nil {
12480				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SetFileModes", i), err.(request.ErrInvalidParams))
12481			}
12482		}
12483	}
12484
12485	if invalidParams.Len() > 0 {
12486		return invalidParams
12487	}
12488	return nil
12489}
12490
12491// SetAuthorName sets the AuthorName field's value.
12492func (s *CreateCommitInput) SetAuthorName(v string) *CreateCommitInput {
12493	s.AuthorName = &v
12494	return s
12495}
12496
12497// SetBranchName sets the BranchName field's value.
12498func (s *CreateCommitInput) SetBranchName(v string) *CreateCommitInput {
12499	s.BranchName = &v
12500	return s
12501}
12502
12503// SetCommitMessage sets the CommitMessage field's value.
12504func (s *CreateCommitInput) SetCommitMessage(v string) *CreateCommitInput {
12505	s.CommitMessage = &v
12506	return s
12507}
12508
12509// SetDeleteFiles sets the DeleteFiles field's value.
12510func (s *CreateCommitInput) SetDeleteFiles(v []*DeleteFileEntry) *CreateCommitInput {
12511	s.DeleteFiles = v
12512	return s
12513}
12514
12515// SetEmail sets the Email field's value.
12516func (s *CreateCommitInput) SetEmail(v string) *CreateCommitInput {
12517	s.Email = &v
12518	return s
12519}
12520
12521// SetKeepEmptyFolders sets the KeepEmptyFolders field's value.
12522func (s *CreateCommitInput) SetKeepEmptyFolders(v bool) *CreateCommitInput {
12523	s.KeepEmptyFolders = &v
12524	return s
12525}
12526
12527// SetParentCommitId sets the ParentCommitId field's value.
12528func (s *CreateCommitInput) SetParentCommitId(v string) *CreateCommitInput {
12529	s.ParentCommitId = &v
12530	return s
12531}
12532
12533// SetPutFiles sets the PutFiles field's value.
12534func (s *CreateCommitInput) SetPutFiles(v []*PutFileEntry) *CreateCommitInput {
12535	s.PutFiles = v
12536	return s
12537}
12538
12539// SetRepositoryName sets the RepositoryName field's value.
12540func (s *CreateCommitInput) SetRepositoryName(v string) *CreateCommitInput {
12541	s.RepositoryName = &v
12542	return s
12543}
12544
12545// SetSetFileModes sets the SetFileModes field's value.
12546func (s *CreateCommitInput) SetSetFileModes(v []*SetFileModeEntry) *CreateCommitInput {
12547	s.SetFileModes = v
12548	return s
12549}
12550
12551type CreateCommitOutput struct {
12552	_ struct{} `type:"structure"`
12553
12554	// The full commit ID of the commit that contains your committed file changes.
12555	CommitId *string `locationName:"commitId" type:"string"`
12556
12557	// The files added as part of the committed file changes.
12558	FilesAdded []*FileMetadata `locationName:"filesAdded" type:"list"`
12559
12560	// The files deleted as part of the committed file changes.
12561	FilesDeleted []*FileMetadata `locationName:"filesDeleted" type:"list"`
12562
12563	// The files updated as part of the commited file changes.
12564	FilesUpdated []*FileMetadata `locationName:"filesUpdated" type:"list"`
12565
12566	// The full SHA-1 pointer of the tree information for the commit that contains
12567	// the commited file changes.
12568	TreeId *string `locationName:"treeId" type:"string"`
12569}
12570
12571// String returns the string representation
12572func (s CreateCommitOutput) String() string {
12573	return awsutil.Prettify(s)
12574}
12575
12576// GoString returns the string representation
12577func (s CreateCommitOutput) GoString() string {
12578	return s.String()
12579}
12580
12581// SetCommitId sets the CommitId field's value.
12582func (s *CreateCommitOutput) SetCommitId(v string) *CreateCommitOutput {
12583	s.CommitId = &v
12584	return s
12585}
12586
12587// SetFilesAdded sets the FilesAdded field's value.
12588func (s *CreateCommitOutput) SetFilesAdded(v []*FileMetadata) *CreateCommitOutput {
12589	s.FilesAdded = v
12590	return s
12591}
12592
12593// SetFilesDeleted sets the FilesDeleted field's value.
12594func (s *CreateCommitOutput) SetFilesDeleted(v []*FileMetadata) *CreateCommitOutput {
12595	s.FilesDeleted = v
12596	return s
12597}
12598
12599// SetFilesUpdated sets the FilesUpdated field's value.
12600func (s *CreateCommitOutput) SetFilesUpdated(v []*FileMetadata) *CreateCommitOutput {
12601	s.FilesUpdated = v
12602	return s
12603}
12604
12605// SetTreeId sets the TreeId field's value.
12606func (s *CreateCommitOutput) SetTreeId(v string) *CreateCommitOutput {
12607	s.TreeId = &v
12608	return s
12609}
12610
12611type CreatePullRequestApprovalRuleInput struct {
12612	_ struct{} `type:"structure"`
12613
12614	// The content of the approval rule, including the number of approvals needed
12615	// and the structure of an approval pool defined for approvals, if any. For
12616	// more information about approval pools, see the AWS CodeCommit User Guide.
12617	//
12618	// When you create the content of the approval rule, you can specify approvers
12619	// in an approval pool in one of two ways:
12620	//
12621	//    * CodeCommitApprovers: This option only requires an AWS account and a
12622	//    resource. It can be used for both IAM users and federated access users
12623	//    whose name matches the provided resource name. This is a very powerful
12624	//    option that offers a great deal of flexibility. For example, if you specify
12625	//    the AWS account 123456789012 and Mary_Major, all of the following would
12626	//    be counted as approvals coming from that user: An IAM user in the account
12627	//    (arn:aws:iam::123456789012:user/Mary_Major) A federated user identified
12628	//    in IAM as Mary_Major (arn:aws:sts::123456789012:federated-user/Mary_Major)
12629	//    This option does not recognize an active session of someone assuming the
12630	//    role of CodeCommitReview with a role session name of Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major)
12631	//    unless you include a wildcard (*Mary_Major).
12632	//
12633	//    * Fully qualified ARN: This option allows you to specify the fully qualified
12634	//    Amazon Resource Name (ARN) of the IAM user or role.
12635	//
12636	// For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers
12637	// (https://docs.aws.amazon.com/iam/latest/UserGuide/reference_identifiers.html)
12638	// in the IAM User Guide.
12639	//
12640	// ApprovalRuleContent is a required field
12641	ApprovalRuleContent *string `locationName:"approvalRuleContent" min:"1" type:"string" required:"true"`
12642
12643	// The name for the approval rule.
12644	//
12645	// ApprovalRuleName is a required field
12646	ApprovalRuleName *string `locationName:"approvalRuleName" min:"1" type:"string" required:"true"`
12647
12648	// The system-generated ID of the pull request for which you want to create
12649	// the approval rule.
12650	//
12651	// PullRequestId is a required field
12652	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
12653}
12654
12655// String returns the string representation
12656func (s CreatePullRequestApprovalRuleInput) String() string {
12657	return awsutil.Prettify(s)
12658}
12659
12660// GoString returns the string representation
12661func (s CreatePullRequestApprovalRuleInput) GoString() string {
12662	return s.String()
12663}
12664
12665// Validate inspects the fields of the type to determine if they are valid.
12666func (s *CreatePullRequestApprovalRuleInput) Validate() error {
12667	invalidParams := request.ErrInvalidParams{Context: "CreatePullRequestApprovalRuleInput"}
12668	if s.ApprovalRuleContent == nil {
12669		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleContent"))
12670	}
12671	if s.ApprovalRuleContent != nil && len(*s.ApprovalRuleContent) < 1 {
12672		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleContent", 1))
12673	}
12674	if s.ApprovalRuleName == nil {
12675		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleName"))
12676	}
12677	if s.ApprovalRuleName != nil && len(*s.ApprovalRuleName) < 1 {
12678		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleName", 1))
12679	}
12680	if s.PullRequestId == nil {
12681		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
12682	}
12683
12684	if invalidParams.Len() > 0 {
12685		return invalidParams
12686	}
12687	return nil
12688}
12689
12690// SetApprovalRuleContent sets the ApprovalRuleContent field's value.
12691func (s *CreatePullRequestApprovalRuleInput) SetApprovalRuleContent(v string) *CreatePullRequestApprovalRuleInput {
12692	s.ApprovalRuleContent = &v
12693	return s
12694}
12695
12696// SetApprovalRuleName sets the ApprovalRuleName field's value.
12697func (s *CreatePullRequestApprovalRuleInput) SetApprovalRuleName(v string) *CreatePullRequestApprovalRuleInput {
12698	s.ApprovalRuleName = &v
12699	return s
12700}
12701
12702// SetPullRequestId sets the PullRequestId field's value.
12703func (s *CreatePullRequestApprovalRuleInput) SetPullRequestId(v string) *CreatePullRequestApprovalRuleInput {
12704	s.PullRequestId = &v
12705	return s
12706}
12707
12708type CreatePullRequestApprovalRuleOutput struct {
12709	_ struct{} `type:"structure"`
12710
12711	// Information about the created approval rule.
12712	//
12713	// ApprovalRule is a required field
12714	ApprovalRule *ApprovalRule `locationName:"approvalRule" type:"structure" required:"true"`
12715}
12716
12717// String returns the string representation
12718func (s CreatePullRequestApprovalRuleOutput) String() string {
12719	return awsutil.Prettify(s)
12720}
12721
12722// GoString returns the string representation
12723func (s CreatePullRequestApprovalRuleOutput) GoString() string {
12724	return s.String()
12725}
12726
12727// SetApprovalRule sets the ApprovalRule field's value.
12728func (s *CreatePullRequestApprovalRuleOutput) SetApprovalRule(v *ApprovalRule) *CreatePullRequestApprovalRuleOutput {
12729	s.ApprovalRule = v
12730	return s
12731}
12732
12733type CreatePullRequestInput struct {
12734	_ struct{} `type:"structure"`
12735
12736	// A unique, client-generated idempotency token that, when provided in a request,
12737	// ensures the request cannot be repeated with a changed parameter. If a request
12738	// is received with the same parameters and a token is included, the request
12739	// returns information about the initial request that used that token.
12740	//
12741	// The AWS SDKs prepopulate client request tokens. If you are using an AWS SDK,
12742	// an idempotency token is created for you.
12743	ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"`
12744
12745	// A description of the pull request.
12746	Description *string `locationName:"description" type:"string"`
12747
12748	// The targets for the pull request, including the source of the code to be
12749	// reviewed (the source branch) and the destination where the creator of the
12750	// pull request intends the code to be merged after the pull request is closed
12751	// (the destination branch).
12752	//
12753	// Targets is a required field
12754	Targets []*Target `locationName:"targets" type:"list" required:"true"`
12755
12756	// The title of the pull request. This title is used to identify the pull request
12757	// to other users in the repository.
12758	//
12759	// Title is a required field
12760	Title *string `locationName:"title" type:"string" required:"true"`
12761}
12762
12763// String returns the string representation
12764func (s CreatePullRequestInput) String() string {
12765	return awsutil.Prettify(s)
12766}
12767
12768// GoString returns the string representation
12769func (s CreatePullRequestInput) GoString() string {
12770	return s.String()
12771}
12772
12773// Validate inspects the fields of the type to determine if they are valid.
12774func (s *CreatePullRequestInput) Validate() error {
12775	invalidParams := request.ErrInvalidParams{Context: "CreatePullRequestInput"}
12776	if s.Targets == nil {
12777		invalidParams.Add(request.NewErrParamRequired("Targets"))
12778	}
12779	if s.Title == nil {
12780		invalidParams.Add(request.NewErrParamRequired("Title"))
12781	}
12782	if s.Targets != nil {
12783		for i, v := range s.Targets {
12784			if v == nil {
12785				continue
12786			}
12787			if err := v.Validate(); err != nil {
12788				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Targets", i), err.(request.ErrInvalidParams))
12789			}
12790		}
12791	}
12792
12793	if invalidParams.Len() > 0 {
12794		return invalidParams
12795	}
12796	return nil
12797}
12798
12799// SetClientRequestToken sets the ClientRequestToken field's value.
12800func (s *CreatePullRequestInput) SetClientRequestToken(v string) *CreatePullRequestInput {
12801	s.ClientRequestToken = &v
12802	return s
12803}
12804
12805// SetDescription sets the Description field's value.
12806func (s *CreatePullRequestInput) SetDescription(v string) *CreatePullRequestInput {
12807	s.Description = &v
12808	return s
12809}
12810
12811// SetTargets sets the Targets field's value.
12812func (s *CreatePullRequestInput) SetTargets(v []*Target) *CreatePullRequestInput {
12813	s.Targets = v
12814	return s
12815}
12816
12817// SetTitle sets the Title field's value.
12818func (s *CreatePullRequestInput) SetTitle(v string) *CreatePullRequestInput {
12819	s.Title = &v
12820	return s
12821}
12822
12823type CreatePullRequestOutput struct {
12824	_ struct{} `type:"structure"`
12825
12826	// Information about the newly created pull request.
12827	//
12828	// PullRequest is a required field
12829	PullRequest *PullRequest `locationName:"pullRequest" type:"structure" required:"true"`
12830}
12831
12832// String returns the string representation
12833func (s CreatePullRequestOutput) String() string {
12834	return awsutil.Prettify(s)
12835}
12836
12837// GoString returns the string representation
12838func (s CreatePullRequestOutput) GoString() string {
12839	return s.String()
12840}
12841
12842// SetPullRequest sets the PullRequest field's value.
12843func (s *CreatePullRequestOutput) SetPullRequest(v *PullRequest) *CreatePullRequestOutput {
12844	s.PullRequest = v
12845	return s
12846}
12847
12848// Represents the input of a create repository operation.
12849type CreateRepositoryInput struct {
12850	_ struct{} `type:"structure"`
12851
12852	// A comment or description about the new repository.
12853	//
12854	// The description field for a repository accepts all HTML characters and all
12855	// valid Unicode characters. Applications that do not HTML-encode the description
12856	// and display it in a webpage can expose users to potentially malicious code.
12857	// Make sure that you HTML-encode the description field in any application that
12858	// uses this API to display the repository description on a webpage.
12859	RepositoryDescription *string `locationName:"repositoryDescription" type:"string"`
12860
12861	// The name of the new repository to be created.
12862	//
12863	// The repository name must be unique across the calling AWS account. Repository
12864	// names are limited to 100 alphanumeric, dash, and underscore characters, and
12865	// cannot include certain characters. For more information about the limits
12866	// on repository names, see Limits (https://docs.aws.amazon.com/codecommit/latest/userguide/limits.html)
12867	// in the AWS CodeCommit User Guide. The suffix .git is prohibited.
12868	//
12869	// RepositoryName is a required field
12870	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
12871
12872	// One or more tag key-value pairs to use when tagging this repository.
12873	Tags map[string]*string `locationName:"tags" type:"map"`
12874}
12875
12876// String returns the string representation
12877func (s CreateRepositoryInput) String() string {
12878	return awsutil.Prettify(s)
12879}
12880
12881// GoString returns the string representation
12882func (s CreateRepositoryInput) GoString() string {
12883	return s.String()
12884}
12885
12886// Validate inspects the fields of the type to determine if they are valid.
12887func (s *CreateRepositoryInput) Validate() error {
12888	invalidParams := request.ErrInvalidParams{Context: "CreateRepositoryInput"}
12889	if s.RepositoryName == nil {
12890		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
12891	}
12892	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
12893		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
12894	}
12895
12896	if invalidParams.Len() > 0 {
12897		return invalidParams
12898	}
12899	return nil
12900}
12901
12902// SetRepositoryDescription sets the RepositoryDescription field's value.
12903func (s *CreateRepositoryInput) SetRepositoryDescription(v string) *CreateRepositoryInput {
12904	s.RepositoryDescription = &v
12905	return s
12906}
12907
12908// SetRepositoryName sets the RepositoryName field's value.
12909func (s *CreateRepositoryInput) SetRepositoryName(v string) *CreateRepositoryInput {
12910	s.RepositoryName = &v
12911	return s
12912}
12913
12914// SetTags sets the Tags field's value.
12915func (s *CreateRepositoryInput) SetTags(v map[string]*string) *CreateRepositoryInput {
12916	s.Tags = v
12917	return s
12918}
12919
12920// Represents the output of a create repository operation.
12921type CreateRepositoryOutput struct {
12922	_ struct{} `type:"structure"`
12923
12924	// Information about the newly created repository.
12925	RepositoryMetadata *RepositoryMetadata `locationName:"repositoryMetadata" type:"structure"`
12926}
12927
12928// String returns the string representation
12929func (s CreateRepositoryOutput) String() string {
12930	return awsutil.Prettify(s)
12931}
12932
12933// GoString returns the string representation
12934func (s CreateRepositoryOutput) GoString() string {
12935	return s.String()
12936}
12937
12938// SetRepositoryMetadata sets the RepositoryMetadata field's value.
12939func (s *CreateRepositoryOutput) SetRepositoryMetadata(v *RepositoryMetadata) *CreateRepositoryOutput {
12940	s.RepositoryMetadata = v
12941	return s
12942}
12943
12944type CreateUnreferencedMergeCommitInput struct {
12945	_ struct{} `type:"structure"`
12946
12947	// The name of the author who created the unreferenced commit. This information
12948	// is used as both the author and committer for the commit.
12949	AuthorName *string `locationName:"authorName" type:"string"`
12950
12951	// The commit message for the unreferenced commit.
12952	CommitMessage *string `locationName:"commitMessage" type:"string"`
12953
12954	// The level of conflict detail to use. If unspecified, the default FILE_LEVEL
12955	// is used, which returns a not-mergeable result if the same file has differences
12956	// in both branches. If LINE_LEVEL is specified, a conflict is considered not
12957	// mergeable if the same file in both branches has differences on the same line.
12958	ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"`
12959
12960	// If AUTOMERGE is the conflict resolution strategy, a list of inputs to use
12961	// when resolving conflicts during a merge.
12962	ConflictResolution *ConflictResolution `locationName:"conflictResolution" type:"structure"`
12963
12964	// Specifies which branch to use when resolving conflicts, or whether to attempt
12965	// automatically merging two versions of a file. The default is NONE, which
12966	// requires any conflicts to be resolved manually before the merge operation
12967	// is successful.
12968	ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"`
12969
12970	// The branch, tag, HEAD, or other fully qualified reference used to identify
12971	// a commit (for example, a branch name or a full commit ID).
12972	//
12973	// DestinationCommitSpecifier is a required field
12974	DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"`
12975
12976	// The email address for the person who created the unreferenced commit.
12977	Email *string `locationName:"email" type:"string"`
12978
12979	// If the commit contains deletions, whether to keep a folder or folder structure
12980	// if the changes leave the folders empty. If this is specified as true, a .gitkeep
12981	// file is created for empty folders. The default is false.
12982	KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"`
12983
12984	// The merge option or strategy you want to use to merge the code.
12985	//
12986	// MergeOption is a required field
12987	MergeOption *string `locationName:"mergeOption" type:"string" required:"true" enum:"MergeOptionTypeEnum"`
12988
12989	// The name of the repository where you want to create the unreferenced merge
12990	// commit.
12991	//
12992	// RepositoryName is a required field
12993	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
12994
12995	// The branch, tag, HEAD, or other fully qualified reference used to identify
12996	// a commit (for example, a branch name or a full commit ID).
12997	//
12998	// SourceCommitSpecifier is a required field
12999	SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"`
13000}
13001
13002// String returns the string representation
13003func (s CreateUnreferencedMergeCommitInput) String() string {
13004	return awsutil.Prettify(s)
13005}
13006
13007// GoString returns the string representation
13008func (s CreateUnreferencedMergeCommitInput) GoString() string {
13009	return s.String()
13010}
13011
13012// Validate inspects the fields of the type to determine if they are valid.
13013func (s *CreateUnreferencedMergeCommitInput) Validate() error {
13014	invalidParams := request.ErrInvalidParams{Context: "CreateUnreferencedMergeCommitInput"}
13015	if s.DestinationCommitSpecifier == nil {
13016		invalidParams.Add(request.NewErrParamRequired("DestinationCommitSpecifier"))
13017	}
13018	if s.MergeOption == nil {
13019		invalidParams.Add(request.NewErrParamRequired("MergeOption"))
13020	}
13021	if s.RepositoryName == nil {
13022		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
13023	}
13024	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
13025		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
13026	}
13027	if s.SourceCommitSpecifier == nil {
13028		invalidParams.Add(request.NewErrParamRequired("SourceCommitSpecifier"))
13029	}
13030	if s.ConflictResolution != nil {
13031		if err := s.ConflictResolution.Validate(); err != nil {
13032			invalidParams.AddNested("ConflictResolution", err.(request.ErrInvalidParams))
13033		}
13034	}
13035
13036	if invalidParams.Len() > 0 {
13037		return invalidParams
13038	}
13039	return nil
13040}
13041
13042// SetAuthorName sets the AuthorName field's value.
13043func (s *CreateUnreferencedMergeCommitInput) SetAuthorName(v string) *CreateUnreferencedMergeCommitInput {
13044	s.AuthorName = &v
13045	return s
13046}
13047
13048// SetCommitMessage sets the CommitMessage field's value.
13049func (s *CreateUnreferencedMergeCommitInput) SetCommitMessage(v string) *CreateUnreferencedMergeCommitInput {
13050	s.CommitMessage = &v
13051	return s
13052}
13053
13054// SetConflictDetailLevel sets the ConflictDetailLevel field's value.
13055func (s *CreateUnreferencedMergeCommitInput) SetConflictDetailLevel(v string) *CreateUnreferencedMergeCommitInput {
13056	s.ConflictDetailLevel = &v
13057	return s
13058}
13059
13060// SetConflictResolution sets the ConflictResolution field's value.
13061func (s *CreateUnreferencedMergeCommitInput) SetConflictResolution(v *ConflictResolution) *CreateUnreferencedMergeCommitInput {
13062	s.ConflictResolution = v
13063	return s
13064}
13065
13066// SetConflictResolutionStrategy sets the ConflictResolutionStrategy field's value.
13067func (s *CreateUnreferencedMergeCommitInput) SetConflictResolutionStrategy(v string) *CreateUnreferencedMergeCommitInput {
13068	s.ConflictResolutionStrategy = &v
13069	return s
13070}
13071
13072// SetDestinationCommitSpecifier sets the DestinationCommitSpecifier field's value.
13073func (s *CreateUnreferencedMergeCommitInput) SetDestinationCommitSpecifier(v string) *CreateUnreferencedMergeCommitInput {
13074	s.DestinationCommitSpecifier = &v
13075	return s
13076}
13077
13078// SetEmail sets the Email field's value.
13079func (s *CreateUnreferencedMergeCommitInput) SetEmail(v string) *CreateUnreferencedMergeCommitInput {
13080	s.Email = &v
13081	return s
13082}
13083
13084// SetKeepEmptyFolders sets the KeepEmptyFolders field's value.
13085func (s *CreateUnreferencedMergeCommitInput) SetKeepEmptyFolders(v bool) *CreateUnreferencedMergeCommitInput {
13086	s.KeepEmptyFolders = &v
13087	return s
13088}
13089
13090// SetMergeOption sets the MergeOption field's value.
13091func (s *CreateUnreferencedMergeCommitInput) SetMergeOption(v string) *CreateUnreferencedMergeCommitInput {
13092	s.MergeOption = &v
13093	return s
13094}
13095
13096// SetRepositoryName sets the RepositoryName field's value.
13097func (s *CreateUnreferencedMergeCommitInput) SetRepositoryName(v string) *CreateUnreferencedMergeCommitInput {
13098	s.RepositoryName = &v
13099	return s
13100}
13101
13102// SetSourceCommitSpecifier sets the SourceCommitSpecifier field's value.
13103func (s *CreateUnreferencedMergeCommitInput) SetSourceCommitSpecifier(v string) *CreateUnreferencedMergeCommitInput {
13104	s.SourceCommitSpecifier = &v
13105	return s
13106}
13107
13108type CreateUnreferencedMergeCommitOutput struct {
13109	_ struct{} `type:"structure"`
13110
13111	// The full commit ID of the commit that contains your merge results.
13112	CommitId *string `locationName:"commitId" type:"string"`
13113
13114	// The full SHA-1 pointer of the tree information for the commit that contains
13115	// the merge results.
13116	TreeId *string `locationName:"treeId" type:"string"`
13117}
13118
13119// String returns the string representation
13120func (s CreateUnreferencedMergeCommitOutput) String() string {
13121	return awsutil.Prettify(s)
13122}
13123
13124// GoString returns the string representation
13125func (s CreateUnreferencedMergeCommitOutput) GoString() string {
13126	return s.String()
13127}
13128
13129// SetCommitId sets the CommitId field's value.
13130func (s *CreateUnreferencedMergeCommitOutput) SetCommitId(v string) *CreateUnreferencedMergeCommitOutput {
13131	s.CommitId = &v
13132	return s
13133}
13134
13135// SetTreeId sets the TreeId field's value.
13136func (s *CreateUnreferencedMergeCommitOutput) SetTreeId(v string) *CreateUnreferencedMergeCommitOutput {
13137	s.TreeId = &v
13138	return s
13139}
13140
13141type DeleteApprovalRuleTemplateInput struct {
13142	_ struct{} `type:"structure"`
13143
13144	// The name of the approval rule template to delete.
13145	//
13146	// ApprovalRuleTemplateName is a required field
13147	ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"`
13148}
13149
13150// String returns the string representation
13151func (s DeleteApprovalRuleTemplateInput) String() string {
13152	return awsutil.Prettify(s)
13153}
13154
13155// GoString returns the string representation
13156func (s DeleteApprovalRuleTemplateInput) GoString() string {
13157	return s.String()
13158}
13159
13160// Validate inspects the fields of the type to determine if they are valid.
13161func (s *DeleteApprovalRuleTemplateInput) Validate() error {
13162	invalidParams := request.ErrInvalidParams{Context: "DeleteApprovalRuleTemplateInput"}
13163	if s.ApprovalRuleTemplateName == nil {
13164		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName"))
13165	}
13166	if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 {
13167		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1))
13168	}
13169
13170	if invalidParams.Len() > 0 {
13171		return invalidParams
13172	}
13173	return nil
13174}
13175
13176// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value.
13177func (s *DeleteApprovalRuleTemplateInput) SetApprovalRuleTemplateName(v string) *DeleteApprovalRuleTemplateInput {
13178	s.ApprovalRuleTemplateName = &v
13179	return s
13180}
13181
13182type DeleteApprovalRuleTemplateOutput struct {
13183	_ struct{} `type:"structure"`
13184
13185	// The system-generated ID of the deleted approval rule template. If the template
13186	// has been previously deleted, the only response is a 200 OK.
13187	//
13188	// ApprovalRuleTemplateId is a required field
13189	ApprovalRuleTemplateId *string `locationName:"approvalRuleTemplateId" type:"string" required:"true"`
13190}
13191
13192// String returns the string representation
13193func (s DeleteApprovalRuleTemplateOutput) String() string {
13194	return awsutil.Prettify(s)
13195}
13196
13197// GoString returns the string representation
13198func (s DeleteApprovalRuleTemplateOutput) GoString() string {
13199	return s.String()
13200}
13201
13202// SetApprovalRuleTemplateId sets the ApprovalRuleTemplateId field's value.
13203func (s *DeleteApprovalRuleTemplateOutput) SetApprovalRuleTemplateId(v string) *DeleteApprovalRuleTemplateOutput {
13204	s.ApprovalRuleTemplateId = &v
13205	return s
13206}
13207
13208// Represents the input of a delete branch operation.
13209type DeleteBranchInput struct {
13210	_ struct{} `type:"structure"`
13211
13212	// The name of the branch to delete.
13213	//
13214	// BranchName is a required field
13215	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
13216
13217	// The name of the repository that contains the branch to be deleted.
13218	//
13219	// RepositoryName is a required field
13220	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
13221}
13222
13223// String returns the string representation
13224func (s DeleteBranchInput) String() string {
13225	return awsutil.Prettify(s)
13226}
13227
13228// GoString returns the string representation
13229func (s DeleteBranchInput) GoString() string {
13230	return s.String()
13231}
13232
13233// Validate inspects the fields of the type to determine if they are valid.
13234func (s *DeleteBranchInput) Validate() error {
13235	invalidParams := request.ErrInvalidParams{Context: "DeleteBranchInput"}
13236	if s.BranchName == nil {
13237		invalidParams.Add(request.NewErrParamRequired("BranchName"))
13238	}
13239	if s.BranchName != nil && len(*s.BranchName) < 1 {
13240		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
13241	}
13242	if s.RepositoryName == nil {
13243		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
13244	}
13245	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
13246		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
13247	}
13248
13249	if invalidParams.Len() > 0 {
13250		return invalidParams
13251	}
13252	return nil
13253}
13254
13255// SetBranchName sets the BranchName field's value.
13256func (s *DeleteBranchInput) SetBranchName(v string) *DeleteBranchInput {
13257	s.BranchName = &v
13258	return s
13259}
13260
13261// SetRepositoryName sets the RepositoryName field's value.
13262func (s *DeleteBranchInput) SetRepositoryName(v string) *DeleteBranchInput {
13263	s.RepositoryName = &v
13264	return s
13265}
13266
13267// Represents the output of a delete branch operation.
13268type DeleteBranchOutput struct {
13269	_ struct{} `type:"structure"`
13270
13271	// Information about the branch deleted by the operation, including the branch
13272	// name and the commit ID that was the tip of the branch.
13273	DeletedBranch *BranchInfo `locationName:"deletedBranch" type:"structure"`
13274}
13275
13276// String returns the string representation
13277func (s DeleteBranchOutput) String() string {
13278	return awsutil.Prettify(s)
13279}
13280
13281// GoString returns the string representation
13282func (s DeleteBranchOutput) GoString() string {
13283	return s.String()
13284}
13285
13286// SetDeletedBranch sets the DeletedBranch field's value.
13287func (s *DeleteBranchOutput) SetDeletedBranch(v *BranchInfo) *DeleteBranchOutput {
13288	s.DeletedBranch = v
13289	return s
13290}
13291
13292type DeleteCommentContentInput struct {
13293	_ struct{} `type:"structure"`
13294
13295	// The unique, system-generated ID of the comment. To get this ID, use GetCommentsForComparedCommit
13296	// or GetCommentsForPullRequest.
13297	//
13298	// CommentId is a required field
13299	CommentId *string `locationName:"commentId" type:"string" required:"true"`
13300}
13301
13302// String returns the string representation
13303func (s DeleteCommentContentInput) String() string {
13304	return awsutil.Prettify(s)
13305}
13306
13307// GoString returns the string representation
13308func (s DeleteCommentContentInput) GoString() string {
13309	return s.String()
13310}
13311
13312// Validate inspects the fields of the type to determine if they are valid.
13313func (s *DeleteCommentContentInput) Validate() error {
13314	invalidParams := request.ErrInvalidParams{Context: "DeleteCommentContentInput"}
13315	if s.CommentId == nil {
13316		invalidParams.Add(request.NewErrParamRequired("CommentId"))
13317	}
13318
13319	if invalidParams.Len() > 0 {
13320		return invalidParams
13321	}
13322	return nil
13323}
13324
13325// SetCommentId sets the CommentId field's value.
13326func (s *DeleteCommentContentInput) SetCommentId(v string) *DeleteCommentContentInput {
13327	s.CommentId = &v
13328	return s
13329}
13330
13331type DeleteCommentContentOutput struct {
13332	_ struct{} `type:"structure"`
13333
13334	// Information about the comment you just deleted.
13335	Comment *Comment `locationName:"comment" type:"structure"`
13336}
13337
13338// String returns the string representation
13339func (s DeleteCommentContentOutput) String() string {
13340	return awsutil.Prettify(s)
13341}
13342
13343// GoString returns the string representation
13344func (s DeleteCommentContentOutput) GoString() string {
13345	return s.String()
13346}
13347
13348// SetComment sets the Comment field's value.
13349func (s *DeleteCommentContentOutput) SetComment(v *Comment) *DeleteCommentContentOutput {
13350	s.Comment = v
13351	return s
13352}
13353
13354// A file that is deleted as part of a commit.
13355type DeleteFileEntry struct {
13356	_ struct{} `type:"structure"`
13357
13358	// The full path of the file to be deleted, including the name of the file.
13359	//
13360	// FilePath is a required field
13361	FilePath *string `locationName:"filePath" type:"string" required:"true"`
13362}
13363
13364// String returns the string representation
13365func (s DeleteFileEntry) String() string {
13366	return awsutil.Prettify(s)
13367}
13368
13369// GoString returns the string representation
13370func (s DeleteFileEntry) GoString() string {
13371	return s.String()
13372}
13373
13374// Validate inspects the fields of the type to determine if they are valid.
13375func (s *DeleteFileEntry) Validate() error {
13376	invalidParams := request.ErrInvalidParams{Context: "DeleteFileEntry"}
13377	if s.FilePath == nil {
13378		invalidParams.Add(request.NewErrParamRequired("FilePath"))
13379	}
13380
13381	if invalidParams.Len() > 0 {
13382		return invalidParams
13383	}
13384	return nil
13385}
13386
13387// SetFilePath sets the FilePath field's value.
13388func (s *DeleteFileEntry) SetFilePath(v string) *DeleteFileEntry {
13389	s.FilePath = &v
13390	return s
13391}
13392
13393type DeleteFileInput struct {
13394	_ struct{} `type:"structure"`
13395
13396	// The name of the branch where the commit that deletes the file is made.
13397	//
13398	// BranchName is a required field
13399	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
13400
13401	// The commit message you want to include as part of deleting the file. Commit
13402	// messages are limited to 256 KB. If no message is specified, a default message
13403	// is used.
13404	CommitMessage *string `locationName:"commitMessage" type:"string"`
13405
13406	// The email address for the commit that deletes the file. If no email address
13407	// is specified, the email address is left blank.
13408	Email *string `locationName:"email" type:"string"`
13409
13410	// The fully qualified path to the file that to be deleted, including the full
13411	// name and extension of that file. For example, /examples/file.md is a fully
13412	// qualified path to a file named file.md in a folder named examples.
13413	//
13414	// FilePath is a required field
13415	FilePath *string `locationName:"filePath" type:"string" required:"true"`
13416
13417	// If a file is the only object in the folder or directory, specifies whether
13418	// to delete the folder or directory that contains the file. By default, empty
13419	// folders are deleted. This includes empty folders that are part of the directory
13420	// structure. For example, if the path to a file is dir1/dir2/dir3/dir4, and
13421	// dir2 and dir3 are empty, deleting the last file in dir4 also deletes the
13422	// empty folders dir4, dir3, and dir2.
13423	KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"`
13424
13425	// The name of the author of the commit that deletes the file. If no name is
13426	// specified, the user's ARN is used as the author name and committer name.
13427	Name *string `locationName:"name" type:"string"`
13428
13429	// The ID of the commit that is the tip of the branch where you want to create
13430	// the commit that deletes the file. This must be the HEAD commit for the branch.
13431	// The commit that deletes the file is created from this commit ID.
13432	//
13433	// ParentCommitId is a required field
13434	ParentCommitId *string `locationName:"parentCommitId" type:"string" required:"true"`
13435
13436	// The name of the repository that contains the file to delete.
13437	//
13438	// RepositoryName is a required field
13439	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
13440}
13441
13442// String returns the string representation
13443func (s DeleteFileInput) String() string {
13444	return awsutil.Prettify(s)
13445}
13446
13447// GoString returns the string representation
13448func (s DeleteFileInput) GoString() string {
13449	return s.String()
13450}
13451
13452// Validate inspects the fields of the type to determine if they are valid.
13453func (s *DeleteFileInput) Validate() error {
13454	invalidParams := request.ErrInvalidParams{Context: "DeleteFileInput"}
13455	if s.BranchName == nil {
13456		invalidParams.Add(request.NewErrParamRequired("BranchName"))
13457	}
13458	if s.BranchName != nil && len(*s.BranchName) < 1 {
13459		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
13460	}
13461	if s.FilePath == nil {
13462		invalidParams.Add(request.NewErrParamRequired("FilePath"))
13463	}
13464	if s.ParentCommitId == nil {
13465		invalidParams.Add(request.NewErrParamRequired("ParentCommitId"))
13466	}
13467	if s.RepositoryName == nil {
13468		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
13469	}
13470	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
13471		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
13472	}
13473
13474	if invalidParams.Len() > 0 {
13475		return invalidParams
13476	}
13477	return nil
13478}
13479
13480// SetBranchName sets the BranchName field's value.
13481func (s *DeleteFileInput) SetBranchName(v string) *DeleteFileInput {
13482	s.BranchName = &v
13483	return s
13484}
13485
13486// SetCommitMessage sets the CommitMessage field's value.
13487func (s *DeleteFileInput) SetCommitMessage(v string) *DeleteFileInput {
13488	s.CommitMessage = &v
13489	return s
13490}
13491
13492// SetEmail sets the Email field's value.
13493func (s *DeleteFileInput) SetEmail(v string) *DeleteFileInput {
13494	s.Email = &v
13495	return s
13496}
13497
13498// SetFilePath sets the FilePath field's value.
13499func (s *DeleteFileInput) SetFilePath(v string) *DeleteFileInput {
13500	s.FilePath = &v
13501	return s
13502}
13503
13504// SetKeepEmptyFolders sets the KeepEmptyFolders field's value.
13505func (s *DeleteFileInput) SetKeepEmptyFolders(v bool) *DeleteFileInput {
13506	s.KeepEmptyFolders = &v
13507	return s
13508}
13509
13510// SetName sets the Name field's value.
13511func (s *DeleteFileInput) SetName(v string) *DeleteFileInput {
13512	s.Name = &v
13513	return s
13514}
13515
13516// SetParentCommitId sets the ParentCommitId field's value.
13517func (s *DeleteFileInput) SetParentCommitId(v string) *DeleteFileInput {
13518	s.ParentCommitId = &v
13519	return s
13520}
13521
13522// SetRepositoryName sets the RepositoryName field's value.
13523func (s *DeleteFileInput) SetRepositoryName(v string) *DeleteFileInput {
13524	s.RepositoryName = &v
13525	return s
13526}
13527
13528type DeleteFileOutput struct {
13529	_ struct{} `type:"structure"`
13530
13531	// The blob ID removed from the tree as part of deleting the file.
13532	//
13533	// BlobId is a required field
13534	BlobId *string `locationName:"blobId" type:"string" required:"true"`
13535
13536	// The full commit ID of the commit that contains the change that deletes the
13537	// file.
13538	//
13539	// CommitId is a required field
13540	CommitId *string `locationName:"commitId" type:"string" required:"true"`
13541
13542	// The fully qualified path to the file to be deleted, including the full name
13543	// and extension of that file.
13544	//
13545	// FilePath is a required field
13546	FilePath *string `locationName:"filePath" type:"string" required:"true"`
13547
13548	// The full SHA-1 pointer of the tree information for the commit that contains
13549	// the delete file change.
13550	//
13551	// TreeId is a required field
13552	TreeId *string `locationName:"treeId" type:"string" required:"true"`
13553}
13554
13555// String returns the string representation
13556func (s DeleteFileOutput) String() string {
13557	return awsutil.Prettify(s)
13558}
13559
13560// GoString returns the string representation
13561func (s DeleteFileOutput) GoString() string {
13562	return s.String()
13563}
13564
13565// SetBlobId sets the BlobId field's value.
13566func (s *DeleteFileOutput) SetBlobId(v string) *DeleteFileOutput {
13567	s.BlobId = &v
13568	return s
13569}
13570
13571// SetCommitId sets the CommitId field's value.
13572func (s *DeleteFileOutput) SetCommitId(v string) *DeleteFileOutput {
13573	s.CommitId = &v
13574	return s
13575}
13576
13577// SetFilePath sets the FilePath field's value.
13578func (s *DeleteFileOutput) SetFilePath(v string) *DeleteFileOutput {
13579	s.FilePath = &v
13580	return s
13581}
13582
13583// SetTreeId sets the TreeId field's value.
13584func (s *DeleteFileOutput) SetTreeId(v string) *DeleteFileOutput {
13585	s.TreeId = &v
13586	return s
13587}
13588
13589type DeletePullRequestApprovalRuleInput struct {
13590	_ struct{} `type:"structure"`
13591
13592	// The name of the approval rule you want to delete.
13593	//
13594	// ApprovalRuleName is a required field
13595	ApprovalRuleName *string `locationName:"approvalRuleName" min:"1" type:"string" required:"true"`
13596
13597	// The system-generated ID of the pull request that contains the approval rule
13598	// you want to delete.
13599	//
13600	// PullRequestId is a required field
13601	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
13602}
13603
13604// String returns the string representation
13605func (s DeletePullRequestApprovalRuleInput) String() string {
13606	return awsutil.Prettify(s)
13607}
13608
13609// GoString returns the string representation
13610func (s DeletePullRequestApprovalRuleInput) GoString() string {
13611	return s.String()
13612}
13613
13614// Validate inspects the fields of the type to determine if they are valid.
13615func (s *DeletePullRequestApprovalRuleInput) Validate() error {
13616	invalidParams := request.ErrInvalidParams{Context: "DeletePullRequestApprovalRuleInput"}
13617	if s.ApprovalRuleName == nil {
13618		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleName"))
13619	}
13620	if s.ApprovalRuleName != nil && len(*s.ApprovalRuleName) < 1 {
13621		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleName", 1))
13622	}
13623	if s.PullRequestId == nil {
13624		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
13625	}
13626
13627	if invalidParams.Len() > 0 {
13628		return invalidParams
13629	}
13630	return nil
13631}
13632
13633// SetApprovalRuleName sets the ApprovalRuleName field's value.
13634func (s *DeletePullRequestApprovalRuleInput) SetApprovalRuleName(v string) *DeletePullRequestApprovalRuleInput {
13635	s.ApprovalRuleName = &v
13636	return s
13637}
13638
13639// SetPullRequestId sets the PullRequestId field's value.
13640func (s *DeletePullRequestApprovalRuleInput) SetPullRequestId(v string) *DeletePullRequestApprovalRuleInput {
13641	s.PullRequestId = &v
13642	return s
13643}
13644
13645type DeletePullRequestApprovalRuleOutput struct {
13646	_ struct{} `type:"structure"`
13647
13648	// The ID of the deleted approval rule.
13649	//
13650	// If the approval rule was deleted in an earlier API call, the response is
13651	// 200 OK without content.
13652	//
13653	// ApprovalRuleId is a required field
13654	ApprovalRuleId *string `locationName:"approvalRuleId" type:"string" required:"true"`
13655}
13656
13657// String returns the string representation
13658func (s DeletePullRequestApprovalRuleOutput) String() string {
13659	return awsutil.Prettify(s)
13660}
13661
13662// GoString returns the string representation
13663func (s DeletePullRequestApprovalRuleOutput) GoString() string {
13664	return s.String()
13665}
13666
13667// SetApprovalRuleId sets the ApprovalRuleId field's value.
13668func (s *DeletePullRequestApprovalRuleOutput) SetApprovalRuleId(v string) *DeletePullRequestApprovalRuleOutput {
13669	s.ApprovalRuleId = &v
13670	return s
13671}
13672
13673// Represents the input of a delete repository operation.
13674type DeleteRepositoryInput struct {
13675	_ struct{} `type:"structure"`
13676
13677	// The name of the repository to delete.
13678	//
13679	// RepositoryName is a required field
13680	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
13681}
13682
13683// String returns the string representation
13684func (s DeleteRepositoryInput) String() string {
13685	return awsutil.Prettify(s)
13686}
13687
13688// GoString returns the string representation
13689func (s DeleteRepositoryInput) GoString() string {
13690	return s.String()
13691}
13692
13693// Validate inspects the fields of the type to determine if they are valid.
13694func (s *DeleteRepositoryInput) Validate() error {
13695	invalidParams := request.ErrInvalidParams{Context: "DeleteRepositoryInput"}
13696	if s.RepositoryName == nil {
13697		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
13698	}
13699	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
13700		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
13701	}
13702
13703	if invalidParams.Len() > 0 {
13704		return invalidParams
13705	}
13706	return nil
13707}
13708
13709// SetRepositoryName sets the RepositoryName field's value.
13710func (s *DeleteRepositoryInput) SetRepositoryName(v string) *DeleteRepositoryInput {
13711	s.RepositoryName = &v
13712	return s
13713}
13714
13715// Represents the output of a delete repository operation.
13716type DeleteRepositoryOutput struct {
13717	_ struct{} `type:"structure"`
13718
13719	// The ID of the repository that was deleted.
13720	RepositoryId *string `locationName:"repositoryId" type:"string"`
13721}
13722
13723// String returns the string representation
13724func (s DeleteRepositoryOutput) String() string {
13725	return awsutil.Prettify(s)
13726}
13727
13728// GoString returns the string representation
13729func (s DeleteRepositoryOutput) GoString() string {
13730	return s.String()
13731}
13732
13733// SetRepositoryId sets the RepositoryId field's value.
13734func (s *DeleteRepositoryOutput) SetRepositoryId(v string) *DeleteRepositoryOutput {
13735	s.RepositoryId = &v
13736	return s
13737}
13738
13739type DescribeMergeConflictsInput struct {
13740	_ struct{} `type:"structure"`
13741
13742	// The level of conflict detail to use. If unspecified, the default FILE_LEVEL
13743	// is used, which returns a not-mergeable result if the same file has differences
13744	// in both branches. If LINE_LEVEL is specified, a conflict is considered not
13745	// mergeable if the same file in both branches has differences on the same line.
13746	ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"`
13747
13748	// Specifies which branch to use when resolving conflicts, or whether to attempt
13749	// automatically merging two versions of a file. The default is NONE, which
13750	// requires any conflicts to be resolved manually before the merge operation
13751	// is successful.
13752	ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"`
13753
13754	// The branch, tag, HEAD, or other fully qualified reference used to identify
13755	// a commit (for example, a branch name or a full commit ID).
13756	//
13757	// DestinationCommitSpecifier is a required field
13758	DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"`
13759
13760	// The path of the target files used to describe the conflicts.
13761	//
13762	// FilePath is a required field
13763	FilePath *string `locationName:"filePath" type:"string" required:"true"`
13764
13765	// The maximum number of merge hunks to include in the output.
13766	MaxMergeHunks *int64 `locationName:"maxMergeHunks" type:"integer"`
13767
13768	// The merge option or strategy you want to use to merge the code.
13769	//
13770	// MergeOption is a required field
13771	MergeOption *string `locationName:"mergeOption" type:"string" required:"true" enum:"MergeOptionTypeEnum"`
13772
13773	// An enumeration token that, when provided in a request, returns the next batch
13774	// of the results.
13775	NextToken *string `locationName:"nextToken" type:"string"`
13776
13777	// The name of the repository where you want to get information about a merge
13778	// conflict.
13779	//
13780	// RepositoryName is a required field
13781	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
13782
13783	// The branch, tag, HEAD, or other fully qualified reference used to identify
13784	// a commit (for example, a branch name or a full commit ID).
13785	//
13786	// SourceCommitSpecifier is a required field
13787	SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"`
13788}
13789
13790// String returns the string representation
13791func (s DescribeMergeConflictsInput) String() string {
13792	return awsutil.Prettify(s)
13793}
13794
13795// GoString returns the string representation
13796func (s DescribeMergeConflictsInput) GoString() string {
13797	return s.String()
13798}
13799
13800// Validate inspects the fields of the type to determine if they are valid.
13801func (s *DescribeMergeConflictsInput) Validate() error {
13802	invalidParams := request.ErrInvalidParams{Context: "DescribeMergeConflictsInput"}
13803	if s.DestinationCommitSpecifier == nil {
13804		invalidParams.Add(request.NewErrParamRequired("DestinationCommitSpecifier"))
13805	}
13806	if s.FilePath == nil {
13807		invalidParams.Add(request.NewErrParamRequired("FilePath"))
13808	}
13809	if s.MergeOption == nil {
13810		invalidParams.Add(request.NewErrParamRequired("MergeOption"))
13811	}
13812	if s.RepositoryName == nil {
13813		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
13814	}
13815	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
13816		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
13817	}
13818	if s.SourceCommitSpecifier == nil {
13819		invalidParams.Add(request.NewErrParamRequired("SourceCommitSpecifier"))
13820	}
13821
13822	if invalidParams.Len() > 0 {
13823		return invalidParams
13824	}
13825	return nil
13826}
13827
13828// SetConflictDetailLevel sets the ConflictDetailLevel field's value.
13829func (s *DescribeMergeConflictsInput) SetConflictDetailLevel(v string) *DescribeMergeConflictsInput {
13830	s.ConflictDetailLevel = &v
13831	return s
13832}
13833
13834// SetConflictResolutionStrategy sets the ConflictResolutionStrategy field's value.
13835func (s *DescribeMergeConflictsInput) SetConflictResolutionStrategy(v string) *DescribeMergeConflictsInput {
13836	s.ConflictResolutionStrategy = &v
13837	return s
13838}
13839
13840// SetDestinationCommitSpecifier sets the DestinationCommitSpecifier field's value.
13841func (s *DescribeMergeConflictsInput) SetDestinationCommitSpecifier(v string) *DescribeMergeConflictsInput {
13842	s.DestinationCommitSpecifier = &v
13843	return s
13844}
13845
13846// SetFilePath sets the FilePath field's value.
13847func (s *DescribeMergeConflictsInput) SetFilePath(v string) *DescribeMergeConflictsInput {
13848	s.FilePath = &v
13849	return s
13850}
13851
13852// SetMaxMergeHunks sets the MaxMergeHunks field's value.
13853func (s *DescribeMergeConflictsInput) SetMaxMergeHunks(v int64) *DescribeMergeConflictsInput {
13854	s.MaxMergeHunks = &v
13855	return s
13856}
13857
13858// SetMergeOption sets the MergeOption field's value.
13859func (s *DescribeMergeConflictsInput) SetMergeOption(v string) *DescribeMergeConflictsInput {
13860	s.MergeOption = &v
13861	return s
13862}
13863
13864// SetNextToken sets the NextToken field's value.
13865func (s *DescribeMergeConflictsInput) SetNextToken(v string) *DescribeMergeConflictsInput {
13866	s.NextToken = &v
13867	return s
13868}
13869
13870// SetRepositoryName sets the RepositoryName field's value.
13871func (s *DescribeMergeConflictsInput) SetRepositoryName(v string) *DescribeMergeConflictsInput {
13872	s.RepositoryName = &v
13873	return s
13874}
13875
13876// SetSourceCommitSpecifier sets the SourceCommitSpecifier field's value.
13877func (s *DescribeMergeConflictsInput) SetSourceCommitSpecifier(v string) *DescribeMergeConflictsInput {
13878	s.SourceCommitSpecifier = &v
13879	return s
13880}
13881
13882type DescribeMergeConflictsOutput struct {
13883	_ struct{} `type:"structure"`
13884
13885	// The commit ID of the merge base.
13886	BaseCommitId *string `locationName:"baseCommitId" type:"string"`
13887
13888	// Contains metadata about the conflicts found in the merge.
13889	//
13890	// ConflictMetadata is a required field
13891	ConflictMetadata *ConflictMetadata `locationName:"conflictMetadata" type:"structure" required:"true"`
13892
13893	// The commit ID of the destination commit specifier that was used in the merge
13894	// evaluation.
13895	//
13896	// DestinationCommitId is a required field
13897	DestinationCommitId *string `locationName:"destinationCommitId" type:"string" required:"true"`
13898
13899	// A list of merge hunks of the differences between the files or lines.
13900	//
13901	// MergeHunks is a required field
13902	MergeHunks []*MergeHunk `locationName:"mergeHunks" type:"list" required:"true"`
13903
13904	// An enumeration token that can be used in a request to return the next batch
13905	// of the results.
13906	NextToken *string `locationName:"nextToken" type:"string"`
13907
13908	// The commit ID of the source commit specifier that was used in the merge evaluation.
13909	//
13910	// SourceCommitId is a required field
13911	SourceCommitId *string `locationName:"sourceCommitId" type:"string" required:"true"`
13912}
13913
13914// String returns the string representation
13915func (s DescribeMergeConflictsOutput) String() string {
13916	return awsutil.Prettify(s)
13917}
13918
13919// GoString returns the string representation
13920func (s DescribeMergeConflictsOutput) GoString() string {
13921	return s.String()
13922}
13923
13924// SetBaseCommitId sets the BaseCommitId field's value.
13925func (s *DescribeMergeConflictsOutput) SetBaseCommitId(v string) *DescribeMergeConflictsOutput {
13926	s.BaseCommitId = &v
13927	return s
13928}
13929
13930// SetConflictMetadata sets the ConflictMetadata field's value.
13931func (s *DescribeMergeConflictsOutput) SetConflictMetadata(v *ConflictMetadata) *DescribeMergeConflictsOutput {
13932	s.ConflictMetadata = v
13933	return s
13934}
13935
13936// SetDestinationCommitId sets the DestinationCommitId field's value.
13937func (s *DescribeMergeConflictsOutput) SetDestinationCommitId(v string) *DescribeMergeConflictsOutput {
13938	s.DestinationCommitId = &v
13939	return s
13940}
13941
13942// SetMergeHunks sets the MergeHunks field's value.
13943func (s *DescribeMergeConflictsOutput) SetMergeHunks(v []*MergeHunk) *DescribeMergeConflictsOutput {
13944	s.MergeHunks = v
13945	return s
13946}
13947
13948// SetNextToken sets the NextToken field's value.
13949func (s *DescribeMergeConflictsOutput) SetNextToken(v string) *DescribeMergeConflictsOutput {
13950	s.NextToken = &v
13951	return s
13952}
13953
13954// SetSourceCommitId sets the SourceCommitId field's value.
13955func (s *DescribeMergeConflictsOutput) SetSourceCommitId(v string) *DescribeMergeConflictsOutput {
13956	s.SourceCommitId = &v
13957	return s
13958}
13959
13960type DescribePullRequestEventsInput struct {
13961	_ struct{} `type:"structure"`
13962
13963	// The Amazon Resource Name (ARN) of the user whose actions resulted in the
13964	// event. Examples include updating the pull request with more commits or changing
13965	// the status of a pull request.
13966	ActorArn *string `locationName:"actorArn" type:"string"`
13967
13968	// A non-zero, non-negative integer used to limit the number of returned results.
13969	// The default is 100 events, which is also the maximum number of events that
13970	// can be returned in a result.
13971	MaxResults *int64 `locationName:"maxResults" type:"integer"`
13972
13973	// An enumeration token that, when provided in a request, returns the next batch
13974	// of the results.
13975	NextToken *string `locationName:"nextToken" type:"string"`
13976
13977	// Optional. The pull request event type about which you want to return information.
13978	PullRequestEventType *string `locationName:"pullRequestEventType" type:"string" enum:"PullRequestEventType"`
13979
13980	// The system-generated ID of the pull request. To get this ID, use ListPullRequests.
13981	//
13982	// PullRequestId is a required field
13983	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
13984}
13985
13986// String returns the string representation
13987func (s DescribePullRequestEventsInput) String() string {
13988	return awsutil.Prettify(s)
13989}
13990
13991// GoString returns the string representation
13992func (s DescribePullRequestEventsInput) GoString() string {
13993	return s.String()
13994}
13995
13996// Validate inspects the fields of the type to determine if they are valid.
13997func (s *DescribePullRequestEventsInput) Validate() error {
13998	invalidParams := request.ErrInvalidParams{Context: "DescribePullRequestEventsInput"}
13999	if s.PullRequestId == nil {
14000		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
14001	}
14002
14003	if invalidParams.Len() > 0 {
14004		return invalidParams
14005	}
14006	return nil
14007}
14008
14009// SetActorArn sets the ActorArn field's value.
14010func (s *DescribePullRequestEventsInput) SetActorArn(v string) *DescribePullRequestEventsInput {
14011	s.ActorArn = &v
14012	return s
14013}
14014
14015// SetMaxResults sets the MaxResults field's value.
14016func (s *DescribePullRequestEventsInput) SetMaxResults(v int64) *DescribePullRequestEventsInput {
14017	s.MaxResults = &v
14018	return s
14019}
14020
14021// SetNextToken sets the NextToken field's value.
14022func (s *DescribePullRequestEventsInput) SetNextToken(v string) *DescribePullRequestEventsInput {
14023	s.NextToken = &v
14024	return s
14025}
14026
14027// SetPullRequestEventType sets the PullRequestEventType field's value.
14028func (s *DescribePullRequestEventsInput) SetPullRequestEventType(v string) *DescribePullRequestEventsInput {
14029	s.PullRequestEventType = &v
14030	return s
14031}
14032
14033// SetPullRequestId sets the PullRequestId field's value.
14034func (s *DescribePullRequestEventsInput) SetPullRequestId(v string) *DescribePullRequestEventsInput {
14035	s.PullRequestId = &v
14036	return s
14037}
14038
14039type DescribePullRequestEventsOutput struct {
14040	_ struct{} `type:"structure"`
14041
14042	// An enumeration token that can be used in a request to return the next batch
14043	// of the results.
14044	NextToken *string `locationName:"nextToken" type:"string"`
14045
14046	// Information about the pull request events.
14047	//
14048	// PullRequestEvents is a required field
14049	PullRequestEvents []*PullRequestEvent `locationName:"pullRequestEvents" type:"list" required:"true"`
14050}
14051
14052// String returns the string representation
14053func (s DescribePullRequestEventsOutput) String() string {
14054	return awsutil.Prettify(s)
14055}
14056
14057// GoString returns the string representation
14058func (s DescribePullRequestEventsOutput) GoString() string {
14059	return s.String()
14060}
14061
14062// SetNextToken sets the NextToken field's value.
14063func (s *DescribePullRequestEventsOutput) SetNextToken(v string) *DescribePullRequestEventsOutput {
14064	s.NextToken = &v
14065	return s
14066}
14067
14068// SetPullRequestEvents sets the PullRequestEvents field's value.
14069func (s *DescribePullRequestEventsOutput) SetPullRequestEvents(v []*PullRequestEvent) *DescribePullRequestEventsOutput {
14070	s.PullRequestEvents = v
14071	return s
14072}
14073
14074// Returns information about a set of differences for a commit specifier.
14075type Difference struct {
14076	_ struct{} `type:"structure"`
14077
14078	// Information about an afterBlob data type object, including the ID, the file
14079	// mode permission code, and the path.
14080	AfterBlob *BlobMetadata `locationName:"afterBlob" type:"structure"`
14081
14082	// Information about a beforeBlob data type object, including the ID, the file
14083	// mode permission code, and the path.
14084	BeforeBlob *BlobMetadata `locationName:"beforeBlob" type:"structure"`
14085
14086	// Whether the change type of the difference is an addition (A), deletion (D),
14087	// or modification (M).
14088	ChangeType *string `locationName:"changeType" type:"string" enum:"ChangeTypeEnum"`
14089}
14090
14091// String returns the string representation
14092func (s Difference) String() string {
14093	return awsutil.Prettify(s)
14094}
14095
14096// GoString returns the string representation
14097func (s Difference) GoString() string {
14098	return s.String()
14099}
14100
14101// SetAfterBlob sets the AfterBlob field's value.
14102func (s *Difference) SetAfterBlob(v *BlobMetadata) *Difference {
14103	s.AfterBlob = v
14104	return s
14105}
14106
14107// SetBeforeBlob sets the BeforeBlob field's value.
14108func (s *Difference) SetBeforeBlob(v *BlobMetadata) *Difference {
14109	s.BeforeBlob = v
14110	return s
14111}
14112
14113// SetChangeType sets the ChangeType field's value.
14114func (s *Difference) SetChangeType(v string) *Difference {
14115	s.ChangeType = &v
14116	return s
14117}
14118
14119type DisassociateApprovalRuleTemplateFromRepositoryInput struct {
14120	_ struct{} `type:"structure"`
14121
14122	// The name of the approval rule template to disassociate from a specified repository.
14123	//
14124	// ApprovalRuleTemplateName is a required field
14125	ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"`
14126
14127	// The name of the repository you want to disassociate from the template.
14128	//
14129	// RepositoryName is a required field
14130	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
14131}
14132
14133// String returns the string representation
14134func (s DisassociateApprovalRuleTemplateFromRepositoryInput) String() string {
14135	return awsutil.Prettify(s)
14136}
14137
14138// GoString returns the string representation
14139func (s DisassociateApprovalRuleTemplateFromRepositoryInput) GoString() string {
14140	return s.String()
14141}
14142
14143// Validate inspects the fields of the type to determine if they are valid.
14144func (s *DisassociateApprovalRuleTemplateFromRepositoryInput) Validate() error {
14145	invalidParams := request.ErrInvalidParams{Context: "DisassociateApprovalRuleTemplateFromRepositoryInput"}
14146	if s.ApprovalRuleTemplateName == nil {
14147		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName"))
14148	}
14149	if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 {
14150		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1))
14151	}
14152	if s.RepositoryName == nil {
14153		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
14154	}
14155	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
14156		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
14157	}
14158
14159	if invalidParams.Len() > 0 {
14160		return invalidParams
14161	}
14162	return nil
14163}
14164
14165// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value.
14166func (s *DisassociateApprovalRuleTemplateFromRepositoryInput) SetApprovalRuleTemplateName(v string) *DisassociateApprovalRuleTemplateFromRepositoryInput {
14167	s.ApprovalRuleTemplateName = &v
14168	return s
14169}
14170
14171// SetRepositoryName sets the RepositoryName field's value.
14172func (s *DisassociateApprovalRuleTemplateFromRepositoryInput) SetRepositoryName(v string) *DisassociateApprovalRuleTemplateFromRepositoryInput {
14173	s.RepositoryName = &v
14174	return s
14175}
14176
14177type DisassociateApprovalRuleTemplateFromRepositoryOutput struct {
14178	_ struct{} `type:"structure"`
14179}
14180
14181// String returns the string representation
14182func (s DisassociateApprovalRuleTemplateFromRepositoryOutput) String() string {
14183	return awsutil.Prettify(s)
14184}
14185
14186// GoString returns the string representation
14187func (s DisassociateApprovalRuleTemplateFromRepositoryOutput) GoString() string {
14188	return s.String()
14189}
14190
14191type EvaluatePullRequestApprovalRulesInput struct {
14192	_ struct{} `type:"structure"`
14193
14194	// The system-generated ID of the pull request you want to evaluate.
14195	//
14196	// PullRequestId is a required field
14197	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
14198
14199	// The system-generated ID for the pull request revision. To retrieve the most
14200	// recent revision ID for a pull request, use GetPullRequest.
14201	//
14202	// RevisionId is a required field
14203	RevisionId *string `locationName:"revisionId" type:"string" required:"true"`
14204}
14205
14206// String returns the string representation
14207func (s EvaluatePullRequestApprovalRulesInput) String() string {
14208	return awsutil.Prettify(s)
14209}
14210
14211// GoString returns the string representation
14212func (s EvaluatePullRequestApprovalRulesInput) GoString() string {
14213	return s.String()
14214}
14215
14216// Validate inspects the fields of the type to determine if they are valid.
14217func (s *EvaluatePullRequestApprovalRulesInput) Validate() error {
14218	invalidParams := request.ErrInvalidParams{Context: "EvaluatePullRequestApprovalRulesInput"}
14219	if s.PullRequestId == nil {
14220		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
14221	}
14222	if s.RevisionId == nil {
14223		invalidParams.Add(request.NewErrParamRequired("RevisionId"))
14224	}
14225
14226	if invalidParams.Len() > 0 {
14227		return invalidParams
14228	}
14229	return nil
14230}
14231
14232// SetPullRequestId sets the PullRequestId field's value.
14233func (s *EvaluatePullRequestApprovalRulesInput) SetPullRequestId(v string) *EvaluatePullRequestApprovalRulesInput {
14234	s.PullRequestId = &v
14235	return s
14236}
14237
14238// SetRevisionId sets the RevisionId field's value.
14239func (s *EvaluatePullRequestApprovalRulesInput) SetRevisionId(v string) *EvaluatePullRequestApprovalRulesInput {
14240	s.RevisionId = &v
14241	return s
14242}
14243
14244type EvaluatePullRequestApprovalRulesOutput struct {
14245	_ struct{} `type:"structure"`
14246
14247	// The result of the evaluation, including the names of the rules whose conditions
14248	// have been met (if any), the names of the rules whose conditions have not
14249	// been met (if any), whether the pull request is in the approved state, and
14250	// whether the pull request approval rule has been set aside by an override.
14251	//
14252	// Evaluation is a required field
14253	Evaluation *Evaluation `locationName:"evaluation" type:"structure" required:"true"`
14254}
14255
14256// String returns the string representation
14257func (s EvaluatePullRequestApprovalRulesOutput) String() string {
14258	return awsutil.Prettify(s)
14259}
14260
14261// GoString returns the string representation
14262func (s EvaluatePullRequestApprovalRulesOutput) GoString() string {
14263	return s.String()
14264}
14265
14266// SetEvaluation sets the Evaluation field's value.
14267func (s *EvaluatePullRequestApprovalRulesOutput) SetEvaluation(v *Evaluation) *EvaluatePullRequestApprovalRulesOutput {
14268	s.Evaluation = v
14269	return s
14270}
14271
14272// Returns information about the approval rules applied to a pull request and
14273// whether conditions have been met.
14274type Evaluation struct {
14275	_ struct{} `type:"structure"`
14276
14277	// The names of the approval rules that have not had their conditions met.
14278	ApprovalRulesNotSatisfied []*string `locationName:"approvalRulesNotSatisfied" type:"list"`
14279
14280	// The names of the approval rules that have had their conditions met.
14281	ApprovalRulesSatisfied []*string `locationName:"approvalRulesSatisfied" type:"list"`
14282
14283	// Whether the state of the pull request is approved.
14284	Approved *bool `locationName:"approved" type:"boolean"`
14285
14286	// Whether the approval rule requirements for the pull request have been overridden
14287	// and no longer need to be met.
14288	Overridden *bool `locationName:"overridden" type:"boolean"`
14289}
14290
14291// String returns the string representation
14292func (s Evaluation) String() string {
14293	return awsutil.Prettify(s)
14294}
14295
14296// GoString returns the string representation
14297func (s Evaluation) GoString() string {
14298	return s.String()
14299}
14300
14301// SetApprovalRulesNotSatisfied sets the ApprovalRulesNotSatisfied field's value.
14302func (s *Evaluation) SetApprovalRulesNotSatisfied(v []*string) *Evaluation {
14303	s.ApprovalRulesNotSatisfied = v
14304	return s
14305}
14306
14307// SetApprovalRulesSatisfied sets the ApprovalRulesSatisfied field's value.
14308func (s *Evaluation) SetApprovalRulesSatisfied(v []*string) *Evaluation {
14309	s.ApprovalRulesSatisfied = v
14310	return s
14311}
14312
14313// SetApproved sets the Approved field's value.
14314func (s *Evaluation) SetApproved(v bool) *Evaluation {
14315	s.Approved = &v
14316	return s
14317}
14318
14319// SetOverridden sets the Overridden field's value.
14320func (s *Evaluation) SetOverridden(v bool) *Evaluation {
14321	s.Overridden = &v
14322	return s
14323}
14324
14325// Returns information about a file in a repository.
14326type File struct {
14327	_ struct{} `type:"structure"`
14328
14329	// The fully qualified path to the file in the repository.
14330	AbsolutePath *string `locationName:"absolutePath" type:"string"`
14331
14332	// The blob ID that contains the file information.
14333	BlobId *string `locationName:"blobId" type:"string"`
14334
14335	// The extrapolated file mode permissions for the file. Valid values include
14336	// EXECUTABLE and NORMAL.
14337	FileMode *string `locationName:"fileMode" type:"string" enum:"FileModeTypeEnum"`
14338
14339	// The relative path of the file from the folder where the query originated.
14340	RelativePath *string `locationName:"relativePath" type:"string"`
14341}
14342
14343// String returns the string representation
14344func (s File) String() string {
14345	return awsutil.Prettify(s)
14346}
14347
14348// GoString returns the string representation
14349func (s File) GoString() string {
14350	return s.String()
14351}
14352
14353// SetAbsolutePath sets the AbsolutePath field's value.
14354func (s *File) SetAbsolutePath(v string) *File {
14355	s.AbsolutePath = &v
14356	return s
14357}
14358
14359// SetBlobId sets the BlobId field's value.
14360func (s *File) SetBlobId(v string) *File {
14361	s.BlobId = &v
14362	return s
14363}
14364
14365// SetFileMode sets the FileMode field's value.
14366func (s *File) SetFileMode(v string) *File {
14367	s.FileMode = &v
14368	return s
14369}
14370
14371// SetRelativePath sets the RelativePath field's value.
14372func (s *File) SetRelativePath(v string) *File {
14373	s.RelativePath = &v
14374	return s
14375}
14376
14377// A file to be added, updated, or deleted as part of a commit.
14378type FileMetadata struct {
14379	_ struct{} `type:"structure"`
14380
14381	// The full path to the file to be added or updated, including the name of the
14382	// file.
14383	AbsolutePath *string `locationName:"absolutePath" type:"string"`
14384
14385	// The blob ID that contains the file information.
14386	BlobId *string `locationName:"blobId" type:"string"`
14387
14388	// The extrapolated file mode permissions for the file. Valid values include
14389	// EXECUTABLE and NORMAL.
14390	FileMode *string `locationName:"fileMode" type:"string" enum:"FileModeTypeEnum"`
14391}
14392
14393// String returns the string representation
14394func (s FileMetadata) String() string {
14395	return awsutil.Prettify(s)
14396}
14397
14398// GoString returns the string representation
14399func (s FileMetadata) GoString() string {
14400	return s.String()
14401}
14402
14403// SetAbsolutePath sets the AbsolutePath field's value.
14404func (s *FileMetadata) SetAbsolutePath(v string) *FileMetadata {
14405	s.AbsolutePath = &v
14406	return s
14407}
14408
14409// SetBlobId sets the BlobId field's value.
14410func (s *FileMetadata) SetBlobId(v string) *FileMetadata {
14411	s.BlobId = &v
14412	return s
14413}
14414
14415// SetFileMode sets the FileMode field's value.
14416func (s *FileMetadata) SetFileMode(v string) *FileMetadata {
14417	s.FileMode = &v
14418	return s
14419}
14420
14421// Information about file modes in a merge or pull request.
14422type FileModes struct {
14423	_ struct{} `type:"structure"`
14424
14425	// The file mode of a file in the base of a merge or pull request.
14426	Base *string `locationName:"base" type:"string" enum:"FileModeTypeEnum"`
14427
14428	// The file mode of a file in the destination of a merge or pull request.
14429	Destination *string `locationName:"destination" type:"string" enum:"FileModeTypeEnum"`
14430
14431	// The file mode of a file in the source of a merge or pull request.
14432	Source *string `locationName:"source" type:"string" enum:"FileModeTypeEnum"`
14433}
14434
14435// String returns the string representation
14436func (s FileModes) String() string {
14437	return awsutil.Prettify(s)
14438}
14439
14440// GoString returns the string representation
14441func (s FileModes) GoString() string {
14442	return s.String()
14443}
14444
14445// SetBase sets the Base field's value.
14446func (s *FileModes) SetBase(v string) *FileModes {
14447	s.Base = &v
14448	return s
14449}
14450
14451// SetDestination sets the Destination field's value.
14452func (s *FileModes) SetDestination(v string) *FileModes {
14453	s.Destination = &v
14454	return s
14455}
14456
14457// SetSource sets the Source field's value.
14458func (s *FileModes) SetSource(v string) *FileModes {
14459	s.Source = &v
14460	return s
14461}
14462
14463// Information about the size of files in a merge or pull request.
14464type FileSizes struct {
14465	_ struct{} `type:"structure"`
14466
14467	// The size of a file in the base of a merge or pull request.
14468	Base *int64 `locationName:"base" type:"long"`
14469
14470	// The size of a file in the destination of a merge or pull request.
14471	Destination *int64 `locationName:"destination" type:"long"`
14472
14473	// The size of a file in the source of a merge or pull request.
14474	Source *int64 `locationName:"source" type:"long"`
14475}
14476
14477// String returns the string representation
14478func (s FileSizes) String() string {
14479	return awsutil.Prettify(s)
14480}
14481
14482// GoString returns the string representation
14483func (s FileSizes) GoString() string {
14484	return s.String()
14485}
14486
14487// SetBase sets the Base field's value.
14488func (s *FileSizes) SetBase(v int64) *FileSizes {
14489	s.Base = &v
14490	return s
14491}
14492
14493// SetDestination sets the Destination field's value.
14494func (s *FileSizes) SetDestination(v int64) *FileSizes {
14495	s.Destination = &v
14496	return s
14497}
14498
14499// SetSource sets the Source field's value.
14500func (s *FileSizes) SetSource(v int64) *FileSizes {
14501	s.Source = &v
14502	return s
14503}
14504
14505// Returns information about a folder in a repository.
14506type Folder struct {
14507	_ struct{} `type:"structure"`
14508
14509	// The fully qualified path of the folder in the repository.
14510	AbsolutePath *string `locationName:"absolutePath" type:"string"`
14511
14512	// The relative path of the specified folder from the folder where the query
14513	// originated.
14514	RelativePath *string `locationName:"relativePath" type:"string"`
14515
14516	// The full SHA-1 pointer of the tree information for the commit that contains
14517	// the folder.
14518	TreeId *string `locationName:"treeId" type:"string"`
14519}
14520
14521// String returns the string representation
14522func (s Folder) String() string {
14523	return awsutil.Prettify(s)
14524}
14525
14526// GoString returns the string representation
14527func (s Folder) GoString() string {
14528	return s.String()
14529}
14530
14531// SetAbsolutePath sets the AbsolutePath field's value.
14532func (s *Folder) SetAbsolutePath(v string) *Folder {
14533	s.AbsolutePath = &v
14534	return s
14535}
14536
14537// SetRelativePath sets the RelativePath field's value.
14538func (s *Folder) SetRelativePath(v string) *Folder {
14539	s.RelativePath = &v
14540	return s
14541}
14542
14543// SetTreeId sets the TreeId field's value.
14544func (s *Folder) SetTreeId(v string) *Folder {
14545	s.TreeId = &v
14546	return s
14547}
14548
14549type GetApprovalRuleTemplateInput struct {
14550	_ struct{} `type:"structure"`
14551
14552	// The name of the approval rule template for which you want to get information.
14553	//
14554	// ApprovalRuleTemplateName is a required field
14555	ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"`
14556}
14557
14558// String returns the string representation
14559func (s GetApprovalRuleTemplateInput) String() string {
14560	return awsutil.Prettify(s)
14561}
14562
14563// GoString returns the string representation
14564func (s GetApprovalRuleTemplateInput) GoString() string {
14565	return s.String()
14566}
14567
14568// Validate inspects the fields of the type to determine if they are valid.
14569func (s *GetApprovalRuleTemplateInput) Validate() error {
14570	invalidParams := request.ErrInvalidParams{Context: "GetApprovalRuleTemplateInput"}
14571	if s.ApprovalRuleTemplateName == nil {
14572		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName"))
14573	}
14574	if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 {
14575		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1))
14576	}
14577
14578	if invalidParams.Len() > 0 {
14579		return invalidParams
14580	}
14581	return nil
14582}
14583
14584// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value.
14585func (s *GetApprovalRuleTemplateInput) SetApprovalRuleTemplateName(v string) *GetApprovalRuleTemplateInput {
14586	s.ApprovalRuleTemplateName = &v
14587	return s
14588}
14589
14590type GetApprovalRuleTemplateOutput struct {
14591	_ struct{} `type:"structure"`
14592
14593	// The content and structure of the approval rule template.
14594	//
14595	// ApprovalRuleTemplate is a required field
14596	ApprovalRuleTemplate *ApprovalRuleTemplate `locationName:"approvalRuleTemplate" type:"structure" required:"true"`
14597}
14598
14599// String returns the string representation
14600func (s GetApprovalRuleTemplateOutput) String() string {
14601	return awsutil.Prettify(s)
14602}
14603
14604// GoString returns the string representation
14605func (s GetApprovalRuleTemplateOutput) GoString() string {
14606	return s.String()
14607}
14608
14609// SetApprovalRuleTemplate sets the ApprovalRuleTemplate field's value.
14610func (s *GetApprovalRuleTemplateOutput) SetApprovalRuleTemplate(v *ApprovalRuleTemplate) *GetApprovalRuleTemplateOutput {
14611	s.ApprovalRuleTemplate = v
14612	return s
14613}
14614
14615// Represents the input of a get blob operation.
14616type GetBlobInput struct {
14617	_ struct{} `type:"structure"`
14618
14619	// The ID of the blob, which is its SHA-1 pointer.
14620	//
14621	// BlobId is a required field
14622	BlobId *string `locationName:"blobId" type:"string" required:"true"`
14623
14624	// The name of the repository that contains the blob.
14625	//
14626	// RepositoryName is a required field
14627	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
14628}
14629
14630// String returns the string representation
14631func (s GetBlobInput) String() string {
14632	return awsutil.Prettify(s)
14633}
14634
14635// GoString returns the string representation
14636func (s GetBlobInput) GoString() string {
14637	return s.String()
14638}
14639
14640// Validate inspects the fields of the type to determine if they are valid.
14641func (s *GetBlobInput) Validate() error {
14642	invalidParams := request.ErrInvalidParams{Context: "GetBlobInput"}
14643	if s.BlobId == nil {
14644		invalidParams.Add(request.NewErrParamRequired("BlobId"))
14645	}
14646	if s.RepositoryName == nil {
14647		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
14648	}
14649	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
14650		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
14651	}
14652
14653	if invalidParams.Len() > 0 {
14654		return invalidParams
14655	}
14656	return nil
14657}
14658
14659// SetBlobId sets the BlobId field's value.
14660func (s *GetBlobInput) SetBlobId(v string) *GetBlobInput {
14661	s.BlobId = &v
14662	return s
14663}
14664
14665// SetRepositoryName sets the RepositoryName field's value.
14666func (s *GetBlobInput) SetRepositoryName(v string) *GetBlobInput {
14667	s.RepositoryName = &v
14668	return s
14669}
14670
14671// Represents the output of a get blob operation.
14672type GetBlobOutput struct {
14673	_ struct{} `type:"structure"`
14674
14675	// The content of the blob, usually a file.
14676	//
14677	// Content is automatically base64 encoded/decoded by the SDK.
14678	//
14679	// Content is a required field
14680	Content []byte `locationName:"content" type:"blob" required:"true"`
14681}
14682
14683// String returns the string representation
14684func (s GetBlobOutput) String() string {
14685	return awsutil.Prettify(s)
14686}
14687
14688// GoString returns the string representation
14689func (s GetBlobOutput) GoString() string {
14690	return s.String()
14691}
14692
14693// SetContent sets the Content field's value.
14694func (s *GetBlobOutput) SetContent(v []byte) *GetBlobOutput {
14695	s.Content = v
14696	return s
14697}
14698
14699// Represents the input of a get branch operation.
14700type GetBranchInput struct {
14701	_ struct{} `type:"structure"`
14702
14703	// The name of the branch for which you want to retrieve information.
14704	BranchName *string `locationName:"branchName" min:"1" type:"string"`
14705
14706	// The name of the repository that contains the branch for which you want to
14707	// retrieve information.
14708	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
14709}
14710
14711// String returns the string representation
14712func (s GetBranchInput) String() string {
14713	return awsutil.Prettify(s)
14714}
14715
14716// GoString returns the string representation
14717func (s GetBranchInput) GoString() string {
14718	return s.String()
14719}
14720
14721// Validate inspects the fields of the type to determine if they are valid.
14722func (s *GetBranchInput) Validate() error {
14723	invalidParams := request.ErrInvalidParams{Context: "GetBranchInput"}
14724	if s.BranchName != nil && len(*s.BranchName) < 1 {
14725		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
14726	}
14727	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
14728		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
14729	}
14730
14731	if invalidParams.Len() > 0 {
14732		return invalidParams
14733	}
14734	return nil
14735}
14736
14737// SetBranchName sets the BranchName field's value.
14738func (s *GetBranchInput) SetBranchName(v string) *GetBranchInput {
14739	s.BranchName = &v
14740	return s
14741}
14742
14743// SetRepositoryName sets the RepositoryName field's value.
14744func (s *GetBranchInput) SetRepositoryName(v string) *GetBranchInput {
14745	s.RepositoryName = &v
14746	return s
14747}
14748
14749// Represents the output of a get branch operation.
14750type GetBranchOutput struct {
14751	_ struct{} `type:"structure"`
14752
14753	// The name of the branch.
14754	Branch *BranchInfo `locationName:"branch" type:"structure"`
14755}
14756
14757// String returns the string representation
14758func (s GetBranchOutput) String() string {
14759	return awsutil.Prettify(s)
14760}
14761
14762// GoString returns the string representation
14763func (s GetBranchOutput) GoString() string {
14764	return s.String()
14765}
14766
14767// SetBranch sets the Branch field's value.
14768func (s *GetBranchOutput) SetBranch(v *BranchInfo) *GetBranchOutput {
14769	s.Branch = v
14770	return s
14771}
14772
14773type GetCommentInput struct {
14774	_ struct{} `type:"structure"`
14775
14776	// The unique, system-generated ID of the comment. To get this ID, use GetCommentsForComparedCommit
14777	// or GetCommentsForPullRequest.
14778	//
14779	// CommentId is a required field
14780	CommentId *string `locationName:"commentId" type:"string" required:"true"`
14781}
14782
14783// String returns the string representation
14784func (s GetCommentInput) String() string {
14785	return awsutil.Prettify(s)
14786}
14787
14788// GoString returns the string representation
14789func (s GetCommentInput) GoString() string {
14790	return s.String()
14791}
14792
14793// Validate inspects the fields of the type to determine if they are valid.
14794func (s *GetCommentInput) Validate() error {
14795	invalidParams := request.ErrInvalidParams{Context: "GetCommentInput"}
14796	if s.CommentId == nil {
14797		invalidParams.Add(request.NewErrParamRequired("CommentId"))
14798	}
14799
14800	if invalidParams.Len() > 0 {
14801		return invalidParams
14802	}
14803	return nil
14804}
14805
14806// SetCommentId sets the CommentId field's value.
14807func (s *GetCommentInput) SetCommentId(v string) *GetCommentInput {
14808	s.CommentId = &v
14809	return s
14810}
14811
14812type GetCommentOutput struct {
14813	_ struct{} `type:"structure"`
14814
14815	// The contents of the comment.
14816	Comment *Comment `locationName:"comment" type:"structure"`
14817}
14818
14819// String returns the string representation
14820func (s GetCommentOutput) String() string {
14821	return awsutil.Prettify(s)
14822}
14823
14824// GoString returns the string representation
14825func (s GetCommentOutput) GoString() string {
14826	return s.String()
14827}
14828
14829// SetComment sets the Comment field's value.
14830func (s *GetCommentOutput) SetComment(v *Comment) *GetCommentOutput {
14831	s.Comment = v
14832	return s
14833}
14834
14835type GetCommentsForComparedCommitInput struct {
14836	_ struct{} `type:"structure"`
14837
14838	// To establish the directionality of the comparison, the full commit ID of
14839	// the after commit.
14840	//
14841	// AfterCommitId is a required field
14842	AfterCommitId *string `locationName:"afterCommitId" type:"string" required:"true"`
14843
14844	// To establish the directionality of the comparison, the full commit ID of
14845	// the before commit.
14846	BeforeCommitId *string `locationName:"beforeCommitId" type:"string"`
14847
14848	// A non-zero, non-negative integer used to limit the number of returned results.
14849	// The default is 100 comments, but you can configure up to 500.
14850	MaxResults *int64 `locationName:"maxResults" type:"integer"`
14851
14852	// An enumeration token that when provided in a request, returns the next batch
14853	// of the results.
14854	NextToken *string `locationName:"nextToken" type:"string"`
14855
14856	// The name of the repository where you want to compare commits.
14857	//
14858	// RepositoryName is a required field
14859	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
14860}
14861
14862// String returns the string representation
14863func (s GetCommentsForComparedCommitInput) String() string {
14864	return awsutil.Prettify(s)
14865}
14866
14867// GoString returns the string representation
14868func (s GetCommentsForComparedCommitInput) GoString() string {
14869	return s.String()
14870}
14871
14872// Validate inspects the fields of the type to determine if they are valid.
14873func (s *GetCommentsForComparedCommitInput) Validate() error {
14874	invalidParams := request.ErrInvalidParams{Context: "GetCommentsForComparedCommitInput"}
14875	if s.AfterCommitId == nil {
14876		invalidParams.Add(request.NewErrParamRequired("AfterCommitId"))
14877	}
14878	if s.RepositoryName == nil {
14879		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
14880	}
14881	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
14882		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
14883	}
14884
14885	if invalidParams.Len() > 0 {
14886		return invalidParams
14887	}
14888	return nil
14889}
14890
14891// SetAfterCommitId sets the AfterCommitId field's value.
14892func (s *GetCommentsForComparedCommitInput) SetAfterCommitId(v string) *GetCommentsForComparedCommitInput {
14893	s.AfterCommitId = &v
14894	return s
14895}
14896
14897// SetBeforeCommitId sets the BeforeCommitId field's value.
14898func (s *GetCommentsForComparedCommitInput) SetBeforeCommitId(v string) *GetCommentsForComparedCommitInput {
14899	s.BeforeCommitId = &v
14900	return s
14901}
14902
14903// SetMaxResults sets the MaxResults field's value.
14904func (s *GetCommentsForComparedCommitInput) SetMaxResults(v int64) *GetCommentsForComparedCommitInput {
14905	s.MaxResults = &v
14906	return s
14907}
14908
14909// SetNextToken sets the NextToken field's value.
14910func (s *GetCommentsForComparedCommitInput) SetNextToken(v string) *GetCommentsForComparedCommitInput {
14911	s.NextToken = &v
14912	return s
14913}
14914
14915// SetRepositoryName sets the RepositoryName field's value.
14916func (s *GetCommentsForComparedCommitInput) SetRepositoryName(v string) *GetCommentsForComparedCommitInput {
14917	s.RepositoryName = &v
14918	return s
14919}
14920
14921type GetCommentsForComparedCommitOutput struct {
14922	_ struct{} `type:"structure"`
14923
14924	// A list of comment objects on the compared commit.
14925	CommentsForComparedCommitData []*CommentsForComparedCommit `locationName:"commentsForComparedCommitData" type:"list"`
14926
14927	// An enumeration token that can be used in a request to return the next batch
14928	// of the results.
14929	NextToken *string `locationName:"nextToken" type:"string"`
14930}
14931
14932// String returns the string representation
14933func (s GetCommentsForComparedCommitOutput) String() string {
14934	return awsutil.Prettify(s)
14935}
14936
14937// GoString returns the string representation
14938func (s GetCommentsForComparedCommitOutput) GoString() string {
14939	return s.String()
14940}
14941
14942// SetCommentsForComparedCommitData sets the CommentsForComparedCommitData field's value.
14943func (s *GetCommentsForComparedCommitOutput) SetCommentsForComparedCommitData(v []*CommentsForComparedCommit) *GetCommentsForComparedCommitOutput {
14944	s.CommentsForComparedCommitData = v
14945	return s
14946}
14947
14948// SetNextToken sets the NextToken field's value.
14949func (s *GetCommentsForComparedCommitOutput) SetNextToken(v string) *GetCommentsForComparedCommitOutput {
14950	s.NextToken = &v
14951	return s
14952}
14953
14954type GetCommentsForPullRequestInput struct {
14955	_ struct{} `type:"structure"`
14956
14957	// The full commit ID of the commit in the source branch that was the tip of
14958	// the branch at the time the comment was made.
14959	AfterCommitId *string `locationName:"afterCommitId" type:"string"`
14960
14961	// The full commit ID of the commit in the destination branch that was the tip
14962	// of the branch at the time the pull request was created.
14963	BeforeCommitId *string `locationName:"beforeCommitId" type:"string"`
14964
14965	// A non-zero, non-negative integer used to limit the number of returned results.
14966	// The default is 100 comments. You can return up to 500 comments with a single
14967	// request.
14968	MaxResults *int64 `locationName:"maxResults" type:"integer"`
14969
14970	// An enumeration token that, when provided in a request, returns the next batch
14971	// of the results.
14972	NextToken *string `locationName:"nextToken" type:"string"`
14973
14974	// The system-generated ID of the pull request. To get this ID, use ListPullRequests.
14975	//
14976	// PullRequestId is a required field
14977	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
14978
14979	// The name of the repository that contains the pull request.
14980	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
14981}
14982
14983// String returns the string representation
14984func (s GetCommentsForPullRequestInput) String() string {
14985	return awsutil.Prettify(s)
14986}
14987
14988// GoString returns the string representation
14989func (s GetCommentsForPullRequestInput) GoString() string {
14990	return s.String()
14991}
14992
14993// Validate inspects the fields of the type to determine if they are valid.
14994func (s *GetCommentsForPullRequestInput) Validate() error {
14995	invalidParams := request.ErrInvalidParams{Context: "GetCommentsForPullRequestInput"}
14996	if s.PullRequestId == nil {
14997		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
14998	}
14999	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
15000		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
15001	}
15002
15003	if invalidParams.Len() > 0 {
15004		return invalidParams
15005	}
15006	return nil
15007}
15008
15009// SetAfterCommitId sets the AfterCommitId field's value.
15010func (s *GetCommentsForPullRequestInput) SetAfterCommitId(v string) *GetCommentsForPullRequestInput {
15011	s.AfterCommitId = &v
15012	return s
15013}
15014
15015// SetBeforeCommitId sets the BeforeCommitId field's value.
15016func (s *GetCommentsForPullRequestInput) SetBeforeCommitId(v string) *GetCommentsForPullRequestInput {
15017	s.BeforeCommitId = &v
15018	return s
15019}
15020
15021// SetMaxResults sets the MaxResults field's value.
15022func (s *GetCommentsForPullRequestInput) SetMaxResults(v int64) *GetCommentsForPullRequestInput {
15023	s.MaxResults = &v
15024	return s
15025}
15026
15027// SetNextToken sets the NextToken field's value.
15028func (s *GetCommentsForPullRequestInput) SetNextToken(v string) *GetCommentsForPullRequestInput {
15029	s.NextToken = &v
15030	return s
15031}
15032
15033// SetPullRequestId sets the PullRequestId field's value.
15034func (s *GetCommentsForPullRequestInput) SetPullRequestId(v string) *GetCommentsForPullRequestInput {
15035	s.PullRequestId = &v
15036	return s
15037}
15038
15039// SetRepositoryName sets the RepositoryName field's value.
15040func (s *GetCommentsForPullRequestInput) SetRepositoryName(v string) *GetCommentsForPullRequestInput {
15041	s.RepositoryName = &v
15042	return s
15043}
15044
15045type GetCommentsForPullRequestOutput struct {
15046	_ struct{} `type:"structure"`
15047
15048	// An array of comment objects on the pull request.
15049	CommentsForPullRequestData []*CommentsForPullRequest `locationName:"commentsForPullRequestData" type:"list"`
15050
15051	// An enumeration token that can be used in a request to return the next batch
15052	// of the results.
15053	NextToken *string `locationName:"nextToken" type:"string"`
15054}
15055
15056// String returns the string representation
15057func (s GetCommentsForPullRequestOutput) String() string {
15058	return awsutil.Prettify(s)
15059}
15060
15061// GoString returns the string representation
15062func (s GetCommentsForPullRequestOutput) GoString() string {
15063	return s.String()
15064}
15065
15066// SetCommentsForPullRequestData sets the CommentsForPullRequestData field's value.
15067func (s *GetCommentsForPullRequestOutput) SetCommentsForPullRequestData(v []*CommentsForPullRequest) *GetCommentsForPullRequestOutput {
15068	s.CommentsForPullRequestData = v
15069	return s
15070}
15071
15072// SetNextToken sets the NextToken field's value.
15073func (s *GetCommentsForPullRequestOutput) SetNextToken(v string) *GetCommentsForPullRequestOutput {
15074	s.NextToken = &v
15075	return s
15076}
15077
15078// Represents the input of a get commit operation.
15079type GetCommitInput struct {
15080	_ struct{} `type:"structure"`
15081
15082	// The commit ID. Commit IDs are the full SHA ID of the commit.
15083	//
15084	// CommitId is a required field
15085	CommitId *string `locationName:"commitId" type:"string" required:"true"`
15086
15087	// The name of the repository to which the commit was made.
15088	//
15089	// RepositoryName is a required field
15090	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
15091}
15092
15093// String returns the string representation
15094func (s GetCommitInput) String() string {
15095	return awsutil.Prettify(s)
15096}
15097
15098// GoString returns the string representation
15099func (s GetCommitInput) GoString() string {
15100	return s.String()
15101}
15102
15103// Validate inspects the fields of the type to determine if they are valid.
15104func (s *GetCommitInput) Validate() error {
15105	invalidParams := request.ErrInvalidParams{Context: "GetCommitInput"}
15106	if s.CommitId == nil {
15107		invalidParams.Add(request.NewErrParamRequired("CommitId"))
15108	}
15109	if s.RepositoryName == nil {
15110		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
15111	}
15112	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
15113		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
15114	}
15115
15116	if invalidParams.Len() > 0 {
15117		return invalidParams
15118	}
15119	return nil
15120}
15121
15122// SetCommitId sets the CommitId field's value.
15123func (s *GetCommitInput) SetCommitId(v string) *GetCommitInput {
15124	s.CommitId = &v
15125	return s
15126}
15127
15128// SetRepositoryName sets the RepositoryName field's value.
15129func (s *GetCommitInput) SetRepositoryName(v string) *GetCommitInput {
15130	s.RepositoryName = &v
15131	return s
15132}
15133
15134// Represents the output of a get commit operation.
15135type GetCommitOutput struct {
15136	_ struct{} `type:"structure"`
15137
15138	// A commit data type object that contains information about the specified commit.
15139	//
15140	// Commit is a required field
15141	Commit *Commit `locationName:"commit" type:"structure" required:"true"`
15142}
15143
15144// String returns the string representation
15145func (s GetCommitOutput) String() string {
15146	return awsutil.Prettify(s)
15147}
15148
15149// GoString returns the string representation
15150func (s GetCommitOutput) GoString() string {
15151	return s.String()
15152}
15153
15154// SetCommit sets the Commit field's value.
15155func (s *GetCommitOutput) SetCommit(v *Commit) *GetCommitOutput {
15156	s.Commit = v
15157	return s
15158}
15159
15160type GetDifferencesInput struct {
15161	_ struct{} `type:"structure"`
15162
15163	// The branch, tag, HEAD, or other fully qualified reference used to identify
15164	// a commit.
15165	//
15166	// AfterCommitSpecifier is a required field
15167	AfterCommitSpecifier *string `locationName:"afterCommitSpecifier" type:"string" required:"true"`
15168
15169	// The file path in which to check differences. Limits the results to this path.
15170	// Can also be used to specify the changed name of a directory or folder, if
15171	// it has changed. If not specified, differences are shown for all paths.
15172	AfterPath *string `locationName:"afterPath" type:"string"`
15173
15174	// The branch, tag, HEAD, or other fully qualified reference used to identify
15175	// a commit (for example, the full commit ID). Optional. If not specified, all
15176	// changes before the afterCommitSpecifier value are shown. If you do not use
15177	// beforeCommitSpecifier in your request, consider limiting the results with
15178	// maxResults.
15179	BeforeCommitSpecifier *string `locationName:"beforeCommitSpecifier" type:"string"`
15180
15181	// The file path in which to check for differences. Limits the results to this
15182	// path. Can also be used to specify the previous name of a directory or folder.
15183	// If beforePath and afterPath are not specified, differences are shown for
15184	// all paths.
15185	BeforePath *string `locationName:"beforePath" type:"string"`
15186
15187	// A non-zero, non-negative integer used to limit the number of returned results.
15188	MaxResults *int64 `type:"integer"`
15189
15190	// An enumeration token that, when provided in a request, returns the next batch
15191	// of the results.
15192	NextToken *string `type:"string"`
15193
15194	// The name of the repository where you want to get differences.
15195	//
15196	// RepositoryName is a required field
15197	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
15198}
15199
15200// String returns the string representation
15201func (s GetDifferencesInput) String() string {
15202	return awsutil.Prettify(s)
15203}
15204
15205// GoString returns the string representation
15206func (s GetDifferencesInput) GoString() string {
15207	return s.String()
15208}
15209
15210// Validate inspects the fields of the type to determine if they are valid.
15211func (s *GetDifferencesInput) Validate() error {
15212	invalidParams := request.ErrInvalidParams{Context: "GetDifferencesInput"}
15213	if s.AfterCommitSpecifier == nil {
15214		invalidParams.Add(request.NewErrParamRequired("AfterCommitSpecifier"))
15215	}
15216	if s.RepositoryName == nil {
15217		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
15218	}
15219	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
15220		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
15221	}
15222
15223	if invalidParams.Len() > 0 {
15224		return invalidParams
15225	}
15226	return nil
15227}
15228
15229// SetAfterCommitSpecifier sets the AfterCommitSpecifier field's value.
15230func (s *GetDifferencesInput) SetAfterCommitSpecifier(v string) *GetDifferencesInput {
15231	s.AfterCommitSpecifier = &v
15232	return s
15233}
15234
15235// SetAfterPath sets the AfterPath field's value.
15236func (s *GetDifferencesInput) SetAfterPath(v string) *GetDifferencesInput {
15237	s.AfterPath = &v
15238	return s
15239}
15240
15241// SetBeforeCommitSpecifier sets the BeforeCommitSpecifier field's value.
15242func (s *GetDifferencesInput) SetBeforeCommitSpecifier(v string) *GetDifferencesInput {
15243	s.BeforeCommitSpecifier = &v
15244	return s
15245}
15246
15247// SetBeforePath sets the BeforePath field's value.
15248func (s *GetDifferencesInput) SetBeforePath(v string) *GetDifferencesInput {
15249	s.BeforePath = &v
15250	return s
15251}
15252
15253// SetMaxResults sets the MaxResults field's value.
15254func (s *GetDifferencesInput) SetMaxResults(v int64) *GetDifferencesInput {
15255	s.MaxResults = &v
15256	return s
15257}
15258
15259// SetNextToken sets the NextToken field's value.
15260func (s *GetDifferencesInput) SetNextToken(v string) *GetDifferencesInput {
15261	s.NextToken = &v
15262	return s
15263}
15264
15265// SetRepositoryName sets the RepositoryName field's value.
15266func (s *GetDifferencesInput) SetRepositoryName(v string) *GetDifferencesInput {
15267	s.RepositoryName = &v
15268	return s
15269}
15270
15271type GetDifferencesOutput struct {
15272	_ struct{} `type:"structure"`
15273
15274	// A data type object that contains information about the differences, including
15275	// whether the difference is added, modified, or deleted (A, D, M).
15276	Differences []*Difference `locationName:"differences" type:"list"`
15277
15278	// An enumeration token that can be used in a request to return the next batch
15279	// of the results.
15280	NextToken *string `type:"string"`
15281}
15282
15283// String returns the string representation
15284func (s GetDifferencesOutput) String() string {
15285	return awsutil.Prettify(s)
15286}
15287
15288// GoString returns the string representation
15289func (s GetDifferencesOutput) GoString() string {
15290	return s.String()
15291}
15292
15293// SetDifferences sets the Differences field's value.
15294func (s *GetDifferencesOutput) SetDifferences(v []*Difference) *GetDifferencesOutput {
15295	s.Differences = v
15296	return s
15297}
15298
15299// SetNextToken sets the NextToken field's value.
15300func (s *GetDifferencesOutput) SetNextToken(v string) *GetDifferencesOutput {
15301	s.NextToken = &v
15302	return s
15303}
15304
15305type GetFileInput struct {
15306	_ struct{} `type:"structure"`
15307
15308	// The fully quaified reference that identifies the commit that contains the
15309	// file. For example, you can specify a full commit ID, a tag, a branch name,
15310	// or a reference such as refs/heads/master. If none is provided, the head commit
15311	// is used.
15312	CommitSpecifier *string `locationName:"commitSpecifier" type:"string"`
15313
15314	// The fully qualified path to the file, including the full name and extension
15315	// of the file. For example, /examples/file.md is the fully qualified path to
15316	// a file named file.md in a folder named examples.
15317	//
15318	// FilePath is a required field
15319	FilePath *string `locationName:"filePath" type:"string" required:"true"`
15320
15321	// The name of the repository that contains the file.
15322	//
15323	// RepositoryName is a required field
15324	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
15325}
15326
15327// String returns the string representation
15328func (s GetFileInput) String() string {
15329	return awsutil.Prettify(s)
15330}
15331
15332// GoString returns the string representation
15333func (s GetFileInput) GoString() string {
15334	return s.String()
15335}
15336
15337// Validate inspects the fields of the type to determine if they are valid.
15338func (s *GetFileInput) Validate() error {
15339	invalidParams := request.ErrInvalidParams{Context: "GetFileInput"}
15340	if s.FilePath == nil {
15341		invalidParams.Add(request.NewErrParamRequired("FilePath"))
15342	}
15343	if s.RepositoryName == nil {
15344		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
15345	}
15346	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
15347		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
15348	}
15349
15350	if invalidParams.Len() > 0 {
15351		return invalidParams
15352	}
15353	return nil
15354}
15355
15356// SetCommitSpecifier sets the CommitSpecifier field's value.
15357func (s *GetFileInput) SetCommitSpecifier(v string) *GetFileInput {
15358	s.CommitSpecifier = &v
15359	return s
15360}
15361
15362// SetFilePath sets the FilePath field's value.
15363func (s *GetFileInput) SetFilePath(v string) *GetFileInput {
15364	s.FilePath = &v
15365	return s
15366}
15367
15368// SetRepositoryName sets the RepositoryName field's value.
15369func (s *GetFileInput) SetRepositoryName(v string) *GetFileInput {
15370	s.RepositoryName = &v
15371	return s
15372}
15373
15374type GetFileOutput struct {
15375	_ struct{} `type:"structure"`
15376
15377	// The blob ID of the object that represents the file content.
15378	//
15379	// BlobId is a required field
15380	BlobId *string `locationName:"blobId" type:"string" required:"true"`
15381
15382	// The full commit ID of the commit that contains the content returned by GetFile.
15383	//
15384	// CommitId is a required field
15385	CommitId *string `locationName:"commitId" type:"string" required:"true"`
15386
15387	// The base-64 encoded binary data object that represents the content of the
15388	// file.
15389	//
15390	// FileContent is automatically base64 encoded/decoded by the SDK.
15391	//
15392	// FileContent is a required field
15393	FileContent []byte `locationName:"fileContent" type:"blob" required:"true"`
15394
15395	// The extrapolated file mode permissions of the blob. Valid values include
15396	// strings such as EXECUTABLE and not numeric values.
15397	//
15398	// The file mode permissions returned by this API are not the standard file
15399	// mode permission values, such as 100644, but rather extrapolated values. See
15400	// the supported return values.
15401	//
15402	// FileMode is a required field
15403	FileMode *string `locationName:"fileMode" type:"string" required:"true" enum:"FileModeTypeEnum"`
15404
15405	// The fully qualified path to the specified file. Returns the name and extension
15406	// of the file.
15407	//
15408	// FilePath is a required field
15409	FilePath *string `locationName:"filePath" type:"string" required:"true"`
15410
15411	// The size of the contents of the file, in bytes.
15412	//
15413	// FileSize is a required field
15414	FileSize *int64 `locationName:"fileSize" type:"long" required:"true"`
15415}
15416
15417// String returns the string representation
15418func (s GetFileOutput) String() string {
15419	return awsutil.Prettify(s)
15420}
15421
15422// GoString returns the string representation
15423func (s GetFileOutput) GoString() string {
15424	return s.String()
15425}
15426
15427// SetBlobId sets the BlobId field's value.
15428func (s *GetFileOutput) SetBlobId(v string) *GetFileOutput {
15429	s.BlobId = &v
15430	return s
15431}
15432
15433// SetCommitId sets the CommitId field's value.
15434func (s *GetFileOutput) SetCommitId(v string) *GetFileOutput {
15435	s.CommitId = &v
15436	return s
15437}
15438
15439// SetFileContent sets the FileContent field's value.
15440func (s *GetFileOutput) SetFileContent(v []byte) *GetFileOutput {
15441	s.FileContent = v
15442	return s
15443}
15444
15445// SetFileMode sets the FileMode field's value.
15446func (s *GetFileOutput) SetFileMode(v string) *GetFileOutput {
15447	s.FileMode = &v
15448	return s
15449}
15450
15451// SetFilePath sets the FilePath field's value.
15452func (s *GetFileOutput) SetFilePath(v string) *GetFileOutput {
15453	s.FilePath = &v
15454	return s
15455}
15456
15457// SetFileSize sets the FileSize field's value.
15458func (s *GetFileOutput) SetFileSize(v int64) *GetFileOutput {
15459	s.FileSize = &v
15460	return s
15461}
15462
15463type GetFolderInput struct {
15464	_ struct{} `type:"structure"`
15465
15466	// A fully qualified reference used to identify a commit that contains the version
15467	// of the folder's content to return. A fully qualified reference can be a commit
15468	// ID, branch name, tag, or reference such as HEAD. If no specifier is provided,
15469	// the folder content is returned as it exists in the HEAD commit.
15470	CommitSpecifier *string `locationName:"commitSpecifier" type:"string"`
15471
15472	// The fully qualified path to the folder whose contents are returned, including
15473	// the folder name. For example, /examples is a fully-qualified path to a folder
15474	// named examples that was created off of the root directory (/) of a repository.
15475	//
15476	// FolderPath is a required field
15477	FolderPath *string `locationName:"folderPath" type:"string" required:"true"`
15478
15479	// The name of the repository.
15480	//
15481	// RepositoryName is a required field
15482	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
15483}
15484
15485// String returns the string representation
15486func (s GetFolderInput) String() string {
15487	return awsutil.Prettify(s)
15488}
15489
15490// GoString returns the string representation
15491func (s GetFolderInput) GoString() string {
15492	return s.String()
15493}
15494
15495// Validate inspects the fields of the type to determine if they are valid.
15496func (s *GetFolderInput) Validate() error {
15497	invalidParams := request.ErrInvalidParams{Context: "GetFolderInput"}
15498	if s.FolderPath == nil {
15499		invalidParams.Add(request.NewErrParamRequired("FolderPath"))
15500	}
15501	if s.RepositoryName == nil {
15502		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
15503	}
15504	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
15505		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
15506	}
15507
15508	if invalidParams.Len() > 0 {
15509		return invalidParams
15510	}
15511	return nil
15512}
15513
15514// SetCommitSpecifier sets the CommitSpecifier field's value.
15515func (s *GetFolderInput) SetCommitSpecifier(v string) *GetFolderInput {
15516	s.CommitSpecifier = &v
15517	return s
15518}
15519
15520// SetFolderPath sets the FolderPath field's value.
15521func (s *GetFolderInput) SetFolderPath(v string) *GetFolderInput {
15522	s.FolderPath = &v
15523	return s
15524}
15525
15526// SetRepositoryName sets the RepositoryName field's value.
15527func (s *GetFolderInput) SetRepositoryName(v string) *GetFolderInput {
15528	s.RepositoryName = &v
15529	return s
15530}
15531
15532type GetFolderOutput struct {
15533	_ struct{} `type:"structure"`
15534
15535	// The full commit ID used as a reference for the returned version of the folder
15536	// content.
15537	//
15538	// CommitId is a required field
15539	CommitId *string `locationName:"commitId" type:"string" required:"true"`
15540
15541	// The list of files in the specified folder, if any.
15542	Files []*File `locationName:"files" type:"list"`
15543
15544	// The fully qualified path of the folder whose contents are returned.
15545	//
15546	// FolderPath is a required field
15547	FolderPath *string `locationName:"folderPath" type:"string" required:"true"`
15548
15549	// The list of folders that exist under the specified folder, if any.
15550	SubFolders []*Folder `locationName:"subFolders" type:"list"`
15551
15552	// The list of submodules in the specified folder, if any.
15553	SubModules []*SubModule `locationName:"subModules" type:"list"`
15554
15555	// The list of symbolic links to other files and folders in the specified folder,
15556	// if any.
15557	SymbolicLinks []*SymbolicLink `locationName:"symbolicLinks" type:"list"`
15558
15559	// The full SHA-1 pointer of the tree information for the commit that contains
15560	// the folder.
15561	TreeId *string `locationName:"treeId" type:"string"`
15562}
15563
15564// String returns the string representation
15565func (s GetFolderOutput) String() string {
15566	return awsutil.Prettify(s)
15567}
15568
15569// GoString returns the string representation
15570func (s GetFolderOutput) GoString() string {
15571	return s.String()
15572}
15573
15574// SetCommitId sets the CommitId field's value.
15575func (s *GetFolderOutput) SetCommitId(v string) *GetFolderOutput {
15576	s.CommitId = &v
15577	return s
15578}
15579
15580// SetFiles sets the Files field's value.
15581func (s *GetFolderOutput) SetFiles(v []*File) *GetFolderOutput {
15582	s.Files = v
15583	return s
15584}
15585
15586// SetFolderPath sets the FolderPath field's value.
15587func (s *GetFolderOutput) SetFolderPath(v string) *GetFolderOutput {
15588	s.FolderPath = &v
15589	return s
15590}
15591
15592// SetSubFolders sets the SubFolders field's value.
15593func (s *GetFolderOutput) SetSubFolders(v []*Folder) *GetFolderOutput {
15594	s.SubFolders = v
15595	return s
15596}
15597
15598// SetSubModules sets the SubModules field's value.
15599func (s *GetFolderOutput) SetSubModules(v []*SubModule) *GetFolderOutput {
15600	s.SubModules = v
15601	return s
15602}
15603
15604// SetSymbolicLinks sets the SymbolicLinks field's value.
15605func (s *GetFolderOutput) SetSymbolicLinks(v []*SymbolicLink) *GetFolderOutput {
15606	s.SymbolicLinks = v
15607	return s
15608}
15609
15610// SetTreeId sets the TreeId field's value.
15611func (s *GetFolderOutput) SetTreeId(v string) *GetFolderOutput {
15612	s.TreeId = &v
15613	return s
15614}
15615
15616type GetMergeCommitInput struct {
15617	_ struct{} `type:"structure"`
15618
15619	// The level of conflict detail to use. If unspecified, the default FILE_LEVEL
15620	// is used, which returns a not-mergeable result if the same file has differences
15621	// in both branches. If LINE_LEVEL is specified, a conflict is considered not
15622	// mergeable if the same file in both branches has differences on the same line.
15623	ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"`
15624
15625	// Specifies which branch to use when resolving conflicts, or whether to attempt
15626	// automatically merging two versions of a file. The default is NONE, which
15627	// requires any conflicts to be resolved manually before the merge operation
15628	// is successful.
15629	ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"`
15630
15631	// The branch, tag, HEAD, or other fully qualified reference used to identify
15632	// a commit (for example, a branch name or a full commit ID).
15633	//
15634	// DestinationCommitSpecifier is a required field
15635	DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"`
15636
15637	// The name of the repository that contains the merge commit about which you
15638	// want to get information.
15639	//
15640	// RepositoryName is a required field
15641	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
15642
15643	// The branch, tag, HEAD, or other fully qualified reference used to identify
15644	// a commit (for example, a branch name or a full commit ID).
15645	//
15646	// SourceCommitSpecifier is a required field
15647	SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"`
15648}
15649
15650// String returns the string representation
15651func (s GetMergeCommitInput) String() string {
15652	return awsutil.Prettify(s)
15653}
15654
15655// GoString returns the string representation
15656func (s GetMergeCommitInput) GoString() string {
15657	return s.String()
15658}
15659
15660// Validate inspects the fields of the type to determine if they are valid.
15661func (s *GetMergeCommitInput) Validate() error {
15662	invalidParams := request.ErrInvalidParams{Context: "GetMergeCommitInput"}
15663	if s.DestinationCommitSpecifier == nil {
15664		invalidParams.Add(request.NewErrParamRequired("DestinationCommitSpecifier"))
15665	}
15666	if s.RepositoryName == nil {
15667		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
15668	}
15669	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
15670		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
15671	}
15672	if s.SourceCommitSpecifier == nil {
15673		invalidParams.Add(request.NewErrParamRequired("SourceCommitSpecifier"))
15674	}
15675
15676	if invalidParams.Len() > 0 {
15677		return invalidParams
15678	}
15679	return nil
15680}
15681
15682// SetConflictDetailLevel sets the ConflictDetailLevel field's value.
15683func (s *GetMergeCommitInput) SetConflictDetailLevel(v string) *GetMergeCommitInput {
15684	s.ConflictDetailLevel = &v
15685	return s
15686}
15687
15688// SetConflictResolutionStrategy sets the ConflictResolutionStrategy field's value.
15689func (s *GetMergeCommitInput) SetConflictResolutionStrategy(v string) *GetMergeCommitInput {
15690	s.ConflictResolutionStrategy = &v
15691	return s
15692}
15693
15694// SetDestinationCommitSpecifier sets the DestinationCommitSpecifier field's value.
15695func (s *GetMergeCommitInput) SetDestinationCommitSpecifier(v string) *GetMergeCommitInput {
15696	s.DestinationCommitSpecifier = &v
15697	return s
15698}
15699
15700// SetRepositoryName sets the RepositoryName field's value.
15701func (s *GetMergeCommitInput) SetRepositoryName(v string) *GetMergeCommitInput {
15702	s.RepositoryName = &v
15703	return s
15704}
15705
15706// SetSourceCommitSpecifier sets the SourceCommitSpecifier field's value.
15707func (s *GetMergeCommitInput) SetSourceCommitSpecifier(v string) *GetMergeCommitInput {
15708	s.SourceCommitSpecifier = &v
15709	return s
15710}
15711
15712type GetMergeCommitOutput struct {
15713	_ struct{} `type:"structure"`
15714
15715	// The commit ID of the merge base.
15716	BaseCommitId *string `locationName:"baseCommitId" type:"string"`
15717
15718	// The commit ID of the destination commit specifier that was used in the merge
15719	// evaluation.
15720	DestinationCommitId *string `locationName:"destinationCommitId" type:"string"`
15721
15722	// The commit ID for the merge commit created when the source branch was merged
15723	// into the destination branch. If the fast-forward merge strategy was used,
15724	// there is no merge commit.
15725	MergedCommitId *string `locationName:"mergedCommitId" type:"string"`
15726
15727	// The commit ID of the source commit specifier that was used in the merge evaluation.
15728	SourceCommitId *string `locationName:"sourceCommitId" type:"string"`
15729}
15730
15731// String returns the string representation
15732func (s GetMergeCommitOutput) String() string {
15733	return awsutil.Prettify(s)
15734}
15735
15736// GoString returns the string representation
15737func (s GetMergeCommitOutput) GoString() string {
15738	return s.String()
15739}
15740
15741// SetBaseCommitId sets the BaseCommitId field's value.
15742func (s *GetMergeCommitOutput) SetBaseCommitId(v string) *GetMergeCommitOutput {
15743	s.BaseCommitId = &v
15744	return s
15745}
15746
15747// SetDestinationCommitId sets the DestinationCommitId field's value.
15748func (s *GetMergeCommitOutput) SetDestinationCommitId(v string) *GetMergeCommitOutput {
15749	s.DestinationCommitId = &v
15750	return s
15751}
15752
15753// SetMergedCommitId sets the MergedCommitId field's value.
15754func (s *GetMergeCommitOutput) SetMergedCommitId(v string) *GetMergeCommitOutput {
15755	s.MergedCommitId = &v
15756	return s
15757}
15758
15759// SetSourceCommitId sets the SourceCommitId field's value.
15760func (s *GetMergeCommitOutput) SetSourceCommitId(v string) *GetMergeCommitOutput {
15761	s.SourceCommitId = &v
15762	return s
15763}
15764
15765type GetMergeConflictsInput struct {
15766	_ struct{} `type:"structure"`
15767
15768	// The level of conflict detail to use. If unspecified, the default FILE_LEVEL
15769	// is used, which returns a not-mergeable result if the same file has differences
15770	// in both branches. If LINE_LEVEL is specified, a conflict is considered not
15771	// mergeable if the same file in both branches has differences on the same line.
15772	ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"`
15773
15774	// Specifies which branch to use when resolving conflicts, or whether to attempt
15775	// automatically merging two versions of a file. The default is NONE, which
15776	// requires any conflicts to be resolved manually before the merge operation
15777	// is successful.
15778	ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"`
15779
15780	// The branch, tag, HEAD, or other fully qualified reference used to identify
15781	// a commit (for example, a branch name or a full commit ID).
15782	//
15783	// DestinationCommitSpecifier is a required field
15784	DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"`
15785
15786	// The maximum number of files to include in the output.
15787	MaxConflictFiles *int64 `locationName:"maxConflictFiles" type:"integer"`
15788
15789	// The merge option or strategy you want to use to merge the code.
15790	//
15791	// MergeOption is a required field
15792	MergeOption *string `locationName:"mergeOption" type:"string" required:"true" enum:"MergeOptionTypeEnum"`
15793
15794	// An enumeration token that, when provided in a request, returns the next batch
15795	// of the results.
15796	NextToken *string `locationName:"nextToken" type:"string"`
15797
15798	// The name of the repository where the pull request was created.
15799	//
15800	// RepositoryName is a required field
15801	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
15802
15803	// The branch, tag, HEAD, or other fully qualified reference used to identify
15804	// a commit (for example, a branch name or a full commit ID).
15805	//
15806	// SourceCommitSpecifier is a required field
15807	SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"`
15808}
15809
15810// String returns the string representation
15811func (s GetMergeConflictsInput) String() string {
15812	return awsutil.Prettify(s)
15813}
15814
15815// GoString returns the string representation
15816func (s GetMergeConflictsInput) GoString() string {
15817	return s.String()
15818}
15819
15820// Validate inspects the fields of the type to determine if they are valid.
15821func (s *GetMergeConflictsInput) Validate() error {
15822	invalidParams := request.ErrInvalidParams{Context: "GetMergeConflictsInput"}
15823	if s.DestinationCommitSpecifier == nil {
15824		invalidParams.Add(request.NewErrParamRequired("DestinationCommitSpecifier"))
15825	}
15826	if s.MergeOption == nil {
15827		invalidParams.Add(request.NewErrParamRequired("MergeOption"))
15828	}
15829	if s.RepositoryName == nil {
15830		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
15831	}
15832	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
15833		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
15834	}
15835	if s.SourceCommitSpecifier == nil {
15836		invalidParams.Add(request.NewErrParamRequired("SourceCommitSpecifier"))
15837	}
15838
15839	if invalidParams.Len() > 0 {
15840		return invalidParams
15841	}
15842	return nil
15843}
15844
15845// SetConflictDetailLevel sets the ConflictDetailLevel field's value.
15846func (s *GetMergeConflictsInput) SetConflictDetailLevel(v string) *GetMergeConflictsInput {
15847	s.ConflictDetailLevel = &v
15848	return s
15849}
15850
15851// SetConflictResolutionStrategy sets the ConflictResolutionStrategy field's value.
15852func (s *GetMergeConflictsInput) SetConflictResolutionStrategy(v string) *GetMergeConflictsInput {
15853	s.ConflictResolutionStrategy = &v
15854	return s
15855}
15856
15857// SetDestinationCommitSpecifier sets the DestinationCommitSpecifier field's value.
15858func (s *GetMergeConflictsInput) SetDestinationCommitSpecifier(v string) *GetMergeConflictsInput {
15859	s.DestinationCommitSpecifier = &v
15860	return s
15861}
15862
15863// SetMaxConflictFiles sets the MaxConflictFiles field's value.
15864func (s *GetMergeConflictsInput) SetMaxConflictFiles(v int64) *GetMergeConflictsInput {
15865	s.MaxConflictFiles = &v
15866	return s
15867}
15868
15869// SetMergeOption sets the MergeOption field's value.
15870func (s *GetMergeConflictsInput) SetMergeOption(v string) *GetMergeConflictsInput {
15871	s.MergeOption = &v
15872	return s
15873}
15874
15875// SetNextToken sets the NextToken field's value.
15876func (s *GetMergeConflictsInput) SetNextToken(v string) *GetMergeConflictsInput {
15877	s.NextToken = &v
15878	return s
15879}
15880
15881// SetRepositoryName sets the RepositoryName field's value.
15882func (s *GetMergeConflictsInput) SetRepositoryName(v string) *GetMergeConflictsInput {
15883	s.RepositoryName = &v
15884	return s
15885}
15886
15887// SetSourceCommitSpecifier sets the SourceCommitSpecifier field's value.
15888func (s *GetMergeConflictsInput) SetSourceCommitSpecifier(v string) *GetMergeConflictsInput {
15889	s.SourceCommitSpecifier = &v
15890	return s
15891}
15892
15893type GetMergeConflictsOutput struct {
15894	_ struct{} `type:"structure"`
15895
15896	// The commit ID of the merge base.
15897	BaseCommitId *string `locationName:"baseCommitId" type:"string"`
15898
15899	// A list of metadata for any conflicting files. If the specified merge strategy
15900	// is FAST_FORWARD_MERGE, this list is always empty.
15901	//
15902	// ConflictMetadataList is a required field
15903	ConflictMetadataList []*ConflictMetadata `locationName:"conflictMetadataList" type:"list" required:"true"`
15904
15905	// The commit ID of the destination commit specifier that was used in the merge
15906	// evaluation.
15907	//
15908	// DestinationCommitId is a required field
15909	DestinationCommitId *string `locationName:"destinationCommitId" type:"string" required:"true"`
15910
15911	// A Boolean value that indicates whether the code is mergeable by the specified
15912	// merge option.
15913	//
15914	// Mergeable is a required field
15915	Mergeable *bool `locationName:"mergeable" type:"boolean" required:"true"`
15916
15917	// An enumeration token that can be used in a request to return the next batch
15918	// of the results.
15919	NextToken *string `locationName:"nextToken" type:"string"`
15920
15921	// The commit ID of the source commit specifier that was used in the merge evaluation.
15922	//
15923	// SourceCommitId is a required field
15924	SourceCommitId *string `locationName:"sourceCommitId" type:"string" required:"true"`
15925}
15926
15927// String returns the string representation
15928func (s GetMergeConflictsOutput) String() string {
15929	return awsutil.Prettify(s)
15930}
15931
15932// GoString returns the string representation
15933func (s GetMergeConflictsOutput) GoString() string {
15934	return s.String()
15935}
15936
15937// SetBaseCommitId sets the BaseCommitId field's value.
15938func (s *GetMergeConflictsOutput) SetBaseCommitId(v string) *GetMergeConflictsOutput {
15939	s.BaseCommitId = &v
15940	return s
15941}
15942
15943// SetConflictMetadataList sets the ConflictMetadataList field's value.
15944func (s *GetMergeConflictsOutput) SetConflictMetadataList(v []*ConflictMetadata) *GetMergeConflictsOutput {
15945	s.ConflictMetadataList = v
15946	return s
15947}
15948
15949// SetDestinationCommitId sets the DestinationCommitId field's value.
15950func (s *GetMergeConflictsOutput) SetDestinationCommitId(v string) *GetMergeConflictsOutput {
15951	s.DestinationCommitId = &v
15952	return s
15953}
15954
15955// SetMergeable sets the Mergeable field's value.
15956func (s *GetMergeConflictsOutput) SetMergeable(v bool) *GetMergeConflictsOutput {
15957	s.Mergeable = &v
15958	return s
15959}
15960
15961// SetNextToken sets the NextToken field's value.
15962func (s *GetMergeConflictsOutput) SetNextToken(v string) *GetMergeConflictsOutput {
15963	s.NextToken = &v
15964	return s
15965}
15966
15967// SetSourceCommitId sets the SourceCommitId field's value.
15968func (s *GetMergeConflictsOutput) SetSourceCommitId(v string) *GetMergeConflictsOutput {
15969	s.SourceCommitId = &v
15970	return s
15971}
15972
15973type GetMergeOptionsInput struct {
15974	_ struct{} `type:"structure"`
15975
15976	// The level of conflict detail to use. If unspecified, the default FILE_LEVEL
15977	// is used, which returns a not-mergeable result if the same file has differences
15978	// in both branches. If LINE_LEVEL is specified, a conflict is considered not
15979	// mergeable if the same file in both branches has differences on the same line.
15980	ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"`
15981
15982	// Specifies which branch to use when resolving conflicts, or whether to attempt
15983	// automatically merging two versions of a file. The default is NONE, which
15984	// requires any conflicts to be resolved manually before the merge operation
15985	// is successful.
15986	ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"`
15987
15988	// The branch, tag, HEAD, or other fully qualified reference used to identify
15989	// a commit (for example, a branch name or a full commit ID).
15990	//
15991	// DestinationCommitSpecifier is a required field
15992	DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"`
15993
15994	// The name of the repository that contains the commits about which you want
15995	// to get merge options.
15996	//
15997	// RepositoryName is a required field
15998	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
15999
16000	// The branch, tag, HEAD, or other fully qualified reference used to identify
16001	// a commit (for example, a branch name or a full commit ID).
16002	//
16003	// SourceCommitSpecifier is a required field
16004	SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"`
16005}
16006
16007// String returns the string representation
16008func (s GetMergeOptionsInput) String() string {
16009	return awsutil.Prettify(s)
16010}
16011
16012// GoString returns the string representation
16013func (s GetMergeOptionsInput) GoString() string {
16014	return s.String()
16015}
16016
16017// Validate inspects the fields of the type to determine if they are valid.
16018func (s *GetMergeOptionsInput) Validate() error {
16019	invalidParams := request.ErrInvalidParams{Context: "GetMergeOptionsInput"}
16020	if s.DestinationCommitSpecifier == nil {
16021		invalidParams.Add(request.NewErrParamRequired("DestinationCommitSpecifier"))
16022	}
16023	if s.RepositoryName == nil {
16024		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
16025	}
16026	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
16027		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
16028	}
16029	if s.SourceCommitSpecifier == nil {
16030		invalidParams.Add(request.NewErrParamRequired("SourceCommitSpecifier"))
16031	}
16032
16033	if invalidParams.Len() > 0 {
16034		return invalidParams
16035	}
16036	return nil
16037}
16038
16039// SetConflictDetailLevel sets the ConflictDetailLevel field's value.
16040func (s *GetMergeOptionsInput) SetConflictDetailLevel(v string) *GetMergeOptionsInput {
16041	s.ConflictDetailLevel = &v
16042	return s
16043}
16044
16045// SetConflictResolutionStrategy sets the ConflictResolutionStrategy field's value.
16046func (s *GetMergeOptionsInput) SetConflictResolutionStrategy(v string) *GetMergeOptionsInput {
16047	s.ConflictResolutionStrategy = &v
16048	return s
16049}
16050
16051// SetDestinationCommitSpecifier sets the DestinationCommitSpecifier field's value.
16052func (s *GetMergeOptionsInput) SetDestinationCommitSpecifier(v string) *GetMergeOptionsInput {
16053	s.DestinationCommitSpecifier = &v
16054	return s
16055}
16056
16057// SetRepositoryName sets the RepositoryName field's value.
16058func (s *GetMergeOptionsInput) SetRepositoryName(v string) *GetMergeOptionsInput {
16059	s.RepositoryName = &v
16060	return s
16061}
16062
16063// SetSourceCommitSpecifier sets the SourceCommitSpecifier field's value.
16064func (s *GetMergeOptionsInput) SetSourceCommitSpecifier(v string) *GetMergeOptionsInput {
16065	s.SourceCommitSpecifier = &v
16066	return s
16067}
16068
16069type GetMergeOptionsOutput struct {
16070	_ struct{} `type:"structure"`
16071
16072	// The commit ID of the merge base.
16073	//
16074	// BaseCommitId is a required field
16075	BaseCommitId *string `locationName:"baseCommitId" type:"string" required:"true"`
16076
16077	// The commit ID of the destination commit specifier that was used in the merge
16078	// evaluation.
16079	//
16080	// DestinationCommitId is a required field
16081	DestinationCommitId *string `locationName:"destinationCommitId" type:"string" required:"true"`
16082
16083	// The merge option or strategy used to merge the code.
16084	//
16085	// MergeOptions is a required field
16086	MergeOptions []*string `locationName:"mergeOptions" type:"list" required:"true"`
16087
16088	// The commit ID of the source commit specifier that was used in the merge evaluation.
16089	//
16090	// SourceCommitId is a required field
16091	SourceCommitId *string `locationName:"sourceCommitId" type:"string" required:"true"`
16092}
16093
16094// String returns the string representation
16095func (s GetMergeOptionsOutput) String() string {
16096	return awsutil.Prettify(s)
16097}
16098
16099// GoString returns the string representation
16100func (s GetMergeOptionsOutput) GoString() string {
16101	return s.String()
16102}
16103
16104// SetBaseCommitId sets the BaseCommitId field's value.
16105func (s *GetMergeOptionsOutput) SetBaseCommitId(v string) *GetMergeOptionsOutput {
16106	s.BaseCommitId = &v
16107	return s
16108}
16109
16110// SetDestinationCommitId sets the DestinationCommitId field's value.
16111func (s *GetMergeOptionsOutput) SetDestinationCommitId(v string) *GetMergeOptionsOutput {
16112	s.DestinationCommitId = &v
16113	return s
16114}
16115
16116// SetMergeOptions sets the MergeOptions field's value.
16117func (s *GetMergeOptionsOutput) SetMergeOptions(v []*string) *GetMergeOptionsOutput {
16118	s.MergeOptions = v
16119	return s
16120}
16121
16122// SetSourceCommitId sets the SourceCommitId field's value.
16123func (s *GetMergeOptionsOutput) SetSourceCommitId(v string) *GetMergeOptionsOutput {
16124	s.SourceCommitId = &v
16125	return s
16126}
16127
16128type GetPullRequestApprovalStatesInput struct {
16129	_ struct{} `type:"structure"`
16130
16131	// The system-generated ID for the pull request.
16132	//
16133	// PullRequestId is a required field
16134	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
16135
16136	// The system-generated ID for the pull request revision.
16137	//
16138	// RevisionId is a required field
16139	RevisionId *string `locationName:"revisionId" type:"string" required:"true"`
16140}
16141
16142// String returns the string representation
16143func (s GetPullRequestApprovalStatesInput) String() string {
16144	return awsutil.Prettify(s)
16145}
16146
16147// GoString returns the string representation
16148func (s GetPullRequestApprovalStatesInput) GoString() string {
16149	return s.String()
16150}
16151
16152// Validate inspects the fields of the type to determine if they are valid.
16153func (s *GetPullRequestApprovalStatesInput) Validate() error {
16154	invalidParams := request.ErrInvalidParams{Context: "GetPullRequestApprovalStatesInput"}
16155	if s.PullRequestId == nil {
16156		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
16157	}
16158	if s.RevisionId == nil {
16159		invalidParams.Add(request.NewErrParamRequired("RevisionId"))
16160	}
16161
16162	if invalidParams.Len() > 0 {
16163		return invalidParams
16164	}
16165	return nil
16166}
16167
16168// SetPullRequestId sets the PullRequestId field's value.
16169func (s *GetPullRequestApprovalStatesInput) SetPullRequestId(v string) *GetPullRequestApprovalStatesInput {
16170	s.PullRequestId = &v
16171	return s
16172}
16173
16174// SetRevisionId sets the RevisionId field's value.
16175func (s *GetPullRequestApprovalStatesInput) SetRevisionId(v string) *GetPullRequestApprovalStatesInput {
16176	s.RevisionId = &v
16177	return s
16178}
16179
16180type GetPullRequestApprovalStatesOutput struct {
16181	_ struct{} `type:"structure"`
16182
16183	// Information about users who have approved the pull request.
16184	Approvals []*Approval `locationName:"approvals" type:"list"`
16185}
16186
16187// String returns the string representation
16188func (s GetPullRequestApprovalStatesOutput) String() string {
16189	return awsutil.Prettify(s)
16190}
16191
16192// GoString returns the string representation
16193func (s GetPullRequestApprovalStatesOutput) GoString() string {
16194	return s.String()
16195}
16196
16197// SetApprovals sets the Approvals field's value.
16198func (s *GetPullRequestApprovalStatesOutput) SetApprovals(v []*Approval) *GetPullRequestApprovalStatesOutput {
16199	s.Approvals = v
16200	return s
16201}
16202
16203type GetPullRequestInput struct {
16204	_ struct{} `type:"structure"`
16205
16206	// The system-generated ID of the pull request. To get this ID, use ListPullRequests.
16207	//
16208	// PullRequestId is a required field
16209	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
16210}
16211
16212// String returns the string representation
16213func (s GetPullRequestInput) String() string {
16214	return awsutil.Prettify(s)
16215}
16216
16217// GoString returns the string representation
16218func (s GetPullRequestInput) GoString() string {
16219	return s.String()
16220}
16221
16222// Validate inspects the fields of the type to determine if they are valid.
16223func (s *GetPullRequestInput) Validate() error {
16224	invalidParams := request.ErrInvalidParams{Context: "GetPullRequestInput"}
16225	if s.PullRequestId == nil {
16226		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
16227	}
16228
16229	if invalidParams.Len() > 0 {
16230		return invalidParams
16231	}
16232	return nil
16233}
16234
16235// SetPullRequestId sets the PullRequestId field's value.
16236func (s *GetPullRequestInput) SetPullRequestId(v string) *GetPullRequestInput {
16237	s.PullRequestId = &v
16238	return s
16239}
16240
16241type GetPullRequestOutput struct {
16242	_ struct{} `type:"structure"`
16243
16244	// Information about the specified pull request.
16245	//
16246	// PullRequest is a required field
16247	PullRequest *PullRequest `locationName:"pullRequest" type:"structure" required:"true"`
16248}
16249
16250// String returns the string representation
16251func (s GetPullRequestOutput) String() string {
16252	return awsutil.Prettify(s)
16253}
16254
16255// GoString returns the string representation
16256func (s GetPullRequestOutput) GoString() string {
16257	return s.String()
16258}
16259
16260// SetPullRequest sets the PullRequest field's value.
16261func (s *GetPullRequestOutput) SetPullRequest(v *PullRequest) *GetPullRequestOutput {
16262	s.PullRequest = v
16263	return s
16264}
16265
16266type GetPullRequestOverrideStateInput struct {
16267	_ struct{} `type:"structure"`
16268
16269	// The ID of the pull request for which you want to get information about whether
16270	// approval rules have been set aside (overridden).
16271	//
16272	// PullRequestId is a required field
16273	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
16274
16275	// The system-generated ID of the revision for the pull request. To retrieve
16276	// the most recent revision ID, use GetPullRequest.
16277	//
16278	// RevisionId is a required field
16279	RevisionId *string `locationName:"revisionId" type:"string" required:"true"`
16280}
16281
16282// String returns the string representation
16283func (s GetPullRequestOverrideStateInput) String() string {
16284	return awsutil.Prettify(s)
16285}
16286
16287// GoString returns the string representation
16288func (s GetPullRequestOverrideStateInput) GoString() string {
16289	return s.String()
16290}
16291
16292// Validate inspects the fields of the type to determine if they are valid.
16293func (s *GetPullRequestOverrideStateInput) Validate() error {
16294	invalidParams := request.ErrInvalidParams{Context: "GetPullRequestOverrideStateInput"}
16295	if s.PullRequestId == nil {
16296		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
16297	}
16298	if s.RevisionId == nil {
16299		invalidParams.Add(request.NewErrParamRequired("RevisionId"))
16300	}
16301
16302	if invalidParams.Len() > 0 {
16303		return invalidParams
16304	}
16305	return nil
16306}
16307
16308// SetPullRequestId sets the PullRequestId field's value.
16309func (s *GetPullRequestOverrideStateInput) SetPullRequestId(v string) *GetPullRequestOverrideStateInput {
16310	s.PullRequestId = &v
16311	return s
16312}
16313
16314// SetRevisionId sets the RevisionId field's value.
16315func (s *GetPullRequestOverrideStateInput) SetRevisionId(v string) *GetPullRequestOverrideStateInput {
16316	s.RevisionId = &v
16317	return s
16318}
16319
16320type GetPullRequestOverrideStateOutput struct {
16321	_ struct{} `type:"structure"`
16322
16323	// A Boolean value that indicates whether a pull request has had its rules set
16324	// aside (TRUE) or whether all approval rules still apply (FALSE).
16325	Overridden *bool `locationName:"overridden" type:"boolean"`
16326
16327	// The Amazon Resource Name (ARN) of the user or identity that overrode the
16328	// rules and their requirements for the pull request.
16329	Overrider *string `locationName:"overrider" type:"string"`
16330}
16331
16332// String returns the string representation
16333func (s GetPullRequestOverrideStateOutput) String() string {
16334	return awsutil.Prettify(s)
16335}
16336
16337// GoString returns the string representation
16338func (s GetPullRequestOverrideStateOutput) GoString() string {
16339	return s.String()
16340}
16341
16342// SetOverridden sets the Overridden field's value.
16343func (s *GetPullRequestOverrideStateOutput) SetOverridden(v bool) *GetPullRequestOverrideStateOutput {
16344	s.Overridden = &v
16345	return s
16346}
16347
16348// SetOverrider sets the Overrider field's value.
16349func (s *GetPullRequestOverrideStateOutput) SetOverrider(v string) *GetPullRequestOverrideStateOutput {
16350	s.Overrider = &v
16351	return s
16352}
16353
16354// Represents the input of a get repository operation.
16355type GetRepositoryInput struct {
16356	_ struct{} `type:"structure"`
16357
16358	// The name of the repository to get information about.
16359	//
16360	// RepositoryName is a required field
16361	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
16362}
16363
16364// String returns the string representation
16365func (s GetRepositoryInput) String() string {
16366	return awsutil.Prettify(s)
16367}
16368
16369// GoString returns the string representation
16370func (s GetRepositoryInput) GoString() string {
16371	return s.String()
16372}
16373
16374// Validate inspects the fields of the type to determine if they are valid.
16375func (s *GetRepositoryInput) Validate() error {
16376	invalidParams := request.ErrInvalidParams{Context: "GetRepositoryInput"}
16377	if s.RepositoryName == nil {
16378		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
16379	}
16380	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
16381		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
16382	}
16383
16384	if invalidParams.Len() > 0 {
16385		return invalidParams
16386	}
16387	return nil
16388}
16389
16390// SetRepositoryName sets the RepositoryName field's value.
16391func (s *GetRepositoryInput) SetRepositoryName(v string) *GetRepositoryInput {
16392	s.RepositoryName = &v
16393	return s
16394}
16395
16396// Represents the output of a get repository operation.
16397type GetRepositoryOutput struct {
16398	_ struct{} `type:"structure"`
16399
16400	// Information about the repository.
16401	RepositoryMetadata *RepositoryMetadata `locationName:"repositoryMetadata" type:"structure"`
16402}
16403
16404// String returns the string representation
16405func (s GetRepositoryOutput) String() string {
16406	return awsutil.Prettify(s)
16407}
16408
16409// GoString returns the string representation
16410func (s GetRepositoryOutput) GoString() string {
16411	return s.String()
16412}
16413
16414// SetRepositoryMetadata sets the RepositoryMetadata field's value.
16415func (s *GetRepositoryOutput) SetRepositoryMetadata(v *RepositoryMetadata) *GetRepositoryOutput {
16416	s.RepositoryMetadata = v
16417	return s
16418}
16419
16420// Represents the input of a get repository triggers operation.
16421type GetRepositoryTriggersInput struct {
16422	_ struct{} `type:"structure"`
16423
16424	// The name of the repository for which the trigger is configured.
16425	//
16426	// RepositoryName is a required field
16427	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
16428}
16429
16430// String returns the string representation
16431func (s GetRepositoryTriggersInput) String() string {
16432	return awsutil.Prettify(s)
16433}
16434
16435// GoString returns the string representation
16436func (s GetRepositoryTriggersInput) GoString() string {
16437	return s.String()
16438}
16439
16440// Validate inspects the fields of the type to determine if they are valid.
16441func (s *GetRepositoryTriggersInput) Validate() error {
16442	invalidParams := request.ErrInvalidParams{Context: "GetRepositoryTriggersInput"}
16443	if s.RepositoryName == nil {
16444		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
16445	}
16446	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
16447		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
16448	}
16449
16450	if invalidParams.Len() > 0 {
16451		return invalidParams
16452	}
16453	return nil
16454}
16455
16456// SetRepositoryName sets the RepositoryName field's value.
16457func (s *GetRepositoryTriggersInput) SetRepositoryName(v string) *GetRepositoryTriggersInput {
16458	s.RepositoryName = &v
16459	return s
16460}
16461
16462// Represents the output of a get repository triggers operation.
16463type GetRepositoryTriggersOutput struct {
16464	_ struct{} `type:"structure"`
16465
16466	// The system-generated unique ID for the trigger.
16467	ConfigurationId *string `locationName:"configurationId" type:"string"`
16468
16469	// The JSON block of configuration information for each trigger.
16470	Triggers []*RepositoryTrigger `locationName:"triggers" type:"list"`
16471}
16472
16473// String returns the string representation
16474func (s GetRepositoryTriggersOutput) String() string {
16475	return awsutil.Prettify(s)
16476}
16477
16478// GoString returns the string representation
16479func (s GetRepositoryTriggersOutput) GoString() string {
16480	return s.String()
16481}
16482
16483// SetConfigurationId sets the ConfigurationId field's value.
16484func (s *GetRepositoryTriggersOutput) SetConfigurationId(v string) *GetRepositoryTriggersOutput {
16485	s.ConfigurationId = &v
16486	return s
16487}
16488
16489// SetTriggers sets the Triggers field's value.
16490func (s *GetRepositoryTriggersOutput) SetTriggers(v []*RepositoryTrigger) *GetRepositoryTriggersOutput {
16491	s.Triggers = v
16492	return s
16493}
16494
16495// Information about whether a file is binary or textual in a merge or pull
16496// request operation.
16497type IsBinaryFile struct {
16498	_ struct{} `type:"structure"`
16499
16500	// The binary or non-binary status of a file in the base of a merge or pull
16501	// request.
16502	Base *bool `locationName:"base" type:"boolean"`
16503
16504	// The binary or non-binary status of a file in the destination of a merge or
16505	// pull request.
16506	Destination *bool `locationName:"destination" type:"boolean"`
16507
16508	// The binary or non-binary status of file in the source of a merge or pull
16509	// request.
16510	Source *bool `locationName:"source" type:"boolean"`
16511}
16512
16513// String returns the string representation
16514func (s IsBinaryFile) String() string {
16515	return awsutil.Prettify(s)
16516}
16517
16518// GoString returns the string representation
16519func (s IsBinaryFile) GoString() string {
16520	return s.String()
16521}
16522
16523// SetBase sets the Base field's value.
16524func (s *IsBinaryFile) SetBase(v bool) *IsBinaryFile {
16525	s.Base = &v
16526	return s
16527}
16528
16529// SetDestination sets the Destination field's value.
16530func (s *IsBinaryFile) SetDestination(v bool) *IsBinaryFile {
16531	s.Destination = &v
16532	return s
16533}
16534
16535// SetSource sets the Source field's value.
16536func (s *IsBinaryFile) SetSource(v bool) *IsBinaryFile {
16537	s.Source = &v
16538	return s
16539}
16540
16541type ListApprovalRuleTemplatesInput struct {
16542	_ struct{} `type:"structure"`
16543
16544	// A non-zero, non-negative integer used to limit the number of returned results.
16545	MaxResults *int64 `locationName:"maxResults" type:"integer"`
16546
16547	// An enumeration token that, when provided in a request, returns the next batch
16548	// of the results.
16549	NextToken *string `locationName:"nextToken" type:"string"`
16550}
16551
16552// String returns the string representation
16553func (s ListApprovalRuleTemplatesInput) String() string {
16554	return awsutil.Prettify(s)
16555}
16556
16557// GoString returns the string representation
16558func (s ListApprovalRuleTemplatesInput) GoString() string {
16559	return s.String()
16560}
16561
16562// SetMaxResults sets the MaxResults field's value.
16563func (s *ListApprovalRuleTemplatesInput) SetMaxResults(v int64) *ListApprovalRuleTemplatesInput {
16564	s.MaxResults = &v
16565	return s
16566}
16567
16568// SetNextToken sets the NextToken field's value.
16569func (s *ListApprovalRuleTemplatesInput) SetNextToken(v string) *ListApprovalRuleTemplatesInput {
16570	s.NextToken = &v
16571	return s
16572}
16573
16574type ListApprovalRuleTemplatesOutput struct {
16575	_ struct{} `type:"structure"`
16576
16577	// The names of all the approval rule templates found in the AWS Region for
16578	// your AWS account.
16579	ApprovalRuleTemplateNames []*string `locationName:"approvalRuleTemplateNames" type:"list"`
16580
16581	// An enumeration token that allows the operation to batch the next results
16582	// of the operation.
16583	NextToken *string `locationName:"nextToken" type:"string"`
16584}
16585
16586// String returns the string representation
16587func (s ListApprovalRuleTemplatesOutput) String() string {
16588	return awsutil.Prettify(s)
16589}
16590
16591// GoString returns the string representation
16592func (s ListApprovalRuleTemplatesOutput) GoString() string {
16593	return s.String()
16594}
16595
16596// SetApprovalRuleTemplateNames sets the ApprovalRuleTemplateNames field's value.
16597func (s *ListApprovalRuleTemplatesOutput) SetApprovalRuleTemplateNames(v []*string) *ListApprovalRuleTemplatesOutput {
16598	s.ApprovalRuleTemplateNames = v
16599	return s
16600}
16601
16602// SetNextToken sets the NextToken field's value.
16603func (s *ListApprovalRuleTemplatesOutput) SetNextToken(v string) *ListApprovalRuleTemplatesOutput {
16604	s.NextToken = &v
16605	return s
16606}
16607
16608type ListAssociatedApprovalRuleTemplatesForRepositoryInput struct {
16609	_ struct{} `type:"structure"`
16610
16611	// A non-zero, non-negative integer used to limit the number of returned results.
16612	MaxResults *int64 `locationName:"maxResults" type:"integer"`
16613
16614	// An enumeration token that, when provided in a request, returns the next batch
16615	// of the results.
16616	NextToken *string `locationName:"nextToken" type:"string"`
16617
16618	// The name of the repository for which you want to list all associated approval
16619	// rule templates.
16620	//
16621	// RepositoryName is a required field
16622	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
16623}
16624
16625// String returns the string representation
16626func (s ListAssociatedApprovalRuleTemplatesForRepositoryInput) String() string {
16627	return awsutil.Prettify(s)
16628}
16629
16630// GoString returns the string representation
16631func (s ListAssociatedApprovalRuleTemplatesForRepositoryInput) GoString() string {
16632	return s.String()
16633}
16634
16635// Validate inspects the fields of the type to determine if they are valid.
16636func (s *ListAssociatedApprovalRuleTemplatesForRepositoryInput) Validate() error {
16637	invalidParams := request.ErrInvalidParams{Context: "ListAssociatedApprovalRuleTemplatesForRepositoryInput"}
16638	if s.RepositoryName == nil {
16639		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
16640	}
16641	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
16642		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
16643	}
16644
16645	if invalidParams.Len() > 0 {
16646		return invalidParams
16647	}
16648	return nil
16649}
16650
16651// SetMaxResults sets the MaxResults field's value.
16652func (s *ListAssociatedApprovalRuleTemplatesForRepositoryInput) SetMaxResults(v int64) *ListAssociatedApprovalRuleTemplatesForRepositoryInput {
16653	s.MaxResults = &v
16654	return s
16655}
16656
16657// SetNextToken sets the NextToken field's value.
16658func (s *ListAssociatedApprovalRuleTemplatesForRepositoryInput) SetNextToken(v string) *ListAssociatedApprovalRuleTemplatesForRepositoryInput {
16659	s.NextToken = &v
16660	return s
16661}
16662
16663// SetRepositoryName sets the RepositoryName field's value.
16664func (s *ListAssociatedApprovalRuleTemplatesForRepositoryInput) SetRepositoryName(v string) *ListAssociatedApprovalRuleTemplatesForRepositoryInput {
16665	s.RepositoryName = &v
16666	return s
16667}
16668
16669type ListAssociatedApprovalRuleTemplatesForRepositoryOutput struct {
16670	_ struct{} `type:"structure"`
16671
16672	// The names of all approval rule templates associated with the repository.
16673	ApprovalRuleTemplateNames []*string `locationName:"approvalRuleTemplateNames" type:"list"`
16674
16675	// An enumeration token that allows the operation to batch the next results
16676	// of the operation.
16677	NextToken *string `locationName:"nextToken" type:"string"`
16678}
16679
16680// String returns the string representation
16681func (s ListAssociatedApprovalRuleTemplatesForRepositoryOutput) String() string {
16682	return awsutil.Prettify(s)
16683}
16684
16685// GoString returns the string representation
16686func (s ListAssociatedApprovalRuleTemplatesForRepositoryOutput) GoString() string {
16687	return s.String()
16688}
16689
16690// SetApprovalRuleTemplateNames sets the ApprovalRuleTemplateNames field's value.
16691func (s *ListAssociatedApprovalRuleTemplatesForRepositoryOutput) SetApprovalRuleTemplateNames(v []*string) *ListAssociatedApprovalRuleTemplatesForRepositoryOutput {
16692	s.ApprovalRuleTemplateNames = v
16693	return s
16694}
16695
16696// SetNextToken sets the NextToken field's value.
16697func (s *ListAssociatedApprovalRuleTemplatesForRepositoryOutput) SetNextToken(v string) *ListAssociatedApprovalRuleTemplatesForRepositoryOutput {
16698	s.NextToken = &v
16699	return s
16700}
16701
16702// Represents the input of a list branches operation.
16703type ListBranchesInput struct {
16704	_ struct{} `type:"structure"`
16705
16706	// An enumeration token that allows the operation to batch the results.
16707	NextToken *string `locationName:"nextToken" type:"string"`
16708
16709	// The name of the repository that contains the branches.
16710	//
16711	// RepositoryName is a required field
16712	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
16713}
16714
16715// String returns the string representation
16716func (s ListBranchesInput) String() string {
16717	return awsutil.Prettify(s)
16718}
16719
16720// GoString returns the string representation
16721func (s ListBranchesInput) GoString() string {
16722	return s.String()
16723}
16724
16725// Validate inspects the fields of the type to determine if they are valid.
16726func (s *ListBranchesInput) Validate() error {
16727	invalidParams := request.ErrInvalidParams{Context: "ListBranchesInput"}
16728	if s.RepositoryName == nil {
16729		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
16730	}
16731	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
16732		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
16733	}
16734
16735	if invalidParams.Len() > 0 {
16736		return invalidParams
16737	}
16738	return nil
16739}
16740
16741// SetNextToken sets the NextToken field's value.
16742func (s *ListBranchesInput) SetNextToken(v string) *ListBranchesInput {
16743	s.NextToken = &v
16744	return s
16745}
16746
16747// SetRepositoryName sets the RepositoryName field's value.
16748func (s *ListBranchesInput) SetRepositoryName(v string) *ListBranchesInput {
16749	s.RepositoryName = &v
16750	return s
16751}
16752
16753// Represents the output of a list branches operation.
16754type ListBranchesOutput struct {
16755	_ struct{} `type:"structure"`
16756
16757	// The list of branch names.
16758	Branches []*string `locationName:"branches" type:"list"`
16759
16760	// An enumeration token that returns the batch of the results.
16761	NextToken *string `locationName:"nextToken" type:"string"`
16762}
16763
16764// String returns the string representation
16765func (s ListBranchesOutput) String() string {
16766	return awsutil.Prettify(s)
16767}
16768
16769// GoString returns the string representation
16770func (s ListBranchesOutput) GoString() string {
16771	return s.String()
16772}
16773
16774// SetBranches sets the Branches field's value.
16775func (s *ListBranchesOutput) SetBranches(v []*string) *ListBranchesOutput {
16776	s.Branches = v
16777	return s
16778}
16779
16780// SetNextToken sets the NextToken field's value.
16781func (s *ListBranchesOutput) SetNextToken(v string) *ListBranchesOutput {
16782	s.NextToken = &v
16783	return s
16784}
16785
16786type ListPullRequestsInput struct {
16787	_ struct{} `type:"structure"`
16788
16789	// Optional. The Amazon Resource Name (ARN) of the user who created the pull
16790	// request. If used, this filters the results to pull requests created by that
16791	// user.
16792	AuthorArn *string `locationName:"authorArn" type:"string"`
16793
16794	// A non-zero, non-negative integer used to limit the number of returned results.
16795	MaxResults *int64 `locationName:"maxResults" type:"integer"`
16796
16797	// An enumeration token that, when provided in a request, returns the next batch
16798	// of the results.
16799	NextToken *string `locationName:"nextToken" type:"string"`
16800
16801	// Optional. The status of the pull request. If used, this refines the results
16802	// to the pull requests that match the specified status.
16803	PullRequestStatus *string `locationName:"pullRequestStatus" type:"string" enum:"PullRequestStatusEnum"`
16804
16805	// The name of the repository for which you want to list pull requests.
16806	//
16807	// RepositoryName is a required field
16808	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
16809}
16810
16811// String returns the string representation
16812func (s ListPullRequestsInput) String() string {
16813	return awsutil.Prettify(s)
16814}
16815
16816// GoString returns the string representation
16817func (s ListPullRequestsInput) GoString() string {
16818	return s.String()
16819}
16820
16821// Validate inspects the fields of the type to determine if they are valid.
16822func (s *ListPullRequestsInput) Validate() error {
16823	invalidParams := request.ErrInvalidParams{Context: "ListPullRequestsInput"}
16824	if s.RepositoryName == nil {
16825		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
16826	}
16827	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
16828		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
16829	}
16830
16831	if invalidParams.Len() > 0 {
16832		return invalidParams
16833	}
16834	return nil
16835}
16836
16837// SetAuthorArn sets the AuthorArn field's value.
16838func (s *ListPullRequestsInput) SetAuthorArn(v string) *ListPullRequestsInput {
16839	s.AuthorArn = &v
16840	return s
16841}
16842
16843// SetMaxResults sets the MaxResults field's value.
16844func (s *ListPullRequestsInput) SetMaxResults(v int64) *ListPullRequestsInput {
16845	s.MaxResults = &v
16846	return s
16847}
16848
16849// SetNextToken sets the NextToken field's value.
16850func (s *ListPullRequestsInput) SetNextToken(v string) *ListPullRequestsInput {
16851	s.NextToken = &v
16852	return s
16853}
16854
16855// SetPullRequestStatus sets the PullRequestStatus field's value.
16856func (s *ListPullRequestsInput) SetPullRequestStatus(v string) *ListPullRequestsInput {
16857	s.PullRequestStatus = &v
16858	return s
16859}
16860
16861// SetRepositoryName sets the RepositoryName field's value.
16862func (s *ListPullRequestsInput) SetRepositoryName(v string) *ListPullRequestsInput {
16863	s.RepositoryName = &v
16864	return s
16865}
16866
16867type ListPullRequestsOutput struct {
16868	_ struct{} `type:"structure"`
16869
16870	// An enumeration token that allows the operation to batch the next results
16871	// of the operation.
16872	NextToken *string `locationName:"nextToken" type:"string"`
16873
16874	// The system-generated IDs of the pull requests.
16875	//
16876	// PullRequestIds is a required field
16877	PullRequestIds []*string `locationName:"pullRequestIds" type:"list" required:"true"`
16878}
16879
16880// String returns the string representation
16881func (s ListPullRequestsOutput) String() string {
16882	return awsutil.Prettify(s)
16883}
16884
16885// GoString returns the string representation
16886func (s ListPullRequestsOutput) GoString() string {
16887	return s.String()
16888}
16889
16890// SetNextToken sets the NextToken field's value.
16891func (s *ListPullRequestsOutput) SetNextToken(v string) *ListPullRequestsOutput {
16892	s.NextToken = &v
16893	return s
16894}
16895
16896// SetPullRequestIds sets the PullRequestIds field's value.
16897func (s *ListPullRequestsOutput) SetPullRequestIds(v []*string) *ListPullRequestsOutput {
16898	s.PullRequestIds = v
16899	return s
16900}
16901
16902type ListRepositoriesForApprovalRuleTemplateInput struct {
16903	_ struct{} `type:"structure"`
16904
16905	// The name of the approval rule template for which you want to list repositories
16906	// that are associated with that template.
16907	//
16908	// ApprovalRuleTemplateName is a required field
16909	ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"`
16910
16911	// A non-zero, non-negative integer used to limit the number of returned results.
16912	MaxResults *int64 `locationName:"maxResults" type:"integer"`
16913
16914	// An enumeration token that, when provided in a request, returns the next batch
16915	// of the results.
16916	NextToken *string `locationName:"nextToken" type:"string"`
16917}
16918
16919// String returns the string representation
16920func (s ListRepositoriesForApprovalRuleTemplateInput) String() string {
16921	return awsutil.Prettify(s)
16922}
16923
16924// GoString returns the string representation
16925func (s ListRepositoriesForApprovalRuleTemplateInput) GoString() string {
16926	return s.String()
16927}
16928
16929// Validate inspects the fields of the type to determine if they are valid.
16930func (s *ListRepositoriesForApprovalRuleTemplateInput) Validate() error {
16931	invalidParams := request.ErrInvalidParams{Context: "ListRepositoriesForApprovalRuleTemplateInput"}
16932	if s.ApprovalRuleTemplateName == nil {
16933		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName"))
16934	}
16935	if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 {
16936		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1))
16937	}
16938
16939	if invalidParams.Len() > 0 {
16940		return invalidParams
16941	}
16942	return nil
16943}
16944
16945// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value.
16946func (s *ListRepositoriesForApprovalRuleTemplateInput) SetApprovalRuleTemplateName(v string) *ListRepositoriesForApprovalRuleTemplateInput {
16947	s.ApprovalRuleTemplateName = &v
16948	return s
16949}
16950
16951// SetMaxResults sets the MaxResults field's value.
16952func (s *ListRepositoriesForApprovalRuleTemplateInput) SetMaxResults(v int64) *ListRepositoriesForApprovalRuleTemplateInput {
16953	s.MaxResults = &v
16954	return s
16955}
16956
16957// SetNextToken sets the NextToken field's value.
16958func (s *ListRepositoriesForApprovalRuleTemplateInput) SetNextToken(v string) *ListRepositoriesForApprovalRuleTemplateInput {
16959	s.NextToken = &v
16960	return s
16961}
16962
16963type ListRepositoriesForApprovalRuleTemplateOutput struct {
16964	_ struct{} `type:"structure"`
16965
16966	// An enumeration token that allows the operation to batch the next results
16967	// of the operation.
16968	NextToken *string `locationName:"nextToken" type:"string"`
16969
16970	// A list of repository names that are associated with the specified approval
16971	// rule template.
16972	RepositoryNames []*string `locationName:"repositoryNames" type:"list"`
16973}
16974
16975// String returns the string representation
16976func (s ListRepositoriesForApprovalRuleTemplateOutput) String() string {
16977	return awsutil.Prettify(s)
16978}
16979
16980// GoString returns the string representation
16981func (s ListRepositoriesForApprovalRuleTemplateOutput) GoString() string {
16982	return s.String()
16983}
16984
16985// SetNextToken sets the NextToken field's value.
16986func (s *ListRepositoriesForApprovalRuleTemplateOutput) SetNextToken(v string) *ListRepositoriesForApprovalRuleTemplateOutput {
16987	s.NextToken = &v
16988	return s
16989}
16990
16991// SetRepositoryNames sets the RepositoryNames field's value.
16992func (s *ListRepositoriesForApprovalRuleTemplateOutput) SetRepositoryNames(v []*string) *ListRepositoriesForApprovalRuleTemplateOutput {
16993	s.RepositoryNames = v
16994	return s
16995}
16996
16997// Represents the input of a list repositories operation.
16998type ListRepositoriesInput struct {
16999	_ struct{} `type:"structure"`
17000
17001	// An enumeration token that allows the operation to batch the results of the
17002	// operation. Batch sizes are 1,000 for list repository operations. When the
17003	// client sends the token back to AWS CodeCommit, another page of 1,000 records
17004	// is retrieved.
17005	NextToken *string `locationName:"nextToken" type:"string"`
17006
17007	// The order in which to sort the results of a list repositories operation.
17008	Order *string `locationName:"order" type:"string" enum:"OrderEnum"`
17009
17010	// The criteria used to sort the results of a list repositories operation.
17011	SortBy *string `locationName:"sortBy" type:"string" enum:"SortByEnum"`
17012}
17013
17014// String returns the string representation
17015func (s ListRepositoriesInput) String() string {
17016	return awsutil.Prettify(s)
17017}
17018
17019// GoString returns the string representation
17020func (s ListRepositoriesInput) GoString() string {
17021	return s.String()
17022}
17023
17024// SetNextToken sets the NextToken field's value.
17025func (s *ListRepositoriesInput) SetNextToken(v string) *ListRepositoriesInput {
17026	s.NextToken = &v
17027	return s
17028}
17029
17030// SetOrder sets the Order field's value.
17031func (s *ListRepositoriesInput) SetOrder(v string) *ListRepositoriesInput {
17032	s.Order = &v
17033	return s
17034}
17035
17036// SetSortBy sets the SortBy field's value.
17037func (s *ListRepositoriesInput) SetSortBy(v string) *ListRepositoriesInput {
17038	s.SortBy = &v
17039	return s
17040}
17041
17042// Represents the output of a list repositories operation.
17043type ListRepositoriesOutput struct {
17044	_ struct{} `type:"structure"`
17045
17046	// An enumeration token that allows the operation to batch the results of the
17047	// operation. Batch sizes are 1,000 for list repository operations. When the
17048	// client sends the token back to AWS CodeCommit, another page of 1,000 records
17049	// is retrieved.
17050	NextToken *string `locationName:"nextToken" type:"string"`
17051
17052	// Lists the repositories called by the list repositories operation.
17053	Repositories []*RepositoryNameIdPair `locationName:"repositories" type:"list"`
17054}
17055
17056// String returns the string representation
17057func (s ListRepositoriesOutput) String() string {
17058	return awsutil.Prettify(s)
17059}
17060
17061// GoString returns the string representation
17062func (s ListRepositoriesOutput) GoString() string {
17063	return s.String()
17064}
17065
17066// SetNextToken sets the NextToken field's value.
17067func (s *ListRepositoriesOutput) SetNextToken(v string) *ListRepositoriesOutput {
17068	s.NextToken = &v
17069	return s
17070}
17071
17072// SetRepositories sets the Repositories field's value.
17073func (s *ListRepositoriesOutput) SetRepositories(v []*RepositoryNameIdPair) *ListRepositoriesOutput {
17074	s.Repositories = v
17075	return s
17076}
17077
17078type ListTagsForResourceInput struct {
17079	_ struct{} `type:"structure"`
17080
17081	// An enumeration token that, when provided in a request, returns the next batch
17082	// of the results.
17083	NextToken *string `locationName:"nextToken" type:"string"`
17084
17085	// The Amazon Resource Name (ARN) of the resource for which you want to get
17086	// information about tags, if any.
17087	//
17088	// ResourceArn is a required field
17089	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
17090}
17091
17092// String returns the string representation
17093func (s ListTagsForResourceInput) String() string {
17094	return awsutil.Prettify(s)
17095}
17096
17097// GoString returns the string representation
17098func (s ListTagsForResourceInput) GoString() string {
17099	return s.String()
17100}
17101
17102// Validate inspects the fields of the type to determine if they are valid.
17103func (s *ListTagsForResourceInput) Validate() error {
17104	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
17105	if s.ResourceArn == nil {
17106		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
17107	}
17108
17109	if invalidParams.Len() > 0 {
17110		return invalidParams
17111	}
17112	return nil
17113}
17114
17115// SetNextToken sets the NextToken field's value.
17116func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput {
17117	s.NextToken = &v
17118	return s
17119}
17120
17121// SetResourceArn sets the ResourceArn field's value.
17122func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
17123	s.ResourceArn = &v
17124	return s
17125}
17126
17127type ListTagsForResourceOutput struct {
17128	_ struct{} `type:"structure"`
17129
17130	// An enumeration token that allows the operation to batch the next results
17131	// of the operation.
17132	NextToken *string `locationName:"nextToken" type:"string"`
17133
17134	// A list of tag key and value pairs associated with the specified resource.
17135	Tags map[string]*string `locationName:"tags" type:"map"`
17136}
17137
17138// String returns the string representation
17139func (s ListTagsForResourceOutput) String() string {
17140	return awsutil.Prettify(s)
17141}
17142
17143// GoString returns the string representation
17144func (s ListTagsForResourceOutput) GoString() string {
17145	return s.String()
17146}
17147
17148// SetNextToken sets the NextToken field's value.
17149func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput {
17150	s.NextToken = &v
17151	return s
17152}
17153
17154// SetTags sets the Tags field's value.
17155func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
17156	s.Tags = v
17157	return s
17158}
17159
17160// Returns information about the location of a change or comment in the comparison
17161// between two commits or a pull request.
17162type Location struct {
17163	_ struct{} `type:"structure"`
17164
17165	// The name of the file being compared, including its extension and subdirectory,
17166	// if any.
17167	FilePath *string `locationName:"filePath" type:"string"`
17168
17169	// The position of a change in a compared file, in line number format.
17170	FilePosition *int64 `locationName:"filePosition" type:"long"`
17171
17172	// In a comparison of commits or a pull request, whether the change is in the
17173	// before or after of that comparison.
17174	RelativeFileVersion *string `locationName:"relativeFileVersion" type:"string" enum:"RelativeFileVersionEnum"`
17175}
17176
17177// String returns the string representation
17178func (s Location) String() string {
17179	return awsutil.Prettify(s)
17180}
17181
17182// GoString returns the string representation
17183func (s Location) GoString() string {
17184	return s.String()
17185}
17186
17187// SetFilePath sets the FilePath field's value.
17188func (s *Location) SetFilePath(v string) *Location {
17189	s.FilePath = &v
17190	return s
17191}
17192
17193// SetFilePosition sets the FilePosition field's value.
17194func (s *Location) SetFilePosition(v int64) *Location {
17195	s.FilePosition = &v
17196	return s
17197}
17198
17199// SetRelativeFileVersion sets the RelativeFileVersion field's value.
17200func (s *Location) SetRelativeFileVersion(v string) *Location {
17201	s.RelativeFileVersion = &v
17202	return s
17203}
17204
17205type MergeBranchesByFastForwardInput struct {
17206	_ struct{} `type:"structure"`
17207
17208	// The branch, tag, HEAD, or other fully qualified reference used to identify
17209	// a commit (for example, a branch name or a full commit ID).
17210	//
17211	// DestinationCommitSpecifier is a required field
17212	DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"`
17213
17214	// The name of the repository where you want to merge two branches.
17215	//
17216	// RepositoryName is a required field
17217	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
17218
17219	// The branch, tag, HEAD, or other fully qualified reference used to identify
17220	// a commit (for example, a branch name or a full commit ID).
17221	//
17222	// SourceCommitSpecifier is a required field
17223	SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"`
17224
17225	// The branch where the merge is applied.
17226	TargetBranch *string `locationName:"targetBranch" min:"1" type:"string"`
17227}
17228
17229// String returns the string representation
17230func (s MergeBranchesByFastForwardInput) String() string {
17231	return awsutil.Prettify(s)
17232}
17233
17234// GoString returns the string representation
17235func (s MergeBranchesByFastForwardInput) GoString() string {
17236	return s.String()
17237}
17238
17239// Validate inspects the fields of the type to determine if they are valid.
17240func (s *MergeBranchesByFastForwardInput) Validate() error {
17241	invalidParams := request.ErrInvalidParams{Context: "MergeBranchesByFastForwardInput"}
17242	if s.DestinationCommitSpecifier == nil {
17243		invalidParams.Add(request.NewErrParamRequired("DestinationCommitSpecifier"))
17244	}
17245	if s.RepositoryName == nil {
17246		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
17247	}
17248	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
17249		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
17250	}
17251	if s.SourceCommitSpecifier == nil {
17252		invalidParams.Add(request.NewErrParamRequired("SourceCommitSpecifier"))
17253	}
17254	if s.TargetBranch != nil && len(*s.TargetBranch) < 1 {
17255		invalidParams.Add(request.NewErrParamMinLen("TargetBranch", 1))
17256	}
17257
17258	if invalidParams.Len() > 0 {
17259		return invalidParams
17260	}
17261	return nil
17262}
17263
17264// SetDestinationCommitSpecifier sets the DestinationCommitSpecifier field's value.
17265func (s *MergeBranchesByFastForwardInput) SetDestinationCommitSpecifier(v string) *MergeBranchesByFastForwardInput {
17266	s.DestinationCommitSpecifier = &v
17267	return s
17268}
17269
17270// SetRepositoryName sets the RepositoryName field's value.
17271func (s *MergeBranchesByFastForwardInput) SetRepositoryName(v string) *MergeBranchesByFastForwardInput {
17272	s.RepositoryName = &v
17273	return s
17274}
17275
17276// SetSourceCommitSpecifier sets the SourceCommitSpecifier field's value.
17277func (s *MergeBranchesByFastForwardInput) SetSourceCommitSpecifier(v string) *MergeBranchesByFastForwardInput {
17278	s.SourceCommitSpecifier = &v
17279	return s
17280}
17281
17282// SetTargetBranch sets the TargetBranch field's value.
17283func (s *MergeBranchesByFastForwardInput) SetTargetBranch(v string) *MergeBranchesByFastForwardInput {
17284	s.TargetBranch = &v
17285	return s
17286}
17287
17288type MergeBranchesByFastForwardOutput struct {
17289	_ struct{} `type:"structure"`
17290
17291	// The commit ID of the merge in the destination or target branch.
17292	CommitId *string `locationName:"commitId" type:"string"`
17293
17294	// The tree ID of the merge in the destination or target branch.
17295	TreeId *string `locationName:"treeId" type:"string"`
17296}
17297
17298// String returns the string representation
17299func (s MergeBranchesByFastForwardOutput) String() string {
17300	return awsutil.Prettify(s)
17301}
17302
17303// GoString returns the string representation
17304func (s MergeBranchesByFastForwardOutput) GoString() string {
17305	return s.String()
17306}
17307
17308// SetCommitId sets the CommitId field's value.
17309func (s *MergeBranchesByFastForwardOutput) SetCommitId(v string) *MergeBranchesByFastForwardOutput {
17310	s.CommitId = &v
17311	return s
17312}
17313
17314// SetTreeId sets the TreeId field's value.
17315func (s *MergeBranchesByFastForwardOutput) SetTreeId(v string) *MergeBranchesByFastForwardOutput {
17316	s.TreeId = &v
17317	return s
17318}
17319
17320type MergeBranchesBySquashInput struct {
17321	_ struct{} `type:"structure"`
17322
17323	// The name of the author who created the commit. This information is used as
17324	// both the author and committer for the commit.
17325	AuthorName *string `locationName:"authorName" type:"string"`
17326
17327	// The commit message for the merge.
17328	CommitMessage *string `locationName:"commitMessage" type:"string"`
17329
17330	// The level of conflict detail to use. If unspecified, the default FILE_LEVEL
17331	// is used, which returns a not-mergeable result if the same file has differences
17332	// in both branches. If LINE_LEVEL is specified, a conflict is considered not
17333	// mergeable if the same file in both branches has differences on the same line.
17334	ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"`
17335
17336	// If AUTOMERGE is the conflict resolution strategy, a list of inputs to use
17337	// when resolving conflicts during a merge.
17338	ConflictResolution *ConflictResolution `locationName:"conflictResolution" type:"structure"`
17339
17340	// Specifies which branch to use when resolving conflicts, or whether to attempt
17341	// automatically merging two versions of a file. The default is NONE, which
17342	// requires any conflicts to be resolved manually before the merge operation
17343	// is successful.
17344	ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"`
17345
17346	// The branch, tag, HEAD, or other fully qualified reference used to identify
17347	// a commit (for example, a branch name or a full commit ID).
17348	//
17349	// DestinationCommitSpecifier is a required field
17350	DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"`
17351
17352	// The email address of the person merging the branches. This information is
17353	// used in the commit information for the merge.
17354	Email *string `locationName:"email" type:"string"`
17355
17356	// If the commit contains deletions, whether to keep a folder or folder structure
17357	// if the changes leave the folders empty. If this is specified as true, a .gitkeep
17358	// file is created for empty folders. The default is false.
17359	KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"`
17360
17361	// The name of the repository where you want to merge two branches.
17362	//
17363	// RepositoryName is a required field
17364	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
17365
17366	// The branch, tag, HEAD, or other fully qualified reference used to identify
17367	// a commit (for example, a branch name or a full commit ID).
17368	//
17369	// SourceCommitSpecifier is a required field
17370	SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"`
17371
17372	// The branch where the merge is applied.
17373	TargetBranch *string `locationName:"targetBranch" min:"1" type:"string"`
17374}
17375
17376// String returns the string representation
17377func (s MergeBranchesBySquashInput) String() string {
17378	return awsutil.Prettify(s)
17379}
17380
17381// GoString returns the string representation
17382func (s MergeBranchesBySquashInput) GoString() string {
17383	return s.String()
17384}
17385
17386// Validate inspects the fields of the type to determine if they are valid.
17387func (s *MergeBranchesBySquashInput) Validate() error {
17388	invalidParams := request.ErrInvalidParams{Context: "MergeBranchesBySquashInput"}
17389	if s.DestinationCommitSpecifier == nil {
17390		invalidParams.Add(request.NewErrParamRequired("DestinationCommitSpecifier"))
17391	}
17392	if s.RepositoryName == nil {
17393		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
17394	}
17395	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
17396		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
17397	}
17398	if s.SourceCommitSpecifier == nil {
17399		invalidParams.Add(request.NewErrParamRequired("SourceCommitSpecifier"))
17400	}
17401	if s.TargetBranch != nil && len(*s.TargetBranch) < 1 {
17402		invalidParams.Add(request.NewErrParamMinLen("TargetBranch", 1))
17403	}
17404	if s.ConflictResolution != nil {
17405		if err := s.ConflictResolution.Validate(); err != nil {
17406			invalidParams.AddNested("ConflictResolution", err.(request.ErrInvalidParams))
17407		}
17408	}
17409
17410	if invalidParams.Len() > 0 {
17411		return invalidParams
17412	}
17413	return nil
17414}
17415
17416// SetAuthorName sets the AuthorName field's value.
17417func (s *MergeBranchesBySquashInput) SetAuthorName(v string) *MergeBranchesBySquashInput {
17418	s.AuthorName = &v
17419	return s
17420}
17421
17422// SetCommitMessage sets the CommitMessage field's value.
17423func (s *MergeBranchesBySquashInput) SetCommitMessage(v string) *MergeBranchesBySquashInput {
17424	s.CommitMessage = &v
17425	return s
17426}
17427
17428// SetConflictDetailLevel sets the ConflictDetailLevel field's value.
17429func (s *MergeBranchesBySquashInput) SetConflictDetailLevel(v string) *MergeBranchesBySquashInput {
17430	s.ConflictDetailLevel = &v
17431	return s
17432}
17433
17434// SetConflictResolution sets the ConflictResolution field's value.
17435func (s *MergeBranchesBySquashInput) SetConflictResolution(v *ConflictResolution) *MergeBranchesBySquashInput {
17436	s.ConflictResolution = v
17437	return s
17438}
17439
17440// SetConflictResolutionStrategy sets the ConflictResolutionStrategy field's value.
17441func (s *MergeBranchesBySquashInput) SetConflictResolutionStrategy(v string) *MergeBranchesBySquashInput {
17442	s.ConflictResolutionStrategy = &v
17443	return s
17444}
17445
17446// SetDestinationCommitSpecifier sets the DestinationCommitSpecifier field's value.
17447func (s *MergeBranchesBySquashInput) SetDestinationCommitSpecifier(v string) *MergeBranchesBySquashInput {
17448	s.DestinationCommitSpecifier = &v
17449	return s
17450}
17451
17452// SetEmail sets the Email field's value.
17453func (s *MergeBranchesBySquashInput) SetEmail(v string) *MergeBranchesBySquashInput {
17454	s.Email = &v
17455	return s
17456}
17457
17458// SetKeepEmptyFolders sets the KeepEmptyFolders field's value.
17459func (s *MergeBranchesBySquashInput) SetKeepEmptyFolders(v bool) *MergeBranchesBySquashInput {
17460	s.KeepEmptyFolders = &v
17461	return s
17462}
17463
17464// SetRepositoryName sets the RepositoryName field's value.
17465func (s *MergeBranchesBySquashInput) SetRepositoryName(v string) *MergeBranchesBySquashInput {
17466	s.RepositoryName = &v
17467	return s
17468}
17469
17470// SetSourceCommitSpecifier sets the SourceCommitSpecifier field's value.
17471func (s *MergeBranchesBySquashInput) SetSourceCommitSpecifier(v string) *MergeBranchesBySquashInput {
17472	s.SourceCommitSpecifier = &v
17473	return s
17474}
17475
17476// SetTargetBranch sets the TargetBranch field's value.
17477func (s *MergeBranchesBySquashInput) SetTargetBranch(v string) *MergeBranchesBySquashInput {
17478	s.TargetBranch = &v
17479	return s
17480}
17481
17482type MergeBranchesBySquashOutput struct {
17483	_ struct{} `type:"structure"`
17484
17485	// The commit ID of the merge in the destination or target branch.
17486	CommitId *string `locationName:"commitId" type:"string"`
17487
17488	// The tree ID of the merge in the destination or target branch.
17489	TreeId *string `locationName:"treeId" type:"string"`
17490}
17491
17492// String returns the string representation
17493func (s MergeBranchesBySquashOutput) String() string {
17494	return awsutil.Prettify(s)
17495}
17496
17497// GoString returns the string representation
17498func (s MergeBranchesBySquashOutput) GoString() string {
17499	return s.String()
17500}
17501
17502// SetCommitId sets the CommitId field's value.
17503func (s *MergeBranchesBySquashOutput) SetCommitId(v string) *MergeBranchesBySquashOutput {
17504	s.CommitId = &v
17505	return s
17506}
17507
17508// SetTreeId sets the TreeId field's value.
17509func (s *MergeBranchesBySquashOutput) SetTreeId(v string) *MergeBranchesBySquashOutput {
17510	s.TreeId = &v
17511	return s
17512}
17513
17514type MergeBranchesByThreeWayInput struct {
17515	_ struct{} `type:"structure"`
17516
17517	// The name of the author who created the commit. This information is used as
17518	// both the author and committer for the commit.
17519	AuthorName *string `locationName:"authorName" type:"string"`
17520
17521	// The commit message to include in the commit information for the merge.
17522	CommitMessage *string `locationName:"commitMessage" type:"string"`
17523
17524	// The level of conflict detail to use. If unspecified, the default FILE_LEVEL
17525	// is used, which returns a not-mergeable result if the same file has differences
17526	// in both branches. If LINE_LEVEL is specified, a conflict is considered not
17527	// mergeable if the same file in both branches has differences on the same line.
17528	ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"`
17529
17530	// If AUTOMERGE is the conflict resolution strategy, a list of inputs to use
17531	// when resolving conflicts during a merge.
17532	ConflictResolution *ConflictResolution `locationName:"conflictResolution" type:"structure"`
17533
17534	// Specifies which branch to use when resolving conflicts, or whether to attempt
17535	// automatically merging two versions of a file. The default is NONE, which
17536	// requires any conflicts to be resolved manually before the merge operation
17537	// is successful.
17538	ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"`
17539
17540	// The branch, tag, HEAD, or other fully qualified reference used to identify
17541	// a commit (for example, a branch name or a full commit ID).
17542	//
17543	// DestinationCommitSpecifier is a required field
17544	DestinationCommitSpecifier *string `locationName:"destinationCommitSpecifier" type:"string" required:"true"`
17545
17546	// The email address of the person merging the branches. This information is
17547	// used in the commit information for the merge.
17548	Email *string `locationName:"email" type:"string"`
17549
17550	// If the commit contains deletions, whether to keep a folder or folder structure
17551	// if the changes leave the folders empty. If true, a .gitkeep file is created
17552	// for empty folders. The default is false.
17553	KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"`
17554
17555	// The name of the repository where you want to merge two branches.
17556	//
17557	// RepositoryName is a required field
17558	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
17559
17560	// The branch, tag, HEAD, or other fully qualified reference used to identify
17561	// a commit (for example, a branch name or a full commit ID).
17562	//
17563	// SourceCommitSpecifier is a required field
17564	SourceCommitSpecifier *string `locationName:"sourceCommitSpecifier" type:"string" required:"true"`
17565
17566	// The branch where the merge is applied.
17567	TargetBranch *string `locationName:"targetBranch" min:"1" type:"string"`
17568}
17569
17570// String returns the string representation
17571func (s MergeBranchesByThreeWayInput) String() string {
17572	return awsutil.Prettify(s)
17573}
17574
17575// GoString returns the string representation
17576func (s MergeBranchesByThreeWayInput) GoString() string {
17577	return s.String()
17578}
17579
17580// Validate inspects the fields of the type to determine if they are valid.
17581func (s *MergeBranchesByThreeWayInput) Validate() error {
17582	invalidParams := request.ErrInvalidParams{Context: "MergeBranchesByThreeWayInput"}
17583	if s.DestinationCommitSpecifier == nil {
17584		invalidParams.Add(request.NewErrParamRequired("DestinationCommitSpecifier"))
17585	}
17586	if s.RepositoryName == nil {
17587		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
17588	}
17589	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
17590		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
17591	}
17592	if s.SourceCommitSpecifier == nil {
17593		invalidParams.Add(request.NewErrParamRequired("SourceCommitSpecifier"))
17594	}
17595	if s.TargetBranch != nil && len(*s.TargetBranch) < 1 {
17596		invalidParams.Add(request.NewErrParamMinLen("TargetBranch", 1))
17597	}
17598	if s.ConflictResolution != nil {
17599		if err := s.ConflictResolution.Validate(); err != nil {
17600			invalidParams.AddNested("ConflictResolution", err.(request.ErrInvalidParams))
17601		}
17602	}
17603
17604	if invalidParams.Len() > 0 {
17605		return invalidParams
17606	}
17607	return nil
17608}
17609
17610// SetAuthorName sets the AuthorName field's value.
17611func (s *MergeBranchesByThreeWayInput) SetAuthorName(v string) *MergeBranchesByThreeWayInput {
17612	s.AuthorName = &v
17613	return s
17614}
17615
17616// SetCommitMessage sets the CommitMessage field's value.
17617func (s *MergeBranchesByThreeWayInput) SetCommitMessage(v string) *MergeBranchesByThreeWayInput {
17618	s.CommitMessage = &v
17619	return s
17620}
17621
17622// SetConflictDetailLevel sets the ConflictDetailLevel field's value.
17623func (s *MergeBranchesByThreeWayInput) SetConflictDetailLevel(v string) *MergeBranchesByThreeWayInput {
17624	s.ConflictDetailLevel = &v
17625	return s
17626}
17627
17628// SetConflictResolution sets the ConflictResolution field's value.
17629func (s *MergeBranchesByThreeWayInput) SetConflictResolution(v *ConflictResolution) *MergeBranchesByThreeWayInput {
17630	s.ConflictResolution = v
17631	return s
17632}
17633
17634// SetConflictResolutionStrategy sets the ConflictResolutionStrategy field's value.
17635func (s *MergeBranchesByThreeWayInput) SetConflictResolutionStrategy(v string) *MergeBranchesByThreeWayInput {
17636	s.ConflictResolutionStrategy = &v
17637	return s
17638}
17639
17640// SetDestinationCommitSpecifier sets the DestinationCommitSpecifier field's value.
17641func (s *MergeBranchesByThreeWayInput) SetDestinationCommitSpecifier(v string) *MergeBranchesByThreeWayInput {
17642	s.DestinationCommitSpecifier = &v
17643	return s
17644}
17645
17646// SetEmail sets the Email field's value.
17647func (s *MergeBranchesByThreeWayInput) SetEmail(v string) *MergeBranchesByThreeWayInput {
17648	s.Email = &v
17649	return s
17650}
17651
17652// SetKeepEmptyFolders sets the KeepEmptyFolders field's value.
17653func (s *MergeBranchesByThreeWayInput) SetKeepEmptyFolders(v bool) *MergeBranchesByThreeWayInput {
17654	s.KeepEmptyFolders = &v
17655	return s
17656}
17657
17658// SetRepositoryName sets the RepositoryName field's value.
17659func (s *MergeBranchesByThreeWayInput) SetRepositoryName(v string) *MergeBranchesByThreeWayInput {
17660	s.RepositoryName = &v
17661	return s
17662}
17663
17664// SetSourceCommitSpecifier sets the SourceCommitSpecifier field's value.
17665func (s *MergeBranchesByThreeWayInput) SetSourceCommitSpecifier(v string) *MergeBranchesByThreeWayInput {
17666	s.SourceCommitSpecifier = &v
17667	return s
17668}
17669
17670// SetTargetBranch sets the TargetBranch field's value.
17671func (s *MergeBranchesByThreeWayInput) SetTargetBranch(v string) *MergeBranchesByThreeWayInput {
17672	s.TargetBranch = &v
17673	return s
17674}
17675
17676type MergeBranchesByThreeWayOutput struct {
17677	_ struct{} `type:"structure"`
17678
17679	// The commit ID of the merge in the destination or target branch.
17680	CommitId *string `locationName:"commitId" type:"string"`
17681
17682	// The tree ID of the merge in the destination or target branch.
17683	TreeId *string `locationName:"treeId" type:"string"`
17684}
17685
17686// String returns the string representation
17687func (s MergeBranchesByThreeWayOutput) String() string {
17688	return awsutil.Prettify(s)
17689}
17690
17691// GoString returns the string representation
17692func (s MergeBranchesByThreeWayOutput) GoString() string {
17693	return s.String()
17694}
17695
17696// SetCommitId sets the CommitId field's value.
17697func (s *MergeBranchesByThreeWayOutput) SetCommitId(v string) *MergeBranchesByThreeWayOutput {
17698	s.CommitId = &v
17699	return s
17700}
17701
17702// SetTreeId sets the TreeId field's value.
17703func (s *MergeBranchesByThreeWayOutput) SetTreeId(v string) *MergeBranchesByThreeWayOutput {
17704	s.TreeId = &v
17705	return s
17706}
17707
17708// Information about merge hunks in a merge or pull request operation.
17709type MergeHunk struct {
17710	_ struct{} `type:"structure"`
17711
17712	// Information about the merge hunk in the base of a merge or pull request.
17713	Base *MergeHunkDetail `locationName:"base" type:"structure"`
17714
17715	// Information about the merge hunk in the destination of a merge or pull request.
17716	Destination *MergeHunkDetail `locationName:"destination" type:"structure"`
17717
17718	// A Boolean value indicating whether a combination of hunks contains a conflict.
17719	// Conflicts occur when the same file or the same lines in a file were modified
17720	// in both the source and destination of a merge or pull request. Valid values
17721	// include true, false, and null. True when the hunk represents a conflict and
17722	// one or more files contains a line conflict. File mode conflicts in a merge
17723	// do not set this to true.
17724	IsConflict *bool `locationName:"isConflict" type:"boolean"`
17725
17726	// Information about the merge hunk in the source of a merge or pull request.
17727	Source *MergeHunkDetail `locationName:"source" type:"structure"`
17728}
17729
17730// String returns the string representation
17731func (s MergeHunk) String() string {
17732	return awsutil.Prettify(s)
17733}
17734
17735// GoString returns the string representation
17736func (s MergeHunk) GoString() string {
17737	return s.String()
17738}
17739
17740// SetBase sets the Base field's value.
17741func (s *MergeHunk) SetBase(v *MergeHunkDetail) *MergeHunk {
17742	s.Base = v
17743	return s
17744}
17745
17746// SetDestination sets the Destination field's value.
17747func (s *MergeHunk) SetDestination(v *MergeHunkDetail) *MergeHunk {
17748	s.Destination = v
17749	return s
17750}
17751
17752// SetIsConflict sets the IsConflict field's value.
17753func (s *MergeHunk) SetIsConflict(v bool) *MergeHunk {
17754	s.IsConflict = &v
17755	return s
17756}
17757
17758// SetSource sets the Source field's value.
17759func (s *MergeHunk) SetSource(v *MergeHunkDetail) *MergeHunk {
17760	s.Source = v
17761	return s
17762}
17763
17764// Information about the details of a merge hunk that contains a conflict in
17765// a merge or pull request operation.
17766type MergeHunkDetail struct {
17767	_ struct{} `type:"structure"`
17768
17769	// The end position of the hunk in the merge result.
17770	EndLine *int64 `locationName:"endLine" type:"integer"`
17771
17772	// The base-64 encoded content of the hunk merged region that might contain
17773	// a conflict.
17774	HunkContent *string `locationName:"hunkContent" type:"string"`
17775
17776	// The start position of the hunk in the merge result.
17777	StartLine *int64 `locationName:"startLine" type:"integer"`
17778}
17779
17780// String returns the string representation
17781func (s MergeHunkDetail) String() string {
17782	return awsutil.Prettify(s)
17783}
17784
17785// GoString returns the string representation
17786func (s MergeHunkDetail) GoString() string {
17787	return s.String()
17788}
17789
17790// SetEndLine sets the EndLine field's value.
17791func (s *MergeHunkDetail) SetEndLine(v int64) *MergeHunkDetail {
17792	s.EndLine = &v
17793	return s
17794}
17795
17796// SetHunkContent sets the HunkContent field's value.
17797func (s *MergeHunkDetail) SetHunkContent(v string) *MergeHunkDetail {
17798	s.HunkContent = &v
17799	return s
17800}
17801
17802// SetStartLine sets the StartLine field's value.
17803func (s *MergeHunkDetail) SetStartLine(v int64) *MergeHunkDetail {
17804	s.StartLine = &v
17805	return s
17806}
17807
17808// Returns information about a merge or potential merge between a source reference
17809// and a destination reference in a pull request.
17810type MergeMetadata struct {
17811	_ struct{} `type:"structure"`
17812
17813	// A Boolean value indicating whether the merge has been made.
17814	IsMerged *bool `locationName:"isMerged" type:"boolean"`
17815
17816	// The commit ID for the merge commit, if any.
17817	MergeCommitId *string `locationName:"mergeCommitId" type:"string"`
17818
17819	// The merge strategy used in the merge.
17820	MergeOption *string `locationName:"mergeOption" type:"string" enum:"MergeOptionTypeEnum"`
17821
17822	// The Amazon Resource Name (ARN) of the user who merged the branches.
17823	MergedBy *string `locationName:"mergedBy" type:"string"`
17824}
17825
17826// String returns the string representation
17827func (s MergeMetadata) String() string {
17828	return awsutil.Prettify(s)
17829}
17830
17831// GoString returns the string representation
17832func (s MergeMetadata) GoString() string {
17833	return s.String()
17834}
17835
17836// SetIsMerged sets the IsMerged field's value.
17837func (s *MergeMetadata) SetIsMerged(v bool) *MergeMetadata {
17838	s.IsMerged = &v
17839	return s
17840}
17841
17842// SetMergeCommitId sets the MergeCommitId field's value.
17843func (s *MergeMetadata) SetMergeCommitId(v string) *MergeMetadata {
17844	s.MergeCommitId = &v
17845	return s
17846}
17847
17848// SetMergeOption sets the MergeOption field's value.
17849func (s *MergeMetadata) SetMergeOption(v string) *MergeMetadata {
17850	s.MergeOption = &v
17851	return s
17852}
17853
17854// SetMergedBy sets the MergedBy field's value.
17855func (s *MergeMetadata) SetMergedBy(v string) *MergeMetadata {
17856	s.MergedBy = &v
17857	return s
17858}
17859
17860// Information about the file operation conflicts in a merge operation.
17861type MergeOperations struct {
17862	_ struct{} `type:"structure"`
17863
17864	// The operation on a file in the destination of a merge or pull request.
17865	Destination *string `locationName:"destination" type:"string" enum:"ChangeTypeEnum"`
17866
17867	// The operation (add, modify, or delete) on a file in the source of a merge
17868	// or pull request.
17869	Source *string `locationName:"source" type:"string" enum:"ChangeTypeEnum"`
17870}
17871
17872// String returns the string representation
17873func (s MergeOperations) String() string {
17874	return awsutil.Prettify(s)
17875}
17876
17877// GoString returns the string representation
17878func (s MergeOperations) GoString() string {
17879	return s.String()
17880}
17881
17882// SetDestination sets the Destination field's value.
17883func (s *MergeOperations) SetDestination(v string) *MergeOperations {
17884	s.Destination = &v
17885	return s
17886}
17887
17888// SetSource sets the Source field's value.
17889func (s *MergeOperations) SetSource(v string) *MergeOperations {
17890	s.Source = &v
17891	return s
17892}
17893
17894type MergePullRequestByFastForwardInput struct {
17895	_ struct{} `type:"structure"`
17896
17897	// The system-generated ID of the pull request. To get this ID, use ListPullRequests.
17898	//
17899	// PullRequestId is a required field
17900	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
17901
17902	// The name of the repository where the pull request was created.
17903	//
17904	// RepositoryName is a required field
17905	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
17906
17907	// The full commit ID of the original or updated commit in the pull request
17908	// source branch. Pass this value if you want an exception thrown if the current
17909	// commit ID of the tip of the source branch does not match this commit ID.
17910	SourceCommitId *string `locationName:"sourceCommitId" type:"string"`
17911}
17912
17913// String returns the string representation
17914func (s MergePullRequestByFastForwardInput) String() string {
17915	return awsutil.Prettify(s)
17916}
17917
17918// GoString returns the string representation
17919func (s MergePullRequestByFastForwardInput) GoString() string {
17920	return s.String()
17921}
17922
17923// Validate inspects the fields of the type to determine if they are valid.
17924func (s *MergePullRequestByFastForwardInput) Validate() error {
17925	invalidParams := request.ErrInvalidParams{Context: "MergePullRequestByFastForwardInput"}
17926	if s.PullRequestId == nil {
17927		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
17928	}
17929	if s.RepositoryName == nil {
17930		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
17931	}
17932	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
17933		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
17934	}
17935
17936	if invalidParams.Len() > 0 {
17937		return invalidParams
17938	}
17939	return nil
17940}
17941
17942// SetPullRequestId sets the PullRequestId field's value.
17943func (s *MergePullRequestByFastForwardInput) SetPullRequestId(v string) *MergePullRequestByFastForwardInput {
17944	s.PullRequestId = &v
17945	return s
17946}
17947
17948// SetRepositoryName sets the RepositoryName field's value.
17949func (s *MergePullRequestByFastForwardInput) SetRepositoryName(v string) *MergePullRequestByFastForwardInput {
17950	s.RepositoryName = &v
17951	return s
17952}
17953
17954// SetSourceCommitId sets the SourceCommitId field's value.
17955func (s *MergePullRequestByFastForwardInput) SetSourceCommitId(v string) *MergePullRequestByFastForwardInput {
17956	s.SourceCommitId = &v
17957	return s
17958}
17959
17960type MergePullRequestByFastForwardOutput struct {
17961	_ struct{} `type:"structure"`
17962
17963	// Information about the specified pull request, including the merge.
17964	PullRequest *PullRequest `locationName:"pullRequest" type:"structure"`
17965}
17966
17967// String returns the string representation
17968func (s MergePullRequestByFastForwardOutput) String() string {
17969	return awsutil.Prettify(s)
17970}
17971
17972// GoString returns the string representation
17973func (s MergePullRequestByFastForwardOutput) GoString() string {
17974	return s.String()
17975}
17976
17977// SetPullRequest sets the PullRequest field's value.
17978func (s *MergePullRequestByFastForwardOutput) SetPullRequest(v *PullRequest) *MergePullRequestByFastForwardOutput {
17979	s.PullRequest = v
17980	return s
17981}
17982
17983type MergePullRequestBySquashInput struct {
17984	_ struct{} `type:"structure"`
17985
17986	// The name of the author who created the commit. This information is used as
17987	// both the author and committer for the commit.
17988	AuthorName *string `locationName:"authorName" type:"string"`
17989
17990	// The commit message to include in the commit information for the merge.
17991	CommitMessage *string `locationName:"commitMessage" type:"string"`
17992
17993	// The level of conflict detail to use. If unspecified, the default FILE_LEVEL
17994	// is used, which returns a not-mergeable result if the same file has differences
17995	// in both branches. If LINE_LEVEL is specified, a conflict is considered not
17996	// mergeable if the same file in both branches has differences on the same line.
17997	ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"`
17998
17999	// If AUTOMERGE is the conflict resolution strategy, a list of inputs to use
18000	// when resolving conflicts during a merge.
18001	ConflictResolution *ConflictResolution `locationName:"conflictResolution" type:"structure"`
18002
18003	// Specifies which branch to use when resolving conflicts, or whether to attempt
18004	// automatically merging two versions of a file. The default is NONE, which
18005	// requires any conflicts to be resolved manually before the merge operation
18006	// is successful.
18007	ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"`
18008
18009	// The email address of the person merging the branches. This information is
18010	// used in the commit information for the merge.
18011	Email *string `locationName:"email" type:"string"`
18012
18013	// If the commit contains deletions, whether to keep a folder or folder structure
18014	// if the changes leave the folders empty. If true, a .gitkeep file is created
18015	// for empty folders. The default is false.
18016	KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"`
18017
18018	// The system-generated ID of the pull request. To get this ID, use ListPullRequests.
18019	//
18020	// PullRequestId is a required field
18021	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
18022
18023	// The name of the repository where the pull request was created.
18024	//
18025	// RepositoryName is a required field
18026	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
18027
18028	// The full commit ID of the original or updated commit in the pull request
18029	// source branch. Pass this value if you want an exception thrown if the current
18030	// commit ID of the tip of the source branch does not match this commit ID.
18031	SourceCommitId *string `locationName:"sourceCommitId" type:"string"`
18032}
18033
18034// String returns the string representation
18035func (s MergePullRequestBySquashInput) String() string {
18036	return awsutil.Prettify(s)
18037}
18038
18039// GoString returns the string representation
18040func (s MergePullRequestBySquashInput) GoString() string {
18041	return s.String()
18042}
18043
18044// Validate inspects the fields of the type to determine if they are valid.
18045func (s *MergePullRequestBySquashInput) Validate() error {
18046	invalidParams := request.ErrInvalidParams{Context: "MergePullRequestBySquashInput"}
18047	if s.PullRequestId == nil {
18048		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
18049	}
18050	if s.RepositoryName == nil {
18051		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
18052	}
18053	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
18054		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
18055	}
18056	if s.ConflictResolution != nil {
18057		if err := s.ConflictResolution.Validate(); err != nil {
18058			invalidParams.AddNested("ConflictResolution", err.(request.ErrInvalidParams))
18059		}
18060	}
18061
18062	if invalidParams.Len() > 0 {
18063		return invalidParams
18064	}
18065	return nil
18066}
18067
18068// SetAuthorName sets the AuthorName field's value.
18069func (s *MergePullRequestBySquashInput) SetAuthorName(v string) *MergePullRequestBySquashInput {
18070	s.AuthorName = &v
18071	return s
18072}
18073
18074// SetCommitMessage sets the CommitMessage field's value.
18075func (s *MergePullRequestBySquashInput) SetCommitMessage(v string) *MergePullRequestBySquashInput {
18076	s.CommitMessage = &v
18077	return s
18078}
18079
18080// SetConflictDetailLevel sets the ConflictDetailLevel field's value.
18081func (s *MergePullRequestBySquashInput) SetConflictDetailLevel(v string) *MergePullRequestBySquashInput {
18082	s.ConflictDetailLevel = &v
18083	return s
18084}
18085
18086// SetConflictResolution sets the ConflictResolution field's value.
18087func (s *MergePullRequestBySquashInput) SetConflictResolution(v *ConflictResolution) *MergePullRequestBySquashInput {
18088	s.ConflictResolution = v
18089	return s
18090}
18091
18092// SetConflictResolutionStrategy sets the ConflictResolutionStrategy field's value.
18093func (s *MergePullRequestBySquashInput) SetConflictResolutionStrategy(v string) *MergePullRequestBySquashInput {
18094	s.ConflictResolutionStrategy = &v
18095	return s
18096}
18097
18098// SetEmail sets the Email field's value.
18099func (s *MergePullRequestBySquashInput) SetEmail(v string) *MergePullRequestBySquashInput {
18100	s.Email = &v
18101	return s
18102}
18103
18104// SetKeepEmptyFolders sets the KeepEmptyFolders field's value.
18105func (s *MergePullRequestBySquashInput) SetKeepEmptyFolders(v bool) *MergePullRequestBySquashInput {
18106	s.KeepEmptyFolders = &v
18107	return s
18108}
18109
18110// SetPullRequestId sets the PullRequestId field's value.
18111func (s *MergePullRequestBySquashInput) SetPullRequestId(v string) *MergePullRequestBySquashInput {
18112	s.PullRequestId = &v
18113	return s
18114}
18115
18116// SetRepositoryName sets the RepositoryName field's value.
18117func (s *MergePullRequestBySquashInput) SetRepositoryName(v string) *MergePullRequestBySquashInput {
18118	s.RepositoryName = &v
18119	return s
18120}
18121
18122// SetSourceCommitId sets the SourceCommitId field's value.
18123func (s *MergePullRequestBySquashInput) SetSourceCommitId(v string) *MergePullRequestBySquashInput {
18124	s.SourceCommitId = &v
18125	return s
18126}
18127
18128type MergePullRequestBySquashOutput struct {
18129	_ struct{} `type:"structure"`
18130
18131	// Returns information about a pull request.
18132	PullRequest *PullRequest `locationName:"pullRequest" type:"structure"`
18133}
18134
18135// String returns the string representation
18136func (s MergePullRequestBySquashOutput) String() string {
18137	return awsutil.Prettify(s)
18138}
18139
18140// GoString returns the string representation
18141func (s MergePullRequestBySquashOutput) GoString() string {
18142	return s.String()
18143}
18144
18145// SetPullRequest sets the PullRequest field's value.
18146func (s *MergePullRequestBySquashOutput) SetPullRequest(v *PullRequest) *MergePullRequestBySquashOutput {
18147	s.PullRequest = v
18148	return s
18149}
18150
18151type MergePullRequestByThreeWayInput struct {
18152	_ struct{} `type:"structure"`
18153
18154	// The name of the author who created the commit. This information is used as
18155	// both the author and committer for the commit.
18156	AuthorName *string `locationName:"authorName" type:"string"`
18157
18158	// The commit message to include in the commit information for the merge.
18159	CommitMessage *string `locationName:"commitMessage" type:"string"`
18160
18161	// The level of conflict detail to use. If unspecified, the default FILE_LEVEL
18162	// is used, which returns a not-mergeable result if the same file has differences
18163	// in both branches. If LINE_LEVEL is specified, a conflict is considered not
18164	// mergeable if the same file in both branches has differences on the same line.
18165	ConflictDetailLevel *string `locationName:"conflictDetailLevel" type:"string" enum:"ConflictDetailLevelTypeEnum"`
18166
18167	// If AUTOMERGE is the conflict resolution strategy, a list of inputs to use
18168	// when resolving conflicts during a merge.
18169	ConflictResolution *ConflictResolution `locationName:"conflictResolution" type:"structure"`
18170
18171	// Specifies which branch to use when resolving conflicts, or whether to attempt
18172	// automatically merging two versions of a file. The default is NONE, which
18173	// requires any conflicts to be resolved manually before the merge operation
18174	// is successful.
18175	ConflictResolutionStrategy *string `locationName:"conflictResolutionStrategy" type:"string" enum:"ConflictResolutionStrategyTypeEnum"`
18176
18177	// The email address of the person merging the branches. This information is
18178	// used in the commit information for the merge.
18179	Email *string `locationName:"email" type:"string"`
18180
18181	// If the commit contains deletions, whether to keep a folder or folder structure
18182	// if the changes leave the folders empty. If true, a .gitkeep file is created
18183	// for empty folders. The default is false.
18184	KeepEmptyFolders *bool `locationName:"keepEmptyFolders" type:"boolean"`
18185
18186	// The system-generated ID of the pull request. To get this ID, use ListPullRequests.
18187	//
18188	// PullRequestId is a required field
18189	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
18190
18191	// The name of the repository where the pull request was created.
18192	//
18193	// RepositoryName is a required field
18194	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
18195
18196	// The full commit ID of the original or updated commit in the pull request
18197	// source branch. Pass this value if you want an exception thrown if the current
18198	// commit ID of the tip of the source branch does not match this commit ID.
18199	SourceCommitId *string `locationName:"sourceCommitId" type:"string"`
18200}
18201
18202// String returns the string representation
18203func (s MergePullRequestByThreeWayInput) String() string {
18204	return awsutil.Prettify(s)
18205}
18206
18207// GoString returns the string representation
18208func (s MergePullRequestByThreeWayInput) GoString() string {
18209	return s.String()
18210}
18211
18212// Validate inspects the fields of the type to determine if they are valid.
18213func (s *MergePullRequestByThreeWayInput) Validate() error {
18214	invalidParams := request.ErrInvalidParams{Context: "MergePullRequestByThreeWayInput"}
18215	if s.PullRequestId == nil {
18216		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
18217	}
18218	if s.RepositoryName == nil {
18219		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
18220	}
18221	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
18222		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
18223	}
18224	if s.ConflictResolution != nil {
18225		if err := s.ConflictResolution.Validate(); err != nil {
18226			invalidParams.AddNested("ConflictResolution", err.(request.ErrInvalidParams))
18227		}
18228	}
18229
18230	if invalidParams.Len() > 0 {
18231		return invalidParams
18232	}
18233	return nil
18234}
18235
18236// SetAuthorName sets the AuthorName field's value.
18237func (s *MergePullRequestByThreeWayInput) SetAuthorName(v string) *MergePullRequestByThreeWayInput {
18238	s.AuthorName = &v
18239	return s
18240}
18241
18242// SetCommitMessage sets the CommitMessage field's value.
18243func (s *MergePullRequestByThreeWayInput) SetCommitMessage(v string) *MergePullRequestByThreeWayInput {
18244	s.CommitMessage = &v
18245	return s
18246}
18247
18248// SetConflictDetailLevel sets the ConflictDetailLevel field's value.
18249func (s *MergePullRequestByThreeWayInput) SetConflictDetailLevel(v string) *MergePullRequestByThreeWayInput {
18250	s.ConflictDetailLevel = &v
18251	return s
18252}
18253
18254// SetConflictResolution sets the ConflictResolution field's value.
18255func (s *MergePullRequestByThreeWayInput) SetConflictResolution(v *ConflictResolution) *MergePullRequestByThreeWayInput {
18256	s.ConflictResolution = v
18257	return s
18258}
18259
18260// SetConflictResolutionStrategy sets the ConflictResolutionStrategy field's value.
18261func (s *MergePullRequestByThreeWayInput) SetConflictResolutionStrategy(v string) *MergePullRequestByThreeWayInput {
18262	s.ConflictResolutionStrategy = &v
18263	return s
18264}
18265
18266// SetEmail sets the Email field's value.
18267func (s *MergePullRequestByThreeWayInput) SetEmail(v string) *MergePullRequestByThreeWayInput {
18268	s.Email = &v
18269	return s
18270}
18271
18272// SetKeepEmptyFolders sets the KeepEmptyFolders field's value.
18273func (s *MergePullRequestByThreeWayInput) SetKeepEmptyFolders(v bool) *MergePullRequestByThreeWayInput {
18274	s.KeepEmptyFolders = &v
18275	return s
18276}
18277
18278// SetPullRequestId sets the PullRequestId field's value.
18279func (s *MergePullRequestByThreeWayInput) SetPullRequestId(v string) *MergePullRequestByThreeWayInput {
18280	s.PullRequestId = &v
18281	return s
18282}
18283
18284// SetRepositoryName sets the RepositoryName field's value.
18285func (s *MergePullRequestByThreeWayInput) SetRepositoryName(v string) *MergePullRequestByThreeWayInput {
18286	s.RepositoryName = &v
18287	return s
18288}
18289
18290// SetSourceCommitId sets the SourceCommitId field's value.
18291func (s *MergePullRequestByThreeWayInput) SetSourceCommitId(v string) *MergePullRequestByThreeWayInput {
18292	s.SourceCommitId = &v
18293	return s
18294}
18295
18296type MergePullRequestByThreeWayOutput struct {
18297	_ struct{} `type:"structure"`
18298
18299	// Returns information about a pull request.
18300	PullRequest *PullRequest `locationName:"pullRequest" type:"structure"`
18301}
18302
18303// String returns the string representation
18304func (s MergePullRequestByThreeWayOutput) String() string {
18305	return awsutil.Prettify(s)
18306}
18307
18308// GoString returns the string representation
18309func (s MergePullRequestByThreeWayOutput) GoString() string {
18310	return s.String()
18311}
18312
18313// SetPullRequest sets the PullRequest field's value.
18314func (s *MergePullRequestByThreeWayOutput) SetPullRequest(v *PullRequest) *MergePullRequestByThreeWayOutput {
18315	s.PullRequest = v
18316	return s
18317}
18318
18319// Information about the type of an object in a merge operation.
18320type ObjectTypes struct {
18321	_ struct{} `type:"structure"`
18322
18323	// The type of the object in the base commit of the merge.
18324	Base *string `locationName:"base" type:"string" enum:"ObjectTypeEnum"`
18325
18326	// The type of the object in the destination branch.
18327	Destination *string `locationName:"destination" type:"string" enum:"ObjectTypeEnum"`
18328
18329	// The type of the object in the source branch.
18330	Source *string `locationName:"source" type:"string" enum:"ObjectTypeEnum"`
18331}
18332
18333// String returns the string representation
18334func (s ObjectTypes) String() string {
18335	return awsutil.Prettify(s)
18336}
18337
18338// GoString returns the string representation
18339func (s ObjectTypes) GoString() string {
18340	return s.String()
18341}
18342
18343// SetBase sets the Base field's value.
18344func (s *ObjectTypes) SetBase(v string) *ObjectTypes {
18345	s.Base = &v
18346	return s
18347}
18348
18349// SetDestination sets the Destination field's value.
18350func (s *ObjectTypes) SetDestination(v string) *ObjectTypes {
18351	s.Destination = &v
18352	return s
18353}
18354
18355// SetSource sets the Source field's value.
18356func (s *ObjectTypes) SetSource(v string) *ObjectTypes {
18357	s.Source = &v
18358	return s
18359}
18360
18361// Returns information about the template that created the approval rule for
18362// a pull request.
18363type OriginApprovalRuleTemplate struct {
18364	_ struct{} `type:"structure"`
18365
18366	// The ID of the template that created the approval rule.
18367	ApprovalRuleTemplateId *string `locationName:"approvalRuleTemplateId" type:"string"`
18368
18369	// The name of the template that created the approval rule.
18370	ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string"`
18371}
18372
18373// String returns the string representation
18374func (s OriginApprovalRuleTemplate) String() string {
18375	return awsutil.Prettify(s)
18376}
18377
18378// GoString returns the string representation
18379func (s OriginApprovalRuleTemplate) GoString() string {
18380	return s.String()
18381}
18382
18383// SetApprovalRuleTemplateId sets the ApprovalRuleTemplateId field's value.
18384func (s *OriginApprovalRuleTemplate) SetApprovalRuleTemplateId(v string) *OriginApprovalRuleTemplate {
18385	s.ApprovalRuleTemplateId = &v
18386	return s
18387}
18388
18389// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value.
18390func (s *OriginApprovalRuleTemplate) SetApprovalRuleTemplateName(v string) *OriginApprovalRuleTemplate {
18391	s.ApprovalRuleTemplateName = &v
18392	return s
18393}
18394
18395type OverridePullRequestApprovalRulesInput struct {
18396	_ struct{} `type:"structure"`
18397
18398	// Whether you want to set aside approval rule requirements for the pull request
18399	// (OVERRIDE) or revoke a previous override and apply approval rule requirements
18400	// (REVOKE). REVOKE status is not stored.
18401	//
18402	// OverrideStatus is a required field
18403	OverrideStatus *string `locationName:"overrideStatus" type:"string" required:"true" enum:"OverrideStatus"`
18404
18405	// The system-generated ID of the pull request for which you want to override
18406	// all approval rule requirements. To get this information, use GetPullRequest.
18407	//
18408	// PullRequestId is a required field
18409	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
18410
18411	// The system-generated ID of the most recent revision of the pull request.
18412	// You cannot override approval rules for anything but the most recent revision
18413	// of a pull request. To get the revision ID, use GetPullRequest.
18414	//
18415	// RevisionId is a required field
18416	RevisionId *string `locationName:"revisionId" type:"string" required:"true"`
18417}
18418
18419// String returns the string representation
18420func (s OverridePullRequestApprovalRulesInput) String() string {
18421	return awsutil.Prettify(s)
18422}
18423
18424// GoString returns the string representation
18425func (s OverridePullRequestApprovalRulesInput) GoString() string {
18426	return s.String()
18427}
18428
18429// Validate inspects the fields of the type to determine if they are valid.
18430func (s *OverridePullRequestApprovalRulesInput) Validate() error {
18431	invalidParams := request.ErrInvalidParams{Context: "OverridePullRequestApprovalRulesInput"}
18432	if s.OverrideStatus == nil {
18433		invalidParams.Add(request.NewErrParamRequired("OverrideStatus"))
18434	}
18435	if s.PullRequestId == nil {
18436		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
18437	}
18438	if s.RevisionId == nil {
18439		invalidParams.Add(request.NewErrParamRequired("RevisionId"))
18440	}
18441
18442	if invalidParams.Len() > 0 {
18443		return invalidParams
18444	}
18445	return nil
18446}
18447
18448// SetOverrideStatus sets the OverrideStatus field's value.
18449func (s *OverridePullRequestApprovalRulesInput) SetOverrideStatus(v string) *OverridePullRequestApprovalRulesInput {
18450	s.OverrideStatus = &v
18451	return s
18452}
18453
18454// SetPullRequestId sets the PullRequestId field's value.
18455func (s *OverridePullRequestApprovalRulesInput) SetPullRequestId(v string) *OverridePullRequestApprovalRulesInput {
18456	s.PullRequestId = &v
18457	return s
18458}
18459
18460// SetRevisionId sets the RevisionId field's value.
18461func (s *OverridePullRequestApprovalRulesInput) SetRevisionId(v string) *OverridePullRequestApprovalRulesInput {
18462	s.RevisionId = &v
18463	return s
18464}
18465
18466type OverridePullRequestApprovalRulesOutput struct {
18467	_ struct{} `type:"structure"`
18468}
18469
18470// String returns the string representation
18471func (s OverridePullRequestApprovalRulesOutput) String() string {
18472	return awsutil.Prettify(s)
18473}
18474
18475// GoString returns the string representation
18476func (s OverridePullRequestApprovalRulesOutput) GoString() string {
18477	return s.String()
18478}
18479
18480type PostCommentForComparedCommitInput struct {
18481	_ struct{} `type:"structure"`
18482
18483	// To establish the directionality of the comparison, the full commit ID of
18484	// the after commit.
18485	//
18486	// AfterCommitId is a required field
18487	AfterCommitId *string `locationName:"afterCommitId" type:"string" required:"true"`
18488
18489	// To establish the directionality of the comparison, the full commit ID of
18490	// the before commit. Required for commenting on any commit unless that commit
18491	// is the initial commit.
18492	BeforeCommitId *string `locationName:"beforeCommitId" type:"string"`
18493
18494	// A unique, client-generated idempotency token that, when provided in a request,
18495	// ensures the request cannot be repeated with a changed parameter. If a request
18496	// is received with the same parameters and a token is included, the request
18497	// returns information about the initial request that used that token.
18498	ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"`
18499
18500	// The content of the comment you want to make.
18501	//
18502	// Content is a required field
18503	Content *string `locationName:"content" type:"string" required:"true"`
18504
18505	// The location of the comparison where you want to comment.
18506	Location *Location `locationName:"location" type:"structure"`
18507
18508	// The name of the repository where you want to post a comment on the comparison
18509	// between commits.
18510	//
18511	// RepositoryName is a required field
18512	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
18513}
18514
18515// String returns the string representation
18516func (s PostCommentForComparedCommitInput) String() string {
18517	return awsutil.Prettify(s)
18518}
18519
18520// GoString returns the string representation
18521func (s PostCommentForComparedCommitInput) GoString() string {
18522	return s.String()
18523}
18524
18525// Validate inspects the fields of the type to determine if they are valid.
18526func (s *PostCommentForComparedCommitInput) Validate() error {
18527	invalidParams := request.ErrInvalidParams{Context: "PostCommentForComparedCommitInput"}
18528	if s.AfterCommitId == nil {
18529		invalidParams.Add(request.NewErrParamRequired("AfterCommitId"))
18530	}
18531	if s.Content == nil {
18532		invalidParams.Add(request.NewErrParamRequired("Content"))
18533	}
18534	if s.RepositoryName == nil {
18535		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
18536	}
18537	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
18538		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
18539	}
18540
18541	if invalidParams.Len() > 0 {
18542		return invalidParams
18543	}
18544	return nil
18545}
18546
18547// SetAfterCommitId sets the AfterCommitId field's value.
18548func (s *PostCommentForComparedCommitInput) SetAfterCommitId(v string) *PostCommentForComparedCommitInput {
18549	s.AfterCommitId = &v
18550	return s
18551}
18552
18553// SetBeforeCommitId sets the BeforeCommitId field's value.
18554func (s *PostCommentForComparedCommitInput) SetBeforeCommitId(v string) *PostCommentForComparedCommitInput {
18555	s.BeforeCommitId = &v
18556	return s
18557}
18558
18559// SetClientRequestToken sets the ClientRequestToken field's value.
18560func (s *PostCommentForComparedCommitInput) SetClientRequestToken(v string) *PostCommentForComparedCommitInput {
18561	s.ClientRequestToken = &v
18562	return s
18563}
18564
18565// SetContent sets the Content field's value.
18566func (s *PostCommentForComparedCommitInput) SetContent(v string) *PostCommentForComparedCommitInput {
18567	s.Content = &v
18568	return s
18569}
18570
18571// SetLocation sets the Location field's value.
18572func (s *PostCommentForComparedCommitInput) SetLocation(v *Location) *PostCommentForComparedCommitInput {
18573	s.Location = v
18574	return s
18575}
18576
18577// SetRepositoryName sets the RepositoryName field's value.
18578func (s *PostCommentForComparedCommitInput) SetRepositoryName(v string) *PostCommentForComparedCommitInput {
18579	s.RepositoryName = &v
18580	return s
18581}
18582
18583type PostCommentForComparedCommitOutput struct {
18584	_ struct{} `type:"structure"`
18585
18586	// In the directionality you established, the blob ID of the after blob.
18587	AfterBlobId *string `locationName:"afterBlobId" type:"string"`
18588
18589	// In the directionality you established, the full commit ID of the after commit.
18590	AfterCommitId *string `locationName:"afterCommitId" type:"string"`
18591
18592	// In the directionality you established, the blob ID of the before blob.
18593	BeforeBlobId *string `locationName:"beforeBlobId" type:"string"`
18594
18595	// In the directionality you established, the full commit ID of the before commit.
18596	BeforeCommitId *string `locationName:"beforeCommitId" type:"string"`
18597
18598	// The content of the comment you posted.
18599	Comment *Comment `locationName:"comment" type:"structure"`
18600
18601	// The location of the comment in the comparison between the two commits.
18602	Location *Location `locationName:"location" type:"structure"`
18603
18604	// The name of the repository where you posted a comment on the comparison between
18605	// commits.
18606	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
18607}
18608
18609// String returns the string representation
18610func (s PostCommentForComparedCommitOutput) String() string {
18611	return awsutil.Prettify(s)
18612}
18613
18614// GoString returns the string representation
18615func (s PostCommentForComparedCommitOutput) GoString() string {
18616	return s.String()
18617}
18618
18619// SetAfterBlobId sets the AfterBlobId field's value.
18620func (s *PostCommentForComparedCommitOutput) SetAfterBlobId(v string) *PostCommentForComparedCommitOutput {
18621	s.AfterBlobId = &v
18622	return s
18623}
18624
18625// SetAfterCommitId sets the AfterCommitId field's value.
18626func (s *PostCommentForComparedCommitOutput) SetAfterCommitId(v string) *PostCommentForComparedCommitOutput {
18627	s.AfterCommitId = &v
18628	return s
18629}
18630
18631// SetBeforeBlobId sets the BeforeBlobId field's value.
18632func (s *PostCommentForComparedCommitOutput) SetBeforeBlobId(v string) *PostCommentForComparedCommitOutput {
18633	s.BeforeBlobId = &v
18634	return s
18635}
18636
18637// SetBeforeCommitId sets the BeforeCommitId field's value.
18638func (s *PostCommentForComparedCommitOutput) SetBeforeCommitId(v string) *PostCommentForComparedCommitOutput {
18639	s.BeforeCommitId = &v
18640	return s
18641}
18642
18643// SetComment sets the Comment field's value.
18644func (s *PostCommentForComparedCommitOutput) SetComment(v *Comment) *PostCommentForComparedCommitOutput {
18645	s.Comment = v
18646	return s
18647}
18648
18649// SetLocation sets the Location field's value.
18650func (s *PostCommentForComparedCommitOutput) SetLocation(v *Location) *PostCommentForComparedCommitOutput {
18651	s.Location = v
18652	return s
18653}
18654
18655// SetRepositoryName sets the RepositoryName field's value.
18656func (s *PostCommentForComparedCommitOutput) SetRepositoryName(v string) *PostCommentForComparedCommitOutput {
18657	s.RepositoryName = &v
18658	return s
18659}
18660
18661type PostCommentForPullRequestInput struct {
18662	_ struct{} `type:"structure"`
18663
18664	// The full commit ID of the commit in the source branch that is the current
18665	// tip of the branch for the pull request when you post the comment.
18666	//
18667	// AfterCommitId is a required field
18668	AfterCommitId *string `locationName:"afterCommitId" type:"string" required:"true"`
18669
18670	// The full commit ID of the commit in the destination branch that was the tip
18671	// of the branch at the time the pull request was created.
18672	//
18673	// BeforeCommitId is a required field
18674	BeforeCommitId *string `locationName:"beforeCommitId" type:"string" required:"true"`
18675
18676	// A unique, client-generated idempotency token that, when provided in a request,
18677	// ensures the request cannot be repeated with a changed parameter. If a request
18678	// is received with the same parameters and a token is included, the request
18679	// returns information about the initial request that used that token.
18680	ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"`
18681
18682	// The content of your comment on the change.
18683	//
18684	// Content is a required field
18685	Content *string `locationName:"content" type:"string" required:"true"`
18686
18687	// The location of the change where you want to post your comment. If no location
18688	// is provided, the comment is posted as a general comment on the pull request
18689	// difference between the before commit ID and the after commit ID.
18690	Location *Location `locationName:"location" type:"structure"`
18691
18692	// The system-generated ID of the pull request. To get this ID, use ListPullRequests.
18693	//
18694	// PullRequestId is a required field
18695	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
18696
18697	// The name of the repository where you want to post a comment on a pull request.
18698	//
18699	// RepositoryName is a required field
18700	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
18701}
18702
18703// String returns the string representation
18704func (s PostCommentForPullRequestInput) String() string {
18705	return awsutil.Prettify(s)
18706}
18707
18708// GoString returns the string representation
18709func (s PostCommentForPullRequestInput) GoString() string {
18710	return s.String()
18711}
18712
18713// Validate inspects the fields of the type to determine if they are valid.
18714func (s *PostCommentForPullRequestInput) Validate() error {
18715	invalidParams := request.ErrInvalidParams{Context: "PostCommentForPullRequestInput"}
18716	if s.AfterCommitId == nil {
18717		invalidParams.Add(request.NewErrParamRequired("AfterCommitId"))
18718	}
18719	if s.BeforeCommitId == nil {
18720		invalidParams.Add(request.NewErrParamRequired("BeforeCommitId"))
18721	}
18722	if s.Content == nil {
18723		invalidParams.Add(request.NewErrParamRequired("Content"))
18724	}
18725	if s.PullRequestId == nil {
18726		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
18727	}
18728	if s.RepositoryName == nil {
18729		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
18730	}
18731	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
18732		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
18733	}
18734
18735	if invalidParams.Len() > 0 {
18736		return invalidParams
18737	}
18738	return nil
18739}
18740
18741// SetAfterCommitId sets the AfterCommitId field's value.
18742func (s *PostCommentForPullRequestInput) SetAfterCommitId(v string) *PostCommentForPullRequestInput {
18743	s.AfterCommitId = &v
18744	return s
18745}
18746
18747// SetBeforeCommitId sets the BeforeCommitId field's value.
18748func (s *PostCommentForPullRequestInput) SetBeforeCommitId(v string) *PostCommentForPullRequestInput {
18749	s.BeforeCommitId = &v
18750	return s
18751}
18752
18753// SetClientRequestToken sets the ClientRequestToken field's value.
18754func (s *PostCommentForPullRequestInput) SetClientRequestToken(v string) *PostCommentForPullRequestInput {
18755	s.ClientRequestToken = &v
18756	return s
18757}
18758
18759// SetContent sets the Content field's value.
18760func (s *PostCommentForPullRequestInput) SetContent(v string) *PostCommentForPullRequestInput {
18761	s.Content = &v
18762	return s
18763}
18764
18765// SetLocation sets the Location field's value.
18766func (s *PostCommentForPullRequestInput) SetLocation(v *Location) *PostCommentForPullRequestInput {
18767	s.Location = v
18768	return s
18769}
18770
18771// SetPullRequestId sets the PullRequestId field's value.
18772func (s *PostCommentForPullRequestInput) SetPullRequestId(v string) *PostCommentForPullRequestInput {
18773	s.PullRequestId = &v
18774	return s
18775}
18776
18777// SetRepositoryName sets the RepositoryName field's value.
18778func (s *PostCommentForPullRequestInput) SetRepositoryName(v string) *PostCommentForPullRequestInput {
18779	s.RepositoryName = &v
18780	return s
18781}
18782
18783type PostCommentForPullRequestOutput struct {
18784	_ struct{} `type:"structure"`
18785
18786	// In the directionality of the pull request, the blob ID of the after blob.
18787	AfterBlobId *string `locationName:"afterBlobId" type:"string"`
18788
18789	// The full commit ID of the commit in the destination branch where the pull
18790	// request is merged.
18791	AfterCommitId *string `locationName:"afterCommitId" type:"string"`
18792
18793	// In the directionality of the pull request, the blob ID of the before blob.
18794	BeforeBlobId *string `locationName:"beforeBlobId" type:"string"`
18795
18796	// The full commit ID of the commit in the source branch used to create the
18797	// pull request, or in the case of an updated pull request, the full commit
18798	// ID of the commit used to update the pull request.
18799	BeforeCommitId *string `locationName:"beforeCommitId" type:"string"`
18800
18801	// The content of the comment you posted.
18802	Comment *Comment `locationName:"comment" type:"structure"`
18803
18804	// The location of the change where you posted your comment.
18805	Location *Location `locationName:"location" type:"structure"`
18806
18807	// The system-generated ID of the pull request.
18808	PullRequestId *string `locationName:"pullRequestId" type:"string"`
18809
18810	// The name of the repository where you posted a comment on a pull request.
18811	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
18812}
18813
18814// String returns the string representation
18815func (s PostCommentForPullRequestOutput) String() string {
18816	return awsutil.Prettify(s)
18817}
18818
18819// GoString returns the string representation
18820func (s PostCommentForPullRequestOutput) GoString() string {
18821	return s.String()
18822}
18823
18824// SetAfterBlobId sets the AfterBlobId field's value.
18825func (s *PostCommentForPullRequestOutput) SetAfterBlobId(v string) *PostCommentForPullRequestOutput {
18826	s.AfterBlobId = &v
18827	return s
18828}
18829
18830// SetAfterCommitId sets the AfterCommitId field's value.
18831func (s *PostCommentForPullRequestOutput) SetAfterCommitId(v string) *PostCommentForPullRequestOutput {
18832	s.AfterCommitId = &v
18833	return s
18834}
18835
18836// SetBeforeBlobId sets the BeforeBlobId field's value.
18837func (s *PostCommentForPullRequestOutput) SetBeforeBlobId(v string) *PostCommentForPullRequestOutput {
18838	s.BeforeBlobId = &v
18839	return s
18840}
18841
18842// SetBeforeCommitId sets the BeforeCommitId field's value.
18843func (s *PostCommentForPullRequestOutput) SetBeforeCommitId(v string) *PostCommentForPullRequestOutput {
18844	s.BeforeCommitId = &v
18845	return s
18846}
18847
18848// SetComment sets the Comment field's value.
18849func (s *PostCommentForPullRequestOutput) SetComment(v *Comment) *PostCommentForPullRequestOutput {
18850	s.Comment = v
18851	return s
18852}
18853
18854// SetLocation sets the Location field's value.
18855func (s *PostCommentForPullRequestOutput) SetLocation(v *Location) *PostCommentForPullRequestOutput {
18856	s.Location = v
18857	return s
18858}
18859
18860// SetPullRequestId sets the PullRequestId field's value.
18861func (s *PostCommentForPullRequestOutput) SetPullRequestId(v string) *PostCommentForPullRequestOutput {
18862	s.PullRequestId = &v
18863	return s
18864}
18865
18866// SetRepositoryName sets the RepositoryName field's value.
18867func (s *PostCommentForPullRequestOutput) SetRepositoryName(v string) *PostCommentForPullRequestOutput {
18868	s.RepositoryName = &v
18869	return s
18870}
18871
18872type PostCommentReplyInput struct {
18873	_ struct{} `type:"structure"`
18874
18875	// A unique, client-generated idempotency token that, when provided in a request,
18876	// ensures the request cannot be repeated with a changed parameter. If a request
18877	// is received with the same parameters and a token is included, the request
18878	// returns information about the initial request that used that token.
18879	ClientRequestToken *string `locationName:"clientRequestToken" type:"string" idempotencyToken:"true"`
18880
18881	// The contents of your reply to a comment.
18882	//
18883	// Content is a required field
18884	Content *string `locationName:"content" type:"string" required:"true"`
18885
18886	// The system-generated ID of the comment to which you want to reply. To get
18887	// this ID, use GetCommentsForComparedCommit or GetCommentsForPullRequest.
18888	//
18889	// InReplyTo is a required field
18890	InReplyTo *string `locationName:"inReplyTo" type:"string" required:"true"`
18891}
18892
18893// String returns the string representation
18894func (s PostCommentReplyInput) String() string {
18895	return awsutil.Prettify(s)
18896}
18897
18898// GoString returns the string representation
18899func (s PostCommentReplyInput) GoString() string {
18900	return s.String()
18901}
18902
18903// Validate inspects the fields of the type to determine if they are valid.
18904func (s *PostCommentReplyInput) Validate() error {
18905	invalidParams := request.ErrInvalidParams{Context: "PostCommentReplyInput"}
18906	if s.Content == nil {
18907		invalidParams.Add(request.NewErrParamRequired("Content"))
18908	}
18909	if s.InReplyTo == nil {
18910		invalidParams.Add(request.NewErrParamRequired("InReplyTo"))
18911	}
18912
18913	if invalidParams.Len() > 0 {
18914		return invalidParams
18915	}
18916	return nil
18917}
18918
18919// SetClientRequestToken sets the ClientRequestToken field's value.
18920func (s *PostCommentReplyInput) SetClientRequestToken(v string) *PostCommentReplyInput {
18921	s.ClientRequestToken = &v
18922	return s
18923}
18924
18925// SetContent sets the Content field's value.
18926func (s *PostCommentReplyInput) SetContent(v string) *PostCommentReplyInput {
18927	s.Content = &v
18928	return s
18929}
18930
18931// SetInReplyTo sets the InReplyTo field's value.
18932func (s *PostCommentReplyInput) SetInReplyTo(v string) *PostCommentReplyInput {
18933	s.InReplyTo = &v
18934	return s
18935}
18936
18937type PostCommentReplyOutput struct {
18938	_ struct{} `type:"structure"`
18939
18940	// Information about the reply to a comment.
18941	Comment *Comment `locationName:"comment" type:"structure"`
18942}
18943
18944// String returns the string representation
18945func (s PostCommentReplyOutput) String() string {
18946	return awsutil.Prettify(s)
18947}
18948
18949// GoString returns the string representation
18950func (s PostCommentReplyOutput) GoString() string {
18951	return s.String()
18952}
18953
18954// SetComment sets the Comment field's value.
18955func (s *PostCommentReplyOutput) SetComment(v *Comment) *PostCommentReplyOutput {
18956	s.Comment = v
18957	return s
18958}
18959
18960// Returns information about a pull request.
18961type PullRequest struct {
18962	_ struct{} `type:"structure"`
18963
18964	// The approval rules applied to the pull request.
18965	ApprovalRules []*ApprovalRule `locationName:"approvalRules" type:"list"`
18966
18967	// The Amazon Resource Name (ARN) of the user who created the pull request.
18968	AuthorArn *string `locationName:"authorArn" type:"string"`
18969
18970	// A unique, client-generated idempotency token that, when provided in a request,
18971	// ensures the request cannot be repeated with a changed parameter. If a request
18972	// is received with the same parameters and a token is included, the request
18973	// returns information about the initial request that used that token.
18974	ClientRequestToken *string `locationName:"clientRequestToken" type:"string"`
18975
18976	// The date and time the pull request was originally created, in timestamp format.
18977	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
18978
18979	// The user-defined description of the pull request. This description can be
18980	// used to clarify what should be reviewed and other details of the request.
18981	Description *string `locationName:"description" type:"string"`
18982
18983	// The day and time of the last user or system activity on the pull request,
18984	// in timestamp format.
18985	LastActivityDate *time.Time `locationName:"lastActivityDate" type:"timestamp"`
18986
18987	// The system-generated ID of the pull request.
18988	PullRequestId *string `locationName:"pullRequestId" type:"string"`
18989
18990	// The status of the pull request. Pull request status can only change from
18991	// OPEN to CLOSED.
18992	PullRequestStatus *string `locationName:"pullRequestStatus" type:"string" enum:"PullRequestStatusEnum"`
18993
18994	// The targets of the pull request, including the source branch and destination
18995	// branch for the pull request.
18996	PullRequestTargets []*PullRequestTarget `locationName:"pullRequestTargets" type:"list"`
18997
18998	// The system-generated revision ID for the pull request.
18999	RevisionId *string `locationName:"revisionId" type:"string"`
19000
19001	// The user-defined title of the pull request. This title is displayed in the
19002	// list of pull requests to other repository users.
19003	Title *string `locationName:"title" type:"string"`
19004}
19005
19006// String returns the string representation
19007func (s PullRequest) String() string {
19008	return awsutil.Prettify(s)
19009}
19010
19011// GoString returns the string representation
19012func (s PullRequest) GoString() string {
19013	return s.String()
19014}
19015
19016// SetApprovalRules sets the ApprovalRules field's value.
19017func (s *PullRequest) SetApprovalRules(v []*ApprovalRule) *PullRequest {
19018	s.ApprovalRules = v
19019	return s
19020}
19021
19022// SetAuthorArn sets the AuthorArn field's value.
19023func (s *PullRequest) SetAuthorArn(v string) *PullRequest {
19024	s.AuthorArn = &v
19025	return s
19026}
19027
19028// SetClientRequestToken sets the ClientRequestToken field's value.
19029func (s *PullRequest) SetClientRequestToken(v string) *PullRequest {
19030	s.ClientRequestToken = &v
19031	return s
19032}
19033
19034// SetCreationDate sets the CreationDate field's value.
19035func (s *PullRequest) SetCreationDate(v time.Time) *PullRequest {
19036	s.CreationDate = &v
19037	return s
19038}
19039
19040// SetDescription sets the Description field's value.
19041func (s *PullRequest) SetDescription(v string) *PullRequest {
19042	s.Description = &v
19043	return s
19044}
19045
19046// SetLastActivityDate sets the LastActivityDate field's value.
19047func (s *PullRequest) SetLastActivityDate(v time.Time) *PullRequest {
19048	s.LastActivityDate = &v
19049	return s
19050}
19051
19052// SetPullRequestId sets the PullRequestId field's value.
19053func (s *PullRequest) SetPullRequestId(v string) *PullRequest {
19054	s.PullRequestId = &v
19055	return s
19056}
19057
19058// SetPullRequestStatus sets the PullRequestStatus field's value.
19059func (s *PullRequest) SetPullRequestStatus(v string) *PullRequest {
19060	s.PullRequestStatus = &v
19061	return s
19062}
19063
19064// SetPullRequestTargets sets the PullRequestTargets field's value.
19065func (s *PullRequest) SetPullRequestTargets(v []*PullRequestTarget) *PullRequest {
19066	s.PullRequestTargets = v
19067	return s
19068}
19069
19070// SetRevisionId sets the RevisionId field's value.
19071func (s *PullRequest) SetRevisionId(v string) *PullRequest {
19072	s.RevisionId = &v
19073	return s
19074}
19075
19076// SetTitle sets the Title field's value.
19077func (s *PullRequest) SetTitle(v string) *PullRequest {
19078	s.Title = &v
19079	return s
19080}
19081
19082// Metadata about the pull request that is used when comparing the pull request
19083// source with its destination.
19084type PullRequestCreatedEventMetadata struct {
19085	_ struct{} `type:"structure"`
19086
19087	// The commit ID of the tip of the branch specified as the destination branch
19088	// when the pull request was created.
19089	DestinationCommitId *string `locationName:"destinationCommitId" type:"string"`
19090
19091	// The commit ID of the most recent commit that the source branch and the destination
19092	// branch have in common.
19093	MergeBase *string `locationName:"mergeBase" type:"string"`
19094
19095	// The name of the repository where the pull request was created.
19096	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
19097
19098	// The commit ID on the source branch used when the pull request was created.
19099	SourceCommitId *string `locationName:"sourceCommitId" type:"string"`
19100}
19101
19102// String returns the string representation
19103func (s PullRequestCreatedEventMetadata) String() string {
19104	return awsutil.Prettify(s)
19105}
19106
19107// GoString returns the string representation
19108func (s PullRequestCreatedEventMetadata) GoString() string {
19109	return s.String()
19110}
19111
19112// SetDestinationCommitId sets the DestinationCommitId field's value.
19113func (s *PullRequestCreatedEventMetadata) SetDestinationCommitId(v string) *PullRequestCreatedEventMetadata {
19114	s.DestinationCommitId = &v
19115	return s
19116}
19117
19118// SetMergeBase sets the MergeBase field's value.
19119func (s *PullRequestCreatedEventMetadata) SetMergeBase(v string) *PullRequestCreatedEventMetadata {
19120	s.MergeBase = &v
19121	return s
19122}
19123
19124// SetRepositoryName sets the RepositoryName field's value.
19125func (s *PullRequestCreatedEventMetadata) SetRepositoryName(v string) *PullRequestCreatedEventMetadata {
19126	s.RepositoryName = &v
19127	return s
19128}
19129
19130// SetSourceCommitId sets the SourceCommitId field's value.
19131func (s *PullRequestCreatedEventMetadata) SetSourceCommitId(v string) *PullRequestCreatedEventMetadata {
19132	s.SourceCommitId = &v
19133	return s
19134}
19135
19136// Returns information about a pull request event.
19137type PullRequestEvent struct {
19138	_ struct{} `type:"structure"`
19139
19140	// The Amazon Resource Name (ARN) of the user whose actions resulted in the
19141	// event. Examples include updating the pull request with more commits or changing
19142	// the status of a pull request.
19143	ActorArn *string `locationName:"actorArn" type:"string"`
19144
19145	// Information about a pull request event.
19146	ApprovalRuleEventMetadata *ApprovalRuleEventMetadata `locationName:"approvalRuleEventMetadata" type:"structure"`
19147
19148	// Information about an approval rule override event for a pull request.
19149	ApprovalRuleOverriddenEventMetadata *ApprovalRuleOverriddenEventMetadata `locationName:"approvalRuleOverriddenEventMetadata" type:"structure"`
19150
19151	// Information about an approval state change for a pull request.
19152	ApprovalStateChangedEventMetadata *ApprovalStateChangedEventMetadata `locationName:"approvalStateChangedEventMetadata" type:"structure"`
19153
19154	// The day and time of the pull request event, in timestamp format.
19155	EventDate *time.Time `locationName:"eventDate" type:"timestamp"`
19156
19157	// Information about the source and destination branches for the pull request.
19158	PullRequestCreatedEventMetadata *PullRequestCreatedEventMetadata `locationName:"pullRequestCreatedEventMetadata" type:"structure"`
19159
19160	// The type of the pull request event (for example, a status change event (PULL_REQUEST_STATUS_CHANGED)
19161	// or update event (PULL_REQUEST_SOURCE_REFERENCE_UPDATED)).
19162	PullRequestEventType *string `locationName:"pullRequestEventType" type:"string" enum:"PullRequestEventType"`
19163
19164	// The system-generated ID of the pull request.
19165	PullRequestId *string `locationName:"pullRequestId" type:"string"`
19166
19167	// Information about the change in mergability state for the pull request event.
19168	PullRequestMergedStateChangedEventMetadata *PullRequestMergedStateChangedEventMetadata `locationName:"pullRequestMergedStateChangedEventMetadata" type:"structure"`
19169
19170	// Information about the updated source branch for the pull request event.
19171	PullRequestSourceReferenceUpdatedEventMetadata *PullRequestSourceReferenceUpdatedEventMetadata `locationName:"pullRequestSourceReferenceUpdatedEventMetadata" type:"structure"`
19172
19173	// Information about the change in status for the pull request event.
19174	PullRequestStatusChangedEventMetadata *PullRequestStatusChangedEventMetadata `locationName:"pullRequestStatusChangedEventMetadata" type:"structure"`
19175}
19176
19177// String returns the string representation
19178func (s PullRequestEvent) String() string {
19179	return awsutil.Prettify(s)
19180}
19181
19182// GoString returns the string representation
19183func (s PullRequestEvent) GoString() string {
19184	return s.String()
19185}
19186
19187// SetActorArn sets the ActorArn field's value.
19188func (s *PullRequestEvent) SetActorArn(v string) *PullRequestEvent {
19189	s.ActorArn = &v
19190	return s
19191}
19192
19193// SetApprovalRuleEventMetadata sets the ApprovalRuleEventMetadata field's value.
19194func (s *PullRequestEvent) SetApprovalRuleEventMetadata(v *ApprovalRuleEventMetadata) *PullRequestEvent {
19195	s.ApprovalRuleEventMetadata = v
19196	return s
19197}
19198
19199// SetApprovalRuleOverriddenEventMetadata sets the ApprovalRuleOverriddenEventMetadata field's value.
19200func (s *PullRequestEvent) SetApprovalRuleOverriddenEventMetadata(v *ApprovalRuleOverriddenEventMetadata) *PullRequestEvent {
19201	s.ApprovalRuleOverriddenEventMetadata = v
19202	return s
19203}
19204
19205// SetApprovalStateChangedEventMetadata sets the ApprovalStateChangedEventMetadata field's value.
19206func (s *PullRequestEvent) SetApprovalStateChangedEventMetadata(v *ApprovalStateChangedEventMetadata) *PullRequestEvent {
19207	s.ApprovalStateChangedEventMetadata = v
19208	return s
19209}
19210
19211// SetEventDate sets the EventDate field's value.
19212func (s *PullRequestEvent) SetEventDate(v time.Time) *PullRequestEvent {
19213	s.EventDate = &v
19214	return s
19215}
19216
19217// SetPullRequestCreatedEventMetadata sets the PullRequestCreatedEventMetadata field's value.
19218func (s *PullRequestEvent) SetPullRequestCreatedEventMetadata(v *PullRequestCreatedEventMetadata) *PullRequestEvent {
19219	s.PullRequestCreatedEventMetadata = v
19220	return s
19221}
19222
19223// SetPullRequestEventType sets the PullRequestEventType field's value.
19224func (s *PullRequestEvent) SetPullRequestEventType(v string) *PullRequestEvent {
19225	s.PullRequestEventType = &v
19226	return s
19227}
19228
19229// SetPullRequestId sets the PullRequestId field's value.
19230func (s *PullRequestEvent) SetPullRequestId(v string) *PullRequestEvent {
19231	s.PullRequestId = &v
19232	return s
19233}
19234
19235// SetPullRequestMergedStateChangedEventMetadata sets the PullRequestMergedStateChangedEventMetadata field's value.
19236func (s *PullRequestEvent) SetPullRequestMergedStateChangedEventMetadata(v *PullRequestMergedStateChangedEventMetadata) *PullRequestEvent {
19237	s.PullRequestMergedStateChangedEventMetadata = v
19238	return s
19239}
19240
19241// SetPullRequestSourceReferenceUpdatedEventMetadata sets the PullRequestSourceReferenceUpdatedEventMetadata field's value.
19242func (s *PullRequestEvent) SetPullRequestSourceReferenceUpdatedEventMetadata(v *PullRequestSourceReferenceUpdatedEventMetadata) *PullRequestEvent {
19243	s.PullRequestSourceReferenceUpdatedEventMetadata = v
19244	return s
19245}
19246
19247// SetPullRequestStatusChangedEventMetadata sets the PullRequestStatusChangedEventMetadata field's value.
19248func (s *PullRequestEvent) SetPullRequestStatusChangedEventMetadata(v *PullRequestStatusChangedEventMetadata) *PullRequestEvent {
19249	s.PullRequestStatusChangedEventMetadata = v
19250	return s
19251}
19252
19253// Returns information about the change in the merge state for a pull request
19254// event.
19255type PullRequestMergedStateChangedEventMetadata struct {
19256	_ struct{} `type:"structure"`
19257
19258	// The name of the branch that the pull request is merged into.
19259	DestinationReference *string `locationName:"destinationReference" type:"string"`
19260
19261	// Information about the merge state change event.
19262	MergeMetadata *MergeMetadata `locationName:"mergeMetadata" type:"structure"`
19263
19264	// The name of the repository where the pull request was created.
19265	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
19266}
19267
19268// String returns the string representation
19269func (s PullRequestMergedStateChangedEventMetadata) String() string {
19270	return awsutil.Prettify(s)
19271}
19272
19273// GoString returns the string representation
19274func (s PullRequestMergedStateChangedEventMetadata) GoString() string {
19275	return s.String()
19276}
19277
19278// SetDestinationReference sets the DestinationReference field's value.
19279func (s *PullRequestMergedStateChangedEventMetadata) SetDestinationReference(v string) *PullRequestMergedStateChangedEventMetadata {
19280	s.DestinationReference = &v
19281	return s
19282}
19283
19284// SetMergeMetadata sets the MergeMetadata field's value.
19285func (s *PullRequestMergedStateChangedEventMetadata) SetMergeMetadata(v *MergeMetadata) *PullRequestMergedStateChangedEventMetadata {
19286	s.MergeMetadata = v
19287	return s
19288}
19289
19290// SetRepositoryName sets the RepositoryName field's value.
19291func (s *PullRequestMergedStateChangedEventMetadata) SetRepositoryName(v string) *PullRequestMergedStateChangedEventMetadata {
19292	s.RepositoryName = &v
19293	return s
19294}
19295
19296// Information about an update to the source branch of a pull request.
19297type PullRequestSourceReferenceUpdatedEventMetadata struct {
19298	_ struct{} `type:"structure"`
19299
19300	// The full commit ID of the commit in the source branch that was the tip of
19301	// the branch at the time the pull request was updated.
19302	AfterCommitId *string `locationName:"afterCommitId" type:"string"`
19303
19304	// The full commit ID of the commit in the destination branch that was the tip
19305	// of the branch at the time the pull request was updated.
19306	BeforeCommitId *string `locationName:"beforeCommitId" type:"string"`
19307
19308	// The commit ID of the most recent commit that the source branch and the destination
19309	// branch have in common.
19310	MergeBase *string `locationName:"mergeBase" type:"string"`
19311
19312	// The name of the repository where the pull request was updated.
19313	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
19314}
19315
19316// String returns the string representation
19317func (s PullRequestSourceReferenceUpdatedEventMetadata) String() string {
19318	return awsutil.Prettify(s)
19319}
19320
19321// GoString returns the string representation
19322func (s PullRequestSourceReferenceUpdatedEventMetadata) GoString() string {
19323	return s.String()
19324}
19325
19326// SetAfterCommitId sets the AfterCommitId field's value.
19327func (s *PullRequestSourceReferenceUpdatedEventMetadata) SetAfterCommitId(v string) *PullRequestSourceReferenceUpdatedEventMetadata {
19328	s.AfterCommitId = &v
19329	return s
19330}
19331
19332// SetBeforeCommitId sets the BeforeCommitId field's value.
19333func (s *PullRequestSourceReferenceUpdatedEventMetadata) SetBeforeCommitId(v string) *PullRequestSourceReferenceUpdatedEventMetadata {
19334	s.BeforeCommitId = &v
19335	return s
19336}
19337
19338// SetMergeBase sets the MergeBase field's value.
19339func (s *PullRequestSourceReferenceUpdatedEventMetadata) SetMergeBase(v string) *PullRequestSourceReferenceUpdatedEventMetadata {
19340	s.MergeBase = &v
19341	return s
19342}
19343
19344// SetRepositoryName sets the RepositoryName field's value.
19345func (s *PullRequestSourceReferenceUpdatedEventMetadata) SetRepositoryName(v string) *PullRequestSourceReferenceUpdatedEventMetadata {
19346	s.RepositoryName = &v
19347	return s
19348}
19349
19350// Information about a change to the status of a pull request.
19351type PullRequestStatusChangedEventMetadata struct {
19352	_ struct{} `type:"structure"`
19353
19354	// The changed status of the pull request.
19355	PullRequestStatus *string `locationName:"pullRequestStatus" type:"string" enum:"PullRequestStatusEnum"`
19356}
19357
19358// String returns the string representation
19359func (s PullRequestStatusChangedEventMetadata) String() string {
19360	return awsutil.Prettify(s)
19361}
19362
19363// GoString returns the string representation
19364func (s PullRequestStatusChangedEventMetadata) GoString() string {
19365	return s.String()
19366}
19367
19368// SetPullRequestStatus sets the PullRequestStatus field's value.
19369func (s *PullRequestStatusChangedEventMetadata) SetPullRequestStatus(v string) *PullRequestStatusChangedEventMetadata {
19370	s.PullRequestStatus = &v
19371	return s
19372}
19373
19374// Returns information about a pull request target.
19375type PullRequestTarget struct {
19376	_ struct{} `type:"structure"`
19377
19378	// The full commit ID that is the tip of the destination branch. This is the
19379	// commit where the pull request was or will be merged.
19380	DestinationCommit *string `locationName:"destinationCommit" type:"string"`
19381
19382	// The branch of the repository where the pull request changes are merged. Also
19383	// known as the destination branch.
19384	DestinationReference *string `locationName:"destinationReference" type:"string"`
19385
19386	// The commit ID of the most recent commit that the source branch and the destination
19387	// branch have in common.
19388	MergeBase *string `locationName:"mergeBase" type:"string"`
19389
19390	// Returns metadata about the state of the merge, including whether the merge
19391	// has been made.
19392	MergeMetadata *MergeMetadata `locationName:"mergeMetadata" type:"structure"`
19393
19394	// The name of the repository that contains the pull request source and destination
19395	// branches.
19396	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
19397
19398	// The full commit ID of the tip of the source branch used to create the pull
19399	// request. If the pull request branch is updated by a push while the pull request
19400	// is open, the commit ID changes to reflect the new tip of the branch.
19401	SourceCommit *string `locationName:"sourceCommit" type:"string"`
19402
19403	// The branch of the repository that contains the changes for the pull request.
19404	// Also known as the source branch.
19405	SourceReference *string `locationName:"sourceReference" type:"string"`
19406}
19407
19408// String returns the string representation
19409func (s PullRequestTarget) String() string {
19410	return awsutil.Prettify(s)
19411}
19412
19413// GoString returns the string representation
19414func (s PullRequestTarget) GoString() string {
19415	return s.String()
19416}
19417
19418// SetDestinationCommit sets the DestinationCommit field's value.
19419func (s *PullRequestTarget) SetDestinationCommit(v string) *PullRequestTarget {
19420	s.DestinationCommit = &v
19421	return s
19422}
19423
19424// SetDestinationReference sets the DestinationReference field's value.
19425func (s *PullRequestTarget) SetDestinationReference(v string) *PullRequestTarget {
19426	s.DestinationReference = &v
19427	return s
19428}
19429
19430// SetMergeBase sets the MergeBase field's value.
19431func (s *PullRequestTarget) SetMergeBase(v string) *PullRequestTarget {
19432	s.MergeBase = &v
19433	return s
19434}
19435
19436// SetMergeMetadata sets the MergeMetadata field's value.
19437func (s *PullRequestTarget) SetMergeMetadata(v *MergeMetadata) *PullRequestTarget {
19438	s.MergeMetadata = v
19439	return s
19440}
19441
19442// SetRepositoryName sets the RepositoryName field's value.
19443func (s *PullRequestTarget) SetRepositoryName(v string) *PullRequestTarget {
19444	s.RepositoryName = &v
19445	return s
19446}
19447
19448// SetSourceCommit sets the SourceCommit field's value.
19449func (s *PullRequestTarget) SetSourceCommit(v string) *PullRequestTarget {
19450	s.SourceCommit = &v
19451	return s
19452}
19453
19454// SetSourceReference sets the SourceReference field's value.
19455func (s *PullRequestTarget) SetSourceReference(v string) *PullRequestTarget {
19456	s.SourceReference = &v
19457	return s
19458}
19459
19460// Information about a file added or updated as part of a commit.
19461type PutFileEntry struct {
19462	_ struct{} `type:"structure"`
19463
19464	// The content of the file, if a source file is not specified.
19465	//
19466	// FileContent is automatically base64 encoded/decoded by the SDK.
19467	FileContent []byte `locationName:"fileContent" type:"blob"`
19468
19469	// The extrapolated file mode permissions for the file. Valid values include
19470	// EXECUTABLE and NORMAL.
19471	FileMode *string `locationName:"fileMode" type:"string" enum:"FileModeTypeEnum"`
19472
19473	// The full path to the file in the repository, including the name of the file.
19474	//
19475	// FilePath is a required field
19476	FilePath *string `locationName:"filePath" type:"string" required:"true"`
19477
19478	// The name and full path of the file that contains the changes you want to
19479	// make as part of the commit, if you are not providing the file content directly.
19480	SourceFile *SourceFileSpecifier `locationName:"sourceFile" type:"structure"`
19481}
19482
19483// String returns the string representation
19484func (s PutFileEntry) String() string {
19485	return awsutil.Prettify(s)
19486}
19487
19488// GoString returns the string representation
19489func (s PutFileEntry) GoString() string {
19490	return s.String()
19491}
19492
19493// Validate inspects the fields of the type to determine if they are valid.
19494func (s *PutFileEntry) Validate() error {
19495	invalidParams := request.ErrInvalidParams{Context: "PutFileEntry"}
19496	if s.FilePath == nil {
19497		invalidParams.Add(request.NewErrParamRequired("FilePath"))
19498	}
19499	if s.SourceFile != nil {
19500		if err := s.SourceFile.Validate(); err != nil {
19501			invalidParams.AddNested("SourceFile", err.(request.ErrInvalidParams))
19502		}
19503	}
19504
19505	if invalidParams.Len() > 0 {
19506		return invalidParams
19507	}
19508	return nil
19509}
19510
19511// SetFileContent sets the FileContent field's value.
19512func (s *PutFileEntry) SetFileContent(v []byte) *PutFileEntry {
19513	s.FileContent = v
19514	return s
19515}
19516
19517// SetFileMode sets the FileMode field's value.
19518func (s *PutFileEntry) SetFileMode(v string) *PutFileEntry {
19519	s.FileMode = &v
19520	return s
19521}
19522
19523// SetFilePath sets the FilePath field's value.
19524func (s *PutFileEntry) SetFilePath(v string) *PutFileEntry {
19525	s.FilePath = &v
19526	return s
19527}
19528
19529// SetSourceFile sets the SourceFile field's value.
19530func (s *PutFileEntry) SetSourceFile(v *SourceFileSpecifier) *PutFileEntry {
19531	s.SourceFile = v
19532	return s
19533}
19534
19535type PutFileInput struct {
19536	_ struct{} `type:"structure"`
19537
19538	// The name of the branch where you want to add or update the file. If this
19539	// is an empty repository, this branch is created.
19540	//
19541	// BranchName is a required field
19542	BranchName *string `locationName:"branchName" min:"1" type:"string" required:"true"`
19543
19544	// A message about why this file was added or updated. Although it is optional,
19545	// a message makes the commit history for your repository more useful.
19546	CommitMessage *string `locationName:"commitMessage" type:"string"`
19547
19548	// An email address for the person adding or updating the file.
19549	Email *string `locationName:"email" type:"string"`
19550
19551	// The content of the file, in binary object format.
19552	//
19553	// FileContent is automatically base64 encoded/decoded by the SDK.
19554	//
19555	// FileContent is a required field
19556	FileContent []byte `locationName:"fileContent" type:"blob" required:"true"`
19557
19558	// The file mode permissions of the blob. Valid file mode permissions are listed
19559	// here.
19560	FileMode *string `locationName:"fileMode" type:"string" enum:"FileModeTypeEnum"`
19561
19562	// The name of the file you want to add or update, including the relative path
19563	// to the file in the repository.
19564	//
19565	// If the path does not currently exist in the repository, the path is created
19566	// as part of adding the file.
19567	//
19568	// FilePath is a required field
19569	FilePath *string `locationName:"filePath" type:"string" required:"true"`
19570
19571	// The name of the person adding or updating the file. Although it is optional,
19572	// a name makes the commit history for your repository more useful.
19573	Name *string `locationName:"name" type:"string"`
19574
19575	// The full commit ID of the head commit in the branch where you want to add
19576	// or update the file. If this is an empty repository, no commit ID is required.
19577	// If this is not an empty repository, a commit ID is required.
19578	//
19579	// The commit ID must match the ID of the head commit at the time of the operation.
19580	// Otherwise, an error occurs, and the file is not added or updated.
19581	ParentCommitId *string `locationName:"parentCommitId" type:"string"`
19582
19583	// The name of the repository where you want to add or update the file.
19584	//
19585	// RepositoryName is a required field
19586	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
19587}
19588
19589// String returns the string representation
19590func (s PutFileInput) String() string {
19591	return awsutil.Prettify(s)
19592}
19593
19594// GoString returns the string representation
19595func (s PutFileInput) GoString() string {
19596	return s.String()
19597}
19598
19599// Validate inspects the fields of the type to determine if they are valid.
19600func (s *PutFileInput) Validate() error {
19601	invalidParams := request.ErrInvalidParams{Context: "PutFileInput"}
19602	if s.BranchName == nil {
19603		invalidParams.Add(request.NewErrParamRequired("BranchName"))
19604	}
19605	if s.BranchName != nil && len(*s.BranchName) < 1 {
19606		invalidParams.Add(request.NewErrParamMinLen("BranchName", 1))
19607	}
19608	if s.FileContent == nil {
19609		invalidParams.Add(request.NewErrParamRequired("FileContent"))
19610	}
19611	if s.FilePath == nil {
19612		invalidParams.Add(request.NewErrParamRequired("FilePath"))
19613	}
19614	if s.RepositoryName == nil {
19615		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
19616	}
19617	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
19618		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
19619	}
19620
19621	if invalidParams.Len() > 0 {
19622		return invalidParams
19623	}
19624	return nil
19625}
19626
19627// SetBranchName sets the BranchName field's value.
19628func (s *PutFileInput) SetBranchName(v string) *PutFileInput {
19629	s.BranchName = &v
19630	return s
19631}
19632
19633// SetCommitMessage sets the CommitMessage field's value.
19634func (s *PutFileInput) SetCommitMessage(v string) *PutFileInput {
19635	s.CommitMessage = &v
19636	return s
19637}
19638
19639// SetEmail sets the Email field's value.
19640func (s *PutFileInput) SetEmail(v string) *PutFileInput {
19641	s.Email = &v
19642	return s
19643}
19644
19645// SetFileContent sets the FileContent field's value.
19646func (s *PutFileInput) SetFileContent(v []byte) *PutFileInput {
19647	s.FileContent = v
19648	return s
19649}
19650
19651// SetFileMode sets the FileMode field's value.
19652func (s *PutFileInput) SetFileMode(v string) *PutFileInput {
19653	s.FileMode = &v
19654	return s
19655}
19656
19657// SetFilePath sets the FilePath field's value.
19658func (s *PutFileInput) SetFilePath(v string) *PutFileInput {
19659	s.FilePath = &v
19660	return s
19661}
19662
19663// SetName sets the Name field's value.
19664func (s *PutFileInput) SetName(v string) *PutFileInput {
19665	s.Name = &v
19666	return s
19667}
19668
19669// SetParentCommitId sets the ParentCommitId field's value.
19670func (s *PutFileInput) SetParentCommitId(v string) *PutFileInput {
19671	s.ParentCommitId = &v
19672	return s
19673}
19674
19675// SetRepositoryName sets the RepositoryName field's value.
19676func (s *PutFileInput) SetRepositoryName(v string) *PutFileInput {
19677	s.RepositoryName = &v
19678	return s
19679}
19680
19681type PutFileOutput struct {
19682	_ struct{} `type:"structure"`
19683
19684	// The ID of the blob, which is its SHA-1 pointer.
19685	//
19686	// BlobId is a required field
19687	BlobId *string `locationName:"blobId" type:"string" required:"true"`
19688
19689	// The full SHA ID of the commit that contains this file change.
19690	//
19691	// CommitId is a required field
19692	CommitId *string `locationName:"commitId" type:"string" required:"true"`
19693
19694	// The full SHA-1 pointer of the tree information for the commit that contains
19695	// this file change.
19696	//
19697	// TreeId is a required field
19698	TreeId *string `locationName:"treeId" type:"string" required:"true"`
19699}
19700
19701// String returns the string representation
19702func (s PutFileOutput) String() string {
19703	return awsutil.Prettify(s)
19704}
19705
19706// GoString returns the string representation
19707func (s PutFileOutput) GoString() string {
19708	return s.String()
19709}
19710
19711// SetBlobId sets the BlobId field's value.
19712func (s *PutFileOutput) SetBlobId(v string) *PutFileOutput {
19713	s.BlobId = &v
19714	return s
19715}
19716
19717// SetCommitId sets the CommitId field's value.
19718func (s *PutFileOutput) SetCommitId(v string) *PutFileOutput {
19719	s.CommitId = &v
19720	return s
19721}
19722
19723// SetTreeId sets the TreeId field's value.
19724func (s *PutFileOutput) SetTreeId(v string) *PutFileOutput {
19725	s.TreeId = &v
19726	return s
19727}
19728
19729// Represents the input of a put repository triggers operation.
19730type PutRepositoryTriggersInput struct {
19731	_ struct{} `type:"structure"`
19732
19733	// The name of the repository where you want to create or update the trigger.
19734	//
19735	// RepositoryName is a required field
19736	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
19737
19738	// The JSON block of configuration information for each trigger.
19739	//
19740	// Triggers is a required field
19741	Triggers []*RepositoryTrigger `locationName:"triggers" type:"list" required:"true"`
19742}
19743
19744// String returns the string representation
19745func (s PutRepositoryTriggersInput) String() string {
19746	return awsutil.Prettify(s)
19747}
19748
19749// GoString returns the string representation
19750func (s PutRepositoryTriggersInput) GoString() string {
19751	return s.String()
19752}
19753
19754// Validate inspects the fields of the type to determine if they are valid.
19755func (s *PutRepositoryTriggersInput) Validate() error {
19756	invalidParams := request.ErrInvalidParams{Context: "PutRepositoryTriggersInput"}
19757	if s.RepositoryName == nil {
19758		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
19759	}
19760	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
19761		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
19762	}
19763	if s.Triggers == nil {
19764		invalidParams.Add(request.NewErrParamRequired("Triggers"))
19765	}
19766	if s.Triggers != nil {
19767		for i, v := range s.Triggers {
19768			if v == nil {
19769				continue
19770			}
19771			if err := v.Validate(); err != nil {
19772				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Triggers", i), err.(request.ErrInvalidParams))
19773			}
19774		}
19775	}
19776
19777	if invalidParams.Len() > 0 {
19778		return invalidParams
19779	}
19780	return nil
19781}
19782
19783// SetRepositoryName sets the RepositoryName field's value.
19784func (s *PutRepositoryTriggersInput) SetRepositoryName(v string) *PutRepositoryTriggersInput {
19785	s.RepositoryName = &v
19786	return s
19787}
19788
19789// SetTriggers sets the Triggers field's value.
19790func (s *PutRepositoryTriggersInput) SetTriggers(v []*RepositoryTrigger) *PutRepositoryTriggersInput {
19791	s.Triggers = v
19792	return s
19793}
19794
19795// Represents the output of a put repository triggers operation.
19796type PutRepositoryTriggersOutput struct {
19797	_ struct{} `type:"structure"`
19798
19799	// The system-generated unique ID for the create or update operation.
19800	ConfigurationId *string `locationName:"configurationId" type:"string"`
19801}
19802
19803// String returns the string representation
19804func (s PutRepositoryTriggersOutput) String() string {
19805	return awsutil.Prettify(s)
19806}
19807
19808// GoString returns the string representation
19809func (s PutRepositoryTriggersOutput) GoString() string {
19810	return s.String()
19811}
19812
19813// SetConfigurationId sets the ConfigurationId field's value.
19814func (s *PutRepositoryTriggersOutput) SetConfigurationId(v string) *PutRepositoryTriggersOutput {
19815	s.ConfigurationId = &v
19816	return s
19817}
19818
19819// Information about a replacement content entry in the conflict of a merge
19820// or pull request operation.
19821type ReplaceContentEntry struct {
19822	_ struct{} `type:"structure"`
19823
19824	// The base-64 encoded content to use when the replacement type is USE_NEW_CONTENT.
19825	//
19826	// Content is automatically base64 encoded/decoded by the SDK.
19827	Content []byte `locationName:"content" type:"blob"`
19828
19829	// The file mode to apply during conflict resoltion.
19830	FileMode *string `locationName:"fileMode" type:"string" enum:"FileModeTypeEnum"`
19831
19832	// The path of the conflicting file.
19833	//
19834	// FilePath is a required field
19835	FilePath *string `locationName:"filePath" type:"string" required:"true"`
19836
19837	// The replacement type to use when determining how to resolve the conflict.
19838	//
19839	// ReplacementType is a required field
19840	ReplacementType *string `locationName:"replacementType" type:"string" required:"true" enum:"ReplacementTypeEnum"`
19841}
19842
19843// String returns the string representation
19844func (s ReplaceContentEntry) String() string {
19845	return awsutil.Prettify(s)
19846}
19847
19848// GoString returns the string representation
19849func (s ReplaceContentEntry) GoString() string {
19850	return s.String()
19851}
19852
19853// Validate inspects the fields of the type to determine if they are valid.
19854func (s *ReplaceContentEntry) Validate() error {
19855	invalidParams := request.ErrInvalidParams{Context: "ReplaceContentEntry"}
19856	if s.FilePath == nil {
19857		invalidParams.Add(request.NewErrParamRequired("FilePath"))
19858	}
19859	if s.ReplacementType == nil {
19860		invalidParams.Add(request.NewErrParamRequired("ReplacementType"))
19861	}
19862
19863	if invalidParams.Len() > 0 {
19864		return invalidParams
19865	}
19866	return nil
19867}
19868
19869// SetContent sets the Content field's value.
19870func (s *ReplaceContentEntry) SetContent(v []byte) *ReplaceContentEntry {
19871	s.Content = v
19872	return s
19873}
19874
19875// SetFileMode sets the FileMode field's value.
19876func (s *ReplaceContentEntry) SetFileMode(v string) *ReplaceContentEntry {
19877	s.FileMode = &v
19878	return s
19879}
19880
19881// SetFilePath sets the FilePath field's value.
19882func (s *ReplaceContentEntry) SetFilePath(v string) *ReplaceContentEntry {
19883	s.FilePath = &v
19884	return s
19885}
19886
19887// SetReplacementType sets the ReplacementType field's value.
19888func (s *ReplaceContentEntry) SetReplacementType(v string) *ReplaceContentEntry {
19889	s.ReplacementType = &v
19890	return s
19891}
19892
19893// Information about a repository.
19894type RepositoryMetadata struct {
19895	_ struct{} `type:"structure"`
19896
19897	// The ID of the AWS account associated with the repository.
19898	AccountId *string `locationName:"accountId" type:"string"`
19899
19900	// The Amazon Resource Name (ARN) of the repository.
19901	Arn *string `type:"string"`
19902
19903	// The URL to use for cloning the repository over HTTPS.
19904	CloneUrlHttp *string `locationName:"cloneUrlHttp" type:"string"`
19905
19906	// The URL to use for cloning the repository over SSH.
19907	CloneUrlSsh *string `locationName:"cloneUrlSsh" type:"string"`
19908
19909	// The date and time the repository was created, in timestamp format.
19910	CreationDate *time.Time `locationName:"creationDate" type:"timestamp"`
19911
19912	// The repository's default branch name.
19913	DefaultBranch *string `locationName:"defaultBranch" min:"1" type:"string"`
19914
19915	// The date and time the repository was last modified, in timestamp format.
19916	LastModifiedDate *time.Time `locationName:"lastModifiedDate" type:"timestamp"`
19917
19918	// A comment or description about the repository.
19919	RepositoryDescription *string `locationName:"repositoryDescription" type:"string"`
19920
19921	// The ID of the repository.
19922	RepositoryId *string `locationName:"repositoryId" type:"string"`
19923
19924	// The repository's name.
19925	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
19926}
19927
19928// String returns the string representation
19929func (s RepositoryMetadata) String() string {
19930	return awsutil.Prettify(s)
19931}
19932
19933// GoString returns the string representation
19934func (s RepositoryMetadata) GoString() string {
19935	return s.String()
19936}
19937
19938// SetAccountId sets the AccountId field's value.
19939func (s *RepositoryMetadata) SetAccountId(v string) *RepositoryMetadata {
19940	s.AccountId = &v
19941	return s
19942}
19943
19944// SetArn sets the Arn field's value.
19945func (s *RepositoryMetadata) SetArn(v string) *RepositoryMetadata {
19946	s.Arn = &v
19947	return s
19948}
19949
19950// SetCloneUrlHttp sets the CloneUrlHttp field's value.
19951func (s *RepositoryMetadata) SetCloneUrlHttp(v string) *RepositoryMetadata {
19952	s.CloneUrlHttp = &v
19953	return s
19954}
19955
19956// SetCloneUrlSsh sets the CloneUrlSsh field's value.
19957func (s *RepositoryMetadata) SetCloneUrlSsh(v string) *RepositoryMetadata {
19958	s.CloneUrlSsh = &v
19959	return s
19960}
19961
19962// SetCreationDate sets the CreationDate field's value.
19963func (s *RepositoryMetadata) SetCreationDate(v time.Time) *RepositoryMetadata {
19964	s.CreationDate = &v
19965	return s
19966}
19967
19968// SetDefaultBranch sets the DefaultBranch field's value.
19969func (s *RepositoryMetadata) SetDefaultBranch(v string) *RepositoryMetadata {
19970	s.DefaultBranch = &v
19971	return s
19972}
19973
19974// SetLastModifiedDate sets the LastModifiedDate field's value.
19975func (s *RepositoryMetadata) SetLastModifiedDate(v time.Time) *RepositoryMetadata {
19976	s.LastModifiedDate = &v
19977	return s
19978}
19979
19980// SetRepositoryDescription sets the RepositoryDescription field's value.
19981func (s *RepositoryMetadata) SetRepositoryDescription(v string) *RepositoryMetadata {
19982	s.RepositoryDescription = &v
19983	return s
19984}
19985
19986// SetRepositoryId sets the RepositoryId field's value.
19987func (s *RepositoryMetadata) SetRepositoryId(v string) *RepositoryMetadata {
19988	s.RepositoryId = &v
19989	return s
19990}
19991
19992// SetRepositoryName sets the RepositoryName field's value.
19993func (s *RepositoryMetadata) SetRepositoryName(v string) *RepositoryMetadata {
19994	s.RepositoryName = &v
19995	return s
19996}
19997
19998// Information about a repository name and ID.
19999type RepositoryNameIdPair struct {
20000	_ struct{} `type:"structure"`
20001
20002	// The ID associated with the repository.
20003	RepositoryId *string `locationName:"repositoryId" type:"string"`
20004
20005	// The name associated with the repository.
20006	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string"`
20007}
20008
20009// String returns the string representation
20010func (s RepositoryNameIdPair) String() string {
20011	return awsutil.Prettify(s)
20012}
20013
20014// GoString returns the string representation
20015func (s RepositoryNameIdPair) GoString() string {
20016	return s.String()
20017}
20018
20019// SetRepositoryId sets the RepositoryId field's value.
20020func (s *RepositoryNameIdPair) SetRepositoryId(v string) *RepositoryNameIdPair {
20021	s.RepositoryId = &v
20022	return s
20023}
20024
20025// SetRepositoryName sets the RepositoryName field's value.
20026func (s *RepositoryNameIdPair) SetRepositoryName(v string) *RepositoryNameIdPair {
20027	s.RepositoryName = &v
20028	return s
20029}
20030
20031// Information about a trigger for a repository.
20032type RepositoryTrigger struct {
20033	_ struct{} `type:"structure"`
20034
20035	// The branches to be included in the trigger configuration. If you specify
20036	// an empty array, the trigger applies to all branches.
20037	//
20038	// Although no content is required in the array, you must include the array
20039	// itself.
20040	Branches []*string `locationName:"branches" type:"list"`
20041
20042	// Any custom data associated with the trigger to be included in the information
20043	// sent to the target of the trigger.
20044	CustomData *string `locationName:"customData" type:"string"`
20045
20046	// The ARN of the resource that is the target for a trigger (for example, the
20047	// ARN of a topic in Amazon SNS).
20048	//
20049	// DestinationArn is a required field
20050	DestinationArn *string `locationName:"destinationArn" type:"string" required:"true"`
20051
20052	// The repository events that cause the trigger to run actions in another service,
20053	// such as sending a notification through Amazon SNS.
20054	//
20055	// The valid value "all" cannot be used with any other values.
20056	//
20057	// Events is a required field
20058	Events []*string `locationName:"events" type:"list" required:"true"`
20059
20060	// The name of the trigger.
20061	//
20062	// Name is a required field
20063	Name *string `locationName:"name" type:"string" required:"true"`
20064}
20065
20066// String returns the string representation
20067func (s RepositoryTrigger) String() string {
20068	return awsutil.Prettify(s)
20069}
20070
20071// GoString returns the string representation
20072func (s RepositoryTrigger) GoString() string {
20073	return s.String()
20074}
20075
20076// Validate inspects the fields of the type to determine if they are valid.
20077func (s *RepositoryTrigger) Validate() error {
20078	invalidParams := request.ErrInvalidParams{Context: "RepositoryTrigger"}
20079	if s.DestinationArn == nil {
20080		invalidParams.Add(request.NewErrParamRequired("DestinationArn"))
20081	}
20082	if s.Events == nil {
20083		invalidParams.Add(request.NewErrParamRequired("Events"))
20084	}
20085	if s.Name == nil {
20086		invalidParams.Add(request.NewErrParamRequired("Name"))
20087	}
20088
20089	if invalidParams.Len() > 0 {
20090		return invalidParams
20091	}
20092	return nil
20093}
20094
20095// SetBranches sets the Branches field's value.
20096func (s *RepositoryTrigger) SetBranches(v []*string) *RepositoryTrigger {
20097	s.Branches = v
20098	return s
20099}
20100
20101// SetCustomData sets the CustomData field's value.
20102func (s *RepositoryTrigger) SetCustomData(v string) *RepositoryTrigger {
20103	s.CustomData = &v
20104	return s
20105}
20106
20107// SetDestinationArn sets the DestinationArn field's value.
20108func (s *RepositoryTrigger) SetDestinationArn(v string) *RepositoryTrigger {
20109	s.DestinationArn = &v
20110	return s
20111}
20112
20113// SetEvents sets the Events field's value.
20114func (s *RepositoryTrigger) SetEvents(v []*string) *RepositoryTrigger {
20115	s.Events = v
20116	return s
20117}
20118
20119// SetName sets the Name field's value.
20120func (s *RepositoryTrigger) SetName(v string) *RepositoryTrigger {
20121	s.Name = &v
20122	return s
20123}
20124
20125// A trigger failed to run.
20126type RepositoryTriggerExecutionFailure struct {
20127	_ struct{} `type:"structure"`
20128
20129	// Message information about the trigger that did not run.
20130	FailureMessage *string `locationName:"failureMessage" type:"string"`
20131
20132	// The name of the trigger that did not run.
20133	Trigger *string `locationName:"trigger" type:"string"`
20134}
20135
20136// String returns the string representation
20137func (s RepositoryTriggerExecutionFailure) String() string {
20138	return awsutil.Prettify(s)
20139}
20140
20141// GoString returns the string representation
20142func (s RepositoryTriggerExecutionFailure) GoString() string {
20143	return s.String()
20144}
20145
20146// SetFailureMessage sets the FailureMessage field's value.
20147func (s *RepositoryTriggerExecutionFailure) SetFailureMessage(v string) *RepositoryTriggerExecutionFailure {
20148	s.FailureMessage = &v
20149	return s
20150}
20151
20152// SetTrigger sets the Trigger field's value.
20153func (s *RepositoryTriggerExecutionFailure) SetTrigger(v string) *RepositoryTriggerExecutionFailure {
20154	s.Trigger = &v
20155	return s
20156}
20157
20158// Information about the file mode changes.
20159type SetFileModeEntry struct {
20160	_ struct{} `type:"structure"`
20161
20162	// The file mode for the file.
20163	//
20164	// FileMode is a required field
20165	FileMode *string `locationName:"fileMode" type:"string" required:"true" enum:"FileModeTypeEnum"`
20166
20167	// The full path to the file, including the name of the file.
20168	//
20169	// FilePath is a required field
20170	FilePath *string `locationName:"filePath" type:"string" required:"true"`
20171}
20172
20173// String returns the string representation
20174func (s SetFileModeEntry) String() string {
20175	return awsutil.Prettify(s)
20176}
20177
20178// GoString returns the string representation
20179func (s SetFileModeEntry) GoString() string {
20180	return s.String()
20181}
20182
20183// Validate inspects the fields of the type to determine if they are valid.
20184func (s *SetFileModeEntry) Validate() error {
20185	invalidParams := request.ErrInvalidParams{Context: "SetFileModeEntry"}
20186	if s.FileMode == nil {
20187		invalidParams.Add(request.NewErrParamRequired("FileMode"))
20188	}
20189	if s.FilePath == nil {
20190		invalidParams.Add(request.NewErrParamRequired("FilePath"))
20191	}
20192
20193	if invalidParams.Len() > 0 {
20194		return invalidParams
20195	}
20196	return nil
20197}
20198
20199// SetFileMode sets the FileMode field's value.
20200func (s *SetFileModeEntry) SetFileMode(v string) *SetFileModeEntry {
20201	s.FileMode = &v
20202	return s
20203}
20204
20205// SetFilePath sets the FilePath field's value.
20206func (s *SetFileModeEntry) SetFilePath(v string) *SetFileModeEntry {
20207	s.FilePath = &v
20208	return s
20209}
20210
20211// Information about a source file that is part of changes made in a commit.
20212type SourceFileSpecifier struct {
20213	_ struct{} `type:"structure"`
20214
20215	// The full path to the file, including the name of the file.
20216	//
20217	// FilePath is a required field
20218	FilePath *string `locationName:"filePath" type:"string" required:"true"`
20219
20220	// Whether to remove the source file from the parent commit.
20221	IsMove *bool `locationName:"isMove" type:"boolean"`
20222}
20223
20224// String returns the string representation
20225func (s SourceFileSpecifier) String() string {
20226	return awsutil.Prettify(s)
20227}
20228
20229// GoString returns the string representation
20230func (s SourceFileSpecifier) GoString() string {
20231	return s.String()
20232}
20233
20234// Validate inspects the fields of the type to determine if they are valid.
20235func (s *SourceFileSpecifier) Validate() error {
20236	invalidParams := request.ErrInvalidParams{Context: "SourceFileSpecifier"}
20237	if s.FilePath == nil {
20238		invalidParams.Add(request.NewErrParamRequired("FilePath"))
20239	}
20240
20241	if invalidParams.Len() > 0 {
20242		return invalidParams
20243	}
20244	return nil
20245}
20246
20247// SetFilePath sets the FilePath field's value.
20248func (s *SourceFileSpecifier) SetFilePath(v string) *SourceFileSpecifier {
20249	s.FilePath = &v
20250	return s
20251}
20252
20253// SetIsMove sets the IsMove field's value.
20254func (s *SourceFileSpecifier) SetIsMove(v bool) *SourceFileSpecifier {
20255	s.IsMove = &v
20256	return s
20257}
20258
20259// Returns information about a submodule reference in a repository folder.
20260type SubModule struct {
20261	_ struct{} `type:"structure"`
20262
20263	// The fully qualified path to the folder that contains the reference to the
20264	// submodule.
20265	AbsolutePath *string `locationName:"absolutePath" type:"string"`
20266
20267	// The commit ID that contains the reference to the submodule.
20268	CommitId *string `locationName:"commitId" type:"string"`
20269
20270	// The relative path of the submodule from the folder where the query originated.
20271	RelativePath *string `locationName:"relativePath" type:"string"`
20272}
20273
20274// String returns the string representation
20275func (s SubModule) String() string {
20276	return awsutil.Prettify(s)
20277}
20278
20279// GoString returns the string representation
20280func (s SubModule) GoString() string {
20281	return s.String()
20282}
20283
20284// SetAbsolutePath sets the AbsolutePath field's value.
20285func (s *SubModule) SetAbsolutePath(v string) *SubModule {
20286	s.AbsolutePath = &v
20287	return s
20288}
20289
20290// SetCommitId sets the CommitId field's value.
20291func (s *SubModule) SetCommitId(v string) *SubModule {
20292	s.CommitId = &v
20293	return s
20294}
20295
20296// SetRelativePath sets the RelativePath field's value.
20297func (s *SubModule) SetRelativePath(v string) *SubModule {
20298	s.RelativePath = &v
20299	return s
20300}
20301
20302// Returns information about a symbolic link in a repository folder.
20303type SymbolicLink struct {
20304	_ struct{} `type:"structure"`
20305
20306	// The fully qualified path to the folder that contains the symbolic link.
20307	AbsolutePath *string `locationName:"absolutePath" type:"string"`
20308
20309	// The blob ID that contains the information about the symbolic link.
20310	BlobId *string `locationName:"blobId" type:"string"`
20311
20312	// The file mode permissions of the blob that cotains information about the
20313	// symbolic link.
20314	FileMode *string `locationName:"fileMode" type:"string" enum:"FileModeTypeEnum"`
20315
20316	// The relative path of the symbolic link from the folder where the query originated.
20317	RelativePath *string `locationName:"relativePath" type:"string"`
20318}
20319
20320// String returns the string representation
20321func (s SymbolicLink) String() string {
20322	return awsutil.Prettify(s)
20323}
20324
20325// GoString returns the string representation
20326func (s SymbolicLink) GoString() string {
20327	return s.String()
20328}
20329
20330// SetAbsolutePath sets the AbsolutePath field's value.
20331func (s *SymbolicLink) SetAbsolutePath(v string) *SymbolicLink {
20332	s.AbsolutePath = &v
20333	return s
20334}
20335
20336// SetBlobId sets the BlobId field's value.
20337func (s *SymbolicLink) SetBlobId(v string) *SymbolicLink {
20338	s.BlobId = &v
20339	return s
20340}
20341
20342// SetFileMode sets the FileMode field's value.
20343func (s *SymbolicLink) SetFileMode(v string) *SymbolicLink {
20344	s.FileMode = &v
20345	return s
20346}
20347
20348// SetRelativePath sets the RelativePath field's value.
20349func (s *SymbolicLink) SetRelativePath(v string) *SymbolicLink {
20350	s.RelativePath = &v
20351	return s
20352}
20353
20354type TagResourceInput struct {
20355	_ struct{} `type:"structure"`
20356
20357	// The Amazon Resource Name (ARN) of the resource to which you want to add or
20358	// update tags.
20359	//
20360	// ResourceArn is a required field
20361	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
20362
20363	// The key-value pair to use when tagging this repository.
20364	//
20365	// Tags is a required field
20366	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
20367}
20368
20369// String returns the string representation
20370func (s TagResourceInput) String() string {
20371	return awsutil.Prettify(s)
20372}
20373
20374// GoString returns the string representation
20375func (s TagResourceInput) GoString() string {
20376	return s.String()
20377}
20378
20379// Validate inspects the fields of the type to determine if they are valid.
20380func (s *TagResourceInput) Validate() error {
20381	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
20382	if s.ResourceArn == nil {
20383		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
20384	}
20385	if s.Tags == nil {
20386		invalidParams.Add(request.NewErrParamRequired("Tags"))
20387	}
20388
20389	if invalidParams.Len() > 0 {
20390		return invalidParams
20391	}
20392	return nil
20393}
20394
20395// SetResourceArn sets the ResourceArn field's value.
20396func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
20397	s.ResourceArn = &v
20398	return s
20399}
20400
20401// SetTags sets the Tags field's value.
20402func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
20403	s.Tags = v
20404	return s
20405}
20406
20407type TagResourceOutput struct {
20408	_ struct{} `type:"structure"`
20409}
20410
20411// String returns the string representation
20412func (s TagResourceOutput) String() string {
20413	return awsutil.Prettify(s)
20414}
20415
20416// GoString returns the string representation
20417func (s TagResourceOutput) GoString() string {
20418	return s.String()
20419}
20420
20421// Returns information about a target for a pull request.
20422type Target struct {
20423	_ struct{} `type:"structure"`
20424
20425	// The branch of the repository where the pull request changes are merged. Also
20426	// known as the destination branch.
20427	DestinationReference *string `locationName:"destinationReference" type:"string"`
20428
20429	// The name of the repository that contains the pull request.
20430	//
20431	// RepositoryName is a required field
20432	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
20433
20434	// The branch of the repository that contains the changes for the pull request.
20435	// Also known as the source branch.
20436	//
20437	// SourceReference is a required field
20438	SourceReference *string `locationName:"sourceReference" type:"string" required:"true"`
20439}
20440
20441// String returns the string representation
20442func (s Target) String() string {
20443	return awsutil.Prettify(s)
20444}
20445
20446// GoString returns the string representation
20447func (s Target) GoString() string {
20448	return s.String()
20449}
20450
20451// Validate inspects the fields of the type to determine if they are valid.
20452func (s *Target) Validate() error {
20453	invalidParams := request.ErrInvalidParams{Context: "Target"}
20454	if s.RepositoryName == nil {
20455		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
20456	}
20457	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
20458		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
20459	}
20460	if s.SourceReference == nil {
20461		invalidParams.Add(request.NewErrParamRequired("SourceReference"))
20462	}
20463
20464	if invalidParams.Len() > 0 {
20465		return invalidParams
20466	}
20467	return nil
20468}
20469
20470// SetDestinationReference sets the DestinationReference field's value.
20471func (s *Target) SetDestinationReference(v string) *Target {
20472	s.DestinationReference = &v
20473	return s
20474}
20475
20476// SetRepositoryName sets the RepositoryName field's value.
20477func (s *Target) SetRepositoryName(v string) *Target {
20478	s.RepositoryName = &v
20479	return s
20480}
20481
20482// SetSourceReference sets the SourceReference field's value.
20483func (s *Target) SetSourceReference(v string) *Target {
20484	s.SourceReference = &v
20485	return s
20486}
20487
20488// Represents the input of a test repository triggers operation.
20489type TestRepositoryTriggersInput struct {
20490	_ struct{} `type:"structure"`
20491
20492	// The name of the repository in which to test the triggers.
20493	//
20494	// RepositoryName is a required field
20495	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
20496
20497	// The list of triggers to test.
20498	//
20499	// Triggers is a required field
20500	Triggers []*RepositoryTrigger `locationName:"triggers" type:"list" required:"true"`
20501}
20502
20503// String returns the string representation
20504func (s TestRepositoryTriggersInput) String() string {
20505	return awsutil.Prettify(s)
20506}
20507
20508// GoString returns the string representation
20509func (s TestRepositoryTriggersInput) GoString() string {
20510	return s.String()
20511}
20512
20513// Validate inspects the fields of the type to determine if they are valid.
20514func (s *TestRepositoryTriggersInput) Validate() error {
20515	invalidParams := request.ErrInvalidParams{Context: "TestRepositoryTriggersInput"}
20516	if s.RepositoryName == nil {
20517		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
20518	}
20519	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
20520		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
20521	}
20522	if s.Triggers == nil {
20523		invalidParams.Add(request.NewErrParamRequired("Triggers"))
20524	}
20525	if s.Triggers != nil {
20526		for i, v := range s.Triggers {
20527			if v == nil {
20528				continue
20529			}
20530			if err := v.Validate(); err != nil {
20531				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Triggers", i), err.(request.ErrInvalidParams))
20532			}
20533		}
20534	}
20535
20536	if invalidParams.Len() > 0 {
20537		return invalidParams
20538	}
20539	return nil
20540}
20541
20542// SetRepositoryName sets the RepositoryName field's value.
20543func (s *TestRepositoryTriggersInput) SetRepositoryName(v string) *TestRepositoryTriggersInput {
20544	s.RepositoryName = &v
20545	return s
20546}
20547
20548// SetTriggers sets the Triggers field's value.
20549func (s *TestRepositoryTriggersInput) SetTriggers(v []*RepositoryTrigger) *TestRepositoryTriggersInput {
20550	s.Triggers = v
20551	return s
20552}
20553
20554// Represents the output of a test repository triggers operation.
20555type TestRepositoryTriggersOutput struct {
20556	_ struct{} `type:"structure"`
20557
20558	// The list of triggers that were not tested. This list provides the names of
20559	// the triggers that could not be tested, separated by commas.
20560	FailedExecutions []*RepositoryTriggerExecutionFailure `locationName:"failedExecutions" type:"list"`
20561
20562	// The list of triggers that were successfully tested. This list provides the
20563	// names of the triggers that were successfully tested, separated by commas.
20564	SuccessfulExecutions []*string `locationName:"successfulExecutions" type:"list"`
20565}
20566
20567// String returns the string representation
20568func (s TestRepositoryTriggersOutput) String() string {
20569	return awsutil.Prettify(s)
20570}
20571
20572// GoString returns the string representation
20573func (s TestRepositoryTriggersOutput) GoString() string {
20574	return s.String()
20575}
20576
20577// SetFailedExecutions sets the FailedExecutions field's value.
20578func (s *TestRepositoryTriggersOutput) SetFailedExecutions(v []*RepositoryTriggerExecutionFailure) *TestRepositoryTriggersOutput {
20579	s.FailedExecutions = v
20580	return s
20581}
20582
20583// SetSuccessfulExecutions sets the SuccessfulExecutions field's value.
20584func (s *TestRepositoryTriggersOutput) SetSuccessfulExecutions(v []*string) *TestRepositoryTriggersOutput {
20585	s.SuccessfulExecutions = v
20586	return s
20587}
20588
20589type UntagResourceInput struct {
20590	_ struct{} `type:"structure"`
20591
20592	// The Amazon Resource Name (ARN) of the resource to which you want to remove
20593	// tags.
20594	//
20595	// ResourceArn is a required field
20596	ResourceArn *string `locationName:"resourceArn" type:"string" required:"true"`
20597
20598	// The tag key for each tag that you want to remove from the resource.
20599	//
20600	// TagKeys is a required field
20601	TagKeys []*string `locationName:"tagKeys" type:"list" required:"true"`
20602}
20603
20604// String returns the string representation
20605func (s UntagResourceInput) String() string {
20606	return awsutil.Prettify(s)
20607}
20608
20609// GoString returns the string representation
20610func (s UntagResourceInput) GoString() string {
20611	return s.String()
20612}
20613
20614// Validate inspects the fields of the type to determine if they are valid.
20615func (s *UntagResourceInput) Validate() error {
20616	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
20617	if s.ResourceArn == nil {
20618		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
20619	}
20620	if s.TagKeys == nil {
20621		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
20622	}
20623
20624	if invalidParams.Len() > 0 {
20625		return invalidParams
20626	}
20627	return nil
20628}
20629
20630// SetResourceArn sets the ResourceArn field's value.
20631func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
20632	s.ResourceArn = &v
20633	return s
20634}
20635
20636// SetTagKeys sets the TagKeys field's value.
20637func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
20638	s.TagKeys = v
20639	return s
20640}
20641
20642type UntagResourceOutput struct {
20643	_ struct{} `type:"structure"`
20644}
20645
20646// String returns the string representation
20647func (s UntagResourceOutput) String() string {
20648	return awsutil.Prettify(s)
20649}
20650
20651// GoString returns the string representation
20652func (s UntagResourceOutput) GoString() string {
20653	return s.String()
20654}
20655
20656type UpdateApprovalRuleTemplateContentInput struct {
20657	_ struct{} `type:"structure"`
20658
20659	// The name of the approval rule template where you want to update the content
20660	// of the rule.
20661	//
20662	// ApprovalRuleTemplateName is a required field
20663	ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"`
20664
20665	// The SHA-256 hash signature for the content of the approval rule. You can
20666	// retrieve this information by using GetPullRequest.
20667	ExistingRuleContentSha256 *string `locationName:"existingRuleContentSha256" type:"string"`
20668
20669	// The content that replaces the existing content of the rule. Content statements
20670	// must be complete. You cannot provide only the changes.
20671	//
20672	// NewRuleContent is a required field
20673	NewRuleContent *string `locationName:"newRuleContent" min:"1" type:"string" required:"true"`
20674}
20675
20676// String returns the string representation
20677func (s UpdateApprovalRuleTemplateContentInput) String() string {
20678	return awsutil.Prettify(s)
20679}
20680
20681// GoString returns the string representation
20682func (s UpdateApprovalRuleTemplateContentInput) GoString() string {
20683	return s.String()
20684}
20685
20686// Validate inspects the fields of the type to determine if they are valid.
20687func (s *UpdateApprovalRuleTemplateContentInput) Validate() error {
20688	invalidParams := request.ErrInvalidParams{Context: "UpdateApprovalRuleTemplateContentInput"}
20689	if s.ApprovalRuleTemplateName == nil {
20690		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName"))
20691	}
20692	if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 {
20693		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1))
20694	}
20695	if s.NewRuleContent == nil {
20696		invalidParams.Add(request.NewErrParamRequired("NewRuleContent"))
20697	}
20698	if s.NewRuleContent != nil && len(*s.NewRuleContent) < 1 {
20699		invalidParams.Add(request.NewErrParamMinLen("NewRuleContent", 1))
20700	}
20701
20702	if invalidParams.Len() > 0 {
20703		return invalidParams
20704	}
20705	return nil
20706}
20707
20708// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value.
20709func (s *UpdateApprovalRuleTemplateContentInput) SetApprovalRuleTemplateName(v string) *UpdateApprovalRuleTemplateContentInput {
20710	s.ApprovalRuleTemplateName = &v
20711	return s
20712}
20713
20714// SetExistingRuleContentSha256 sets the ExistingRuleContentSha256 field's value.
20715func (s *UpdateApprovalRuleTemplateContentInput) SetExistingRuleContentSha256(v string) *UpdateApprovalRuleTemplateContentInput {
20716	s.ExistingRuleContentSha256 = &v
20717	return s
20718}
20719
20720// SetNewRuleContent sets the NewRuleContent field's value.
20721func (s *UpdateApprovalRuleTemplateContentInput) SetNewRuleContent(v string) *UpdateApprovalRuleTemplateContentInput {
20722	s.NewRuleContent = &v
20723	return s
20724}
20725
20726type UpdateApprovalRuleTemplateContentOutput struct {
20727	_ struct{} `type:"structure"`
20728
20729	// Returns information about an approval rule template.
20730	//
20731	// ApprovalRuleTemplate is a required field
20732	ApprovalRuleTemplate *ApprovalRuleTemplate `locationName:"approvalRuleTemplate" type:"structure" required:"true"`
20733}
20734
20735// String returns the string representation
20736func (s UpdateApprovalRuleTemplateContentOutput) String() string {
20737	return awsutil.Prettify(s)
20738}
20739
20740// GoString returns the string representation
20741func (s UpdateApprovalRuleTemplateContentOutput) GoString() string {
20742	return s.String()
20743}
20744
20745// SetApprovalRuleTemplate sets the ApprovalRuleTemplate field's value.
20746func (s *UpdateApprovalRuleTemplateContentOutput) SetApprovalRuleTemplate(v *ApprovalRuleTemplate) *UpdateApprovalRuleTemplateContentOutput {
20747	s.ApprovalRuleTemplate = v
20748	return s
20749}
20750
20751type UpdateApprovalRuleTemplateDescriptionInput struct {
20752	_ struct{} `type:"structure"`
20753
20754	// The updated description of the approval rule template.
20755	//
20756	// ApprovalRuleTemplateDescription is a required field
20757	ApprovalRuleTemplateDescription *string `locationName:"approvalRuleTemplateDescription" type:"string" required:"true"`
20758
20759	// The name of the template for which you want to update the description.
20760	//
20761	// ApprovalRuleTemplateName is a required field
20762	ApprovalRuleTemplateName *string `locationName:"approvalRuleTemplateName" min:"1" type:"string" required:"true"`
20763}
20764
20765// String returns the string representation
20766func (s UpdateApprovalRuleTemplateDescriptionInput) String() string {
20767	return awsutil.Prettify(s)
20768}
20769
20770// GoString returns the string representation
20771func (s UpdateApprovalRuleTemplateDescriptionInput) GoString() string {
20772	return s.String()
20773}
20774
20775// Validate inspects the fields of the type to determine if they are valid.
20776func (s *UpdateApprovalRuleTemplateDescriptionInput) Validate() error {
20777	invalidParams := request.ErrInvalidParams{Context: "UpdateApprovalRuleTemplateDescriptionInput"}
20778	if s.ApprovalRuleTemplateDescription == nil {
20779		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateDescription"))
20780	}
20781	if s.ApprovalRuleTemplateName == nil {
20782		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleTemplateName"))
20783	}
20784	if s.ApprovalRuleTemplateName != nil && len(*s.ApprovalRuleTemplateName) < 1 {
20785		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleTemplateName", 1))
20786	}
20787
20788	if invalidParams.Len() > 0 {
20789		return invalidParams
20790	}
20791	return nil
20792}
20793
20794// SetApprovalRuleTemplateDescription sets the ApprovalRuleTemplateDescription field's value.
20795func (s *UpdateApprovalRuleTemplateDescriptionInput) SetApprovalRuleTemplateDescription(v string) *UpdateApprovalRuleTemplateDescriptionInput {
20796	s.ApprovalRuleTemplateDescription = &v
20797	return s
20798}
20799
20800// SetApprovalRuleTemplateName sets the ApprovalRuleTemplateName field's value.
20801func (s *UpdateApprovalRuleTemplateDescriptionInput) SetApprovalRuleTemplateName(v string) *UpdateApprovalRuleTemplateDescriptionInput {
20802	s.ApprovalRuleTemplateName = &v
20803	return s
20804}
20805
20806type UpdateApprovalRuleTemplateDescriptionOutput struct {
20807	_ struct{} `type:"structure"`
20808
20809	// The structure and content of the updated approval rule template.
20810	//
20811	// ApprovalRuleTemplate is a required field
20812	ApprovalRuleTemplate *ApprovalRuleTemplate `locationName:"approvalRuleTemplate" type:"structure" required:"true"`
20813}
20814
20815// String returns the string representation
20816func (s UpdateApprovalRuleTemplateDescriptionOutput) String() string {
20817	return awsutil.Prettify(s)
20818}
20819
20820// GoString returns the string representation
20821func (s UpdateApprovalRuleTemplateDescriptionOutput) GoString() string {
20822	return s.String()
20823}
20824
20825// SetApprovalRuleTemplate sets the ApprovalRuleTemplate field's value.
20826func (s *UpdateApprovalRuleTemplateDescriptionOutput) SetApprovalRuleTemplate(v *ApprovalRuleTemplate) *UpdateApprovalRuleTemplateDescriptionOutput {
20827	s.ApprovalRuleTemplate = v
20828	return s
20829}
20830
20831type UpdateApprovalRuleTemplateNameInput struct {
20832	_ struct{} `type:"structure"`
20833
20834	// The new name you want to apply to the approval rule template.
20835	//
20836	// NewApprovalRuleTemplateName is a required field
20837	NewApprovalRuleTemplateName *string `locationName:"newApprovalRuleTemplateName" min:"1" type:"string" required:"true"`
20838
20839	// The current name of the approval rule template.
20840	//
20841	// OldApprovalRuleTemplateName is a required field
20842	OldApprovalRuleTemplateName *string `locationName:"oldApprovalRuleTemplateName" min:"1" type:"string" required:"true"`
20843}
20844
20845// String returns the string representation
20846func (s UpdateApprovalRuleTemplateNameInput) String() string {
20847	return awsutil.Prettify(s)
20848}
20849
20850// GoString returns the string representation
20851func (s UpdateApprovalRuleTemplateNameInput) GoString() string {
20852	return s.String()
20853}
20854
20855// Validate inspects the fields of the type to determine if they are valid.
20856func (s *UpdateApprovalRuleTemplateNameInput) Validate() error {
20857	invalidParams := request.ErrInvalidParams{Context: "UpdateApprovalRuleTemplateNameInput"}
20858	if s.NewApprovalRuleTemplateName == nil {
20859		invalidParams.Add(request.NewErrParamRequired("NewApprovalRuleTemplateName"))
20860	}
20861	if s.NewApprovalRuleTemplateName != nil && len(*s.NewApprovalRuleTemplateName) < 1 {
20862		invalidParams.Add(request.NewErrParamMinLen("NewApprovalRuleTemplateName", 1))
20863	}
20864	if s.OldApprovalRuleTemplateName == nil {
20865		invalidParams.Add(request.NewErrParamRequired("OldApprovalRuleTemplateName"))
20866	}
20867	if s.OldApprovalRuleTemplateName != nil && len(*s.OldApprovalRuleTemplateName) < 1 {
20868		invalidParams.Add(request.NewErrParamMinLen("OldApprovalRuleTemplateName", 1))
20869	}
20870
20871	if invalidParams.Len() > 0 {
20872		return invalidParams
20873	}
20874	return nil
20875}
20876
20877// SetNewApprovalRuleTemplateName sets the NewApprovalRuleTemplateName field's value.
20878func (s *UpdateApprovalRuleTemplateNameInput) SetNewApprovalRuleTemplateName(v string) *UpdateApprovalRuleTemplateNameInput {
20879	s.NewApprovalRuleTemplateName = &v
20880	return s
20881}
20882
20883// SetOldApprovalRuleTemplateName sets the OldApprovalRuleTemplateName field's value.
20884func (s *UpdateApprovalRuleTemplateNameInput) SetOldApprovalRuleTemplateName(v string) *UpdateApprovalRuleTemplateNameInput {
20885	s.OldApprovalRuleTemplateName = &v
20886	return s
20887}
20888
20889type UpdateApprovalRuleTemplateNameOutput struct {
20890	_ struct{} `type:"structure"`
20891
20892	// The structure and content of the updated approval rule template.
20893	//
20894	// ApprovalRuleTemplate is a required field
20895	ApprovalRuleTemplate *ApprovalRuleTemplate `locationName:"approvalRuleTemplate" type:"structure" required:"true"`
20896}
20897
20898// String returns the string representation
20899func (s UpdateApprovalRuleTemplateNameOutput) String() string {
20900	return awsutil.Prettify(s)
20901}
20902
20903// GoString returns the string representation
20904func (s UpdateApprovalRuleTemplateNameOutput) GoString() string {
20905	return s.String()
20906}
20907
20908// SetApprovalRuleTemplate sets the ApprovalRuleTemplate field's value.
20909func (s *UpdateApprovalRuleTemplateNameOutput) SetApprovalRuleTemplate(v *ApprovalRuleTemplate) *UpdateApprovalRuleTemplateNameOutput {
20910	s.ApprovalRuleTemplate = v
20911	return s
20912}
20913
20914type UpdateCommentInput struct {
20915	_ struct{} `type:"structure"`
20916
20917	// The system-generated ID of the comment you want to update. To get this ID,
20918	// use GetCommentsForComparedCommit or GetCommentsForPullRequest.
20919	//
20920	// CommentId is a required field
20921	CommentId *string `locationName:"commentId" type:"string" required:"true"`
20922
20923	// The updated content to replace the existing content of the comment.
20924	//
20925	// Content is a required field
20926	Content *string `locationName:"content" type:"string" required:"true"`
20927}
20928
20929// String returns the string representation
20930func (s UpdateCommentInput) String() string {
20931	return awsutil.Prettify(s)
20932}
20933
20934// GoString returns the string representation
20935func (s UpdateCommentInput) GoString() string {
20936	return s.String()
20937}
20938
20939// Validate inspects the fields of the type to determine if they are valid.
20940func (s *UpdateCommentInput) Validate() error {
20941	invalidParams := request.ErrInvalidParams{Context: "UpdateCommentInput"}
20942	if s.CommentId == nil {
20943		invalidParams.Add(request.NewErrParamRequired("CommentId"))
20944	}
20945	if s.Content == nil {
20946		invalidParams.Add(request.NewErrParamRequired("Content"))
20947	}
20948
20949	if invalidParams.Len() > 0 {
20950		return invalidParams
20951	}
20952	return nil
20953}
20954
20955// SetCommentId sets the CommentId field's value.
20956func (s *UpdateCommentInput) SetCommentId(v string) *UpdateCommentInput {
20957	s.CommentId = &v
20958	return s
20959}
20960
20961// SetContent sets the Content field's value.
20962func (s *UpdateCommentInput) SetContent(v string) *UpdateCommentInput {
20963	s.Content = &v
20964	return s
20965}
20966
20967type UpdateCommentOutput struct {
20968	_ struct{} `type:"structure"`
20969
20970	// Information about the updated comment.
20971	Comment *Comment `locationName:"comment" type:"structure"`
20972}
20973
20974// String returns the string representation
20975func (s UpdateCommentOutput) String() string {
20976	return awsutil.Prettify(s)
20977}
20978
20979// GoString returns the string representation
20980func (s UpdateCommentOutput) GoString() string {
20981	return s.String()
20982}
20983
20984// SetComment sets the Comment field's value.
20985func (s *UpdateCommentOutput) SetComment(v *Comment) *UpdateCommentOutput {
20986	s.Comment = v
20987	return s
20988}
20989
20990// Represents the input of an update default branch operation.
20991type UpdateDefaultBranchInput struct {
20992	_ struct{} `type:"structure"`
20993
20994	// The name of the branch to set as the default.
20995	//
20996	// DefaultBranchName is a required field
20997	DefaultBranchName *string `locationName:"defaultBranchName" min:"1" type:"string" required:"true"`
20998
20999	// The name of the repository to set or change the default branch for.
21000	//
21001	// RepositoryName is a required field
21002	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
21003}
21004
21005// String returns the string representation
21006func (s UpdateDefaultBranchInput) String() string {
21007	return awsutil.Prettify(s)
21008}
21009
21010// GoString returns the string representation
21011func (s UpdateDefaultBranchInput) GoString() string {
21012	return s.String()
21013}
21014
21015// Validate inspects the fields of the type to determine if they are valid.
21016func (s *UpdateDefaultBranchInput) Validate() error {
21017	invalidParams := request.ErrInvalidParams{Context: "UpdateDefaultBranchInput"}
21018	if s.DefaultBranchName == nil {
21019		invalidParams.Add(request.NewErrParamRequired("DefaultBranchName"))
21020	}
21021	if s.DefaultBranchName != nil && len(*s.DefaultBranchName) < 1 {
21022		invalidParams.Add(request.NewErrParamMinLen("DefaultBranchName", 1))
21023	}
21024	if s.RepositoryName == nil {
21025		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
21026	}
21027	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
21028		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
21029	}
21030
21031	if invalidParams.Len() > 0 {
21032		return invalidParams
21033	}
21034	return nil
21035}
21036
21037// SetDefaultBranchName sets the DefaultBranchName field's value.
21038func (s *UpdateDefaultBranchInput) SetDefaultBranchName(v string) *UpdateDefaultBranchInput {
21039	s.DefaultBranchName = &v
21040	return s
21041}
21042
21043// SetRepositoryName sets the RepositoryName field's value.
21044func (s *UpdateDefaultBranchInput) SetRepositoryName(v string) *UpdateDefaultBranchInput {
21045	s.RepositoryName = &v
21046	return s
21047}
21048
21049type UpdateDefaultBranchOutput struct {
21050	_ struct{} `type:"structure"`
21051}
21052
21053// String returns the string representation
21054func (s UpdateDefaultBranchOutput) String() string {
21055	return awsutil.Prettify(s)
21056}
21057
21058// GoString returns the string representation
21059func (s UpdateDefaultBranchOutput) GoString() string {
21060	return s.String()
21061}
21062
21063type UpdatePullRequestApprovalRuleContentInput struct {
21064	_ struct{} `type:"structure"`
21065
21066	// The name of the approval rule you want to update.
21067	//
21068	// ApprovalRuleName is a required field
21069	ApprovalRuleName *string `locationName:"approvalRuleName" min:"1" type:"string" required:"true"`
21070
21071	// The SHA-256 hash signature for the content of the approval rule. You can
21072	// retrieve this information by using GetPullRequest.
21073	ExistingRuleContentSha256 *string `locationName:"existingRuleContentSha256" type:"string"`
21074
21075	// The updated content for the approval rule.
21076	//
21077	// When you update the content of the approval rule, you can specify approvers
21078	// in an approval pool in one of two ways:
21079	//
21080	//    * CodeCommitApprovers: This option only requires an AWS account and a
21081	//    resource. It can be used for both IAM users and federated access users
21082	//    whose name matches the provided resource name. This is a very powerful
21083	//    option that offers a great deal of flexibility. For example, if you specify
21084	//    the AWS account 123456789012 and Mary_Major, all of the following are
21085	//    counted as approvals coming from that user: An IAM user in the account
21086	//    (arn:aws:iam::123456789012:user/Mary_Major) A federated user identified
21087	//    in IAM as Mary_Major (arn:aws:sts::123456789012:federated-user/Mary_Major)
21088	//    This option does not recognize an active session of someone assuming the
21089	//    role of CodeCommitReview with a role session name of Mary_Major (arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major)
21090	//    unless you include a wildcard (*Mary_Major).
21091	//
21092	//    * Fully qualified ARN: This option allows you to specify the fully qualified
21093	//    Amazon Resource Name (ARN) of the IAM user or role.
21094	//
21095	// For more information about IAM ARNs, wildcards, and formats, see IAM Identifiers
21096	// (https://docs.aws.amazon.com/iam/latest/UserGuide/reference_identifiers.html)
21097	// in the IAM User Guide.
21098	//
21099	// NewRuleContent is a required field
21100	NewRuleContent *string `locationName:"newRuleContent" min:"1" type:"string" required:"true"`
21101
21102	// The system-generated ID of the pull request.
21103	//
21104	// PullRequestId is a required field
21105	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
21106}
21107
21108// String returns the string representation
21109func (s UpdatePullRequestApprovalRuleContentInput) String() string {
21110	return awsutil.Prettify(s)
21111}
21112
21113// GoString returns the string representation
21114func (s UpdatePullRequestApprovalRuleContentInput) GoString() string {
21115	return s.String()
21116}
21117
21118// Validate inspects the fields of the type to determine if they are valid.
21119func (s *UpdatePullRequestApprovalRuleContentInput) Validate() error {
21120	invalidParams := request.ErrInvalidParams{Context: "UpdatePullRequestApprovalRuleContentInput"}
21121	if s.ApprovalRuleName == nil {
21122		invalidParams.Add(request.NewErrParamRequired("ApprovalRuleName"))
21123	}
21124	if s.ApprovalRuleName != nil && len(*s.ApprovalRuleName) < 1 {
21125		invalidParams.Add(request.NewErrParamMinLen("ApprovalRuleName", 1))
21126	}
21127	if s.NewRuleContent == nil {
21128		invalidParams.Add(request.NewErrParamRequired("NewRuleContent"))
21129	}
21130	if s.NewRuleContent != nil && len(*s.NewRuleContent) < 1 {
21131		invalidParams.Add(request.NewErrParamMinLen("NewRuleContent", 1))
21132	}
21133	if s.PullRequestId == nil {
21134		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
21135	}
21136
21137	if invalidParams.Len() > 0 {
21138		return invalidParams
21139	}
21140	return nil
21141}
21142
21143// SetApprovalRuleName sets the ApprovalRuleName field's value.
21144func (s *UpdatePullRequestApprovalRuleContentInput) SetApprovalRuleName(v string) *UpdatePullRequestApprovalRuleContentInput {
21145	s.ApprovalRuleName = &v
21146	return s
21147}
21148
21149// SetExistingRuleContentSha256 sets the ExistingRuleContentSha256 field's value.
21150func (s *UpdatePullRequestApprovalRuleContentInput) SetExistingRuleContentSha256(v string) *UpdatePullRequestApprovalRuleContentInput {
21151	s.ExistingRuleContentSha256 = &v
21152	return s
21153}
21154
21155// SetNewRuleContent sets the NewRuleContent field's value.
21156func (s *UpdatePullRequestApprovalRuleContentInput) SetNewRuleContent(v string) *UpdatePullRequestApprovalRuleContentInput {
21157	s.NewRuleContent = &v
21158	return s
21159}
21160
21161// SetPullRequestId sets the PullRequestId field's value.
21162func (s *UpdatePullRequestApprovalRuleContentInput) SetPullRequestId(v string) *UpdatePullRequestApprovalRuleContentInput {
21163	s.PullRequestId = &v
21164	return s
21165}
21166
21167type UpdatePullRequestApprovalRuleContentOutput struct {
21168	_ struct{} `type:"structure"`
21169
21170	// Information about the updated approval rule.
21171	//
21172	// ApprovalRule is a required field
21173	ApprovalRule *ApprovalRule `locationName:"approvalRule" type:"structure" required:"true"`
21174}
21175
21176// String returns the string representation
21177func (s UpdatePullRequestApprovalRuleContentOutput) String() string {
21178	return awsutil.Prettify(s)
21179}
21180
21181// GoString returns the string representation
21182func (s UpdatePullRequestApprovalRuleContentOutput) GoString() string {
21183	return s.String()
21184}
21185
21186// SetApprovalRule sets the ApprovalRule field's value.
21187func (s *UpdatePullRequestApprovalRuleContentOutput) SetApprovalRule(v *ApprovalRule) *UpdatePullRequestApprovalRuleContentOutput {
21188	s.ApprovalRule = v
21189	return s
21190}
21191
21192type UpdatePullRequestApprovalStateInput struct {
21193	_ struct{} `type:"structure"`
21194
21195	// The approval state to associate with the user on the pull request.
21196	//
21197	// ApprovalState is a required field
21198	ApprovalState *string `locationName:"approvalState" type:"string" required:"true" enum:"ApprovalState"`
21199
21200	// The system-generated ID of the pull request.
21201	//
21202	// PullRequestId is a required field
21203	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
21204
21205	// The system-generated ID of the revision.
21206	//
21207	// RevisionId is a required field
21208	RevisionId *string `locationName:"revisionId" type:"string" required:"true"`
21209}
21210
21211// String returns the string representation
21212func (s UpdatePullRequestApprovalStateInput) String() string {
21213	return awsutil.Prettify(s)
21214}
21215
21216// GoString returns the string representation
21217func (s UpdatePullRequestApprovalStateInput) GoString() string {
21218	return s.String()
21219}
21220
21221// Validate inspects the fields of the type to determine if they are valid.
21222func (s *UpdatePullRequestApprovalStateInput) Validate() error {
21223	invalidParams := request.ErrInvalidParams{Context: "UpdatePullRequestApprovalStateInput"}
21224	if s.ApprovalState == nil {
21225		invalidParams.Add(request.NewErrParamRequired("ApprovalState"))
21226	}
21227	if s.PullRequestId == nil {
21228		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
21229	}
21230	if s.RevisionId == nil {
21231		invalidParams.Add(request.NewErrParamRequired("RevisionId"))
21232	}
21233
21234	if invalidParams.Len() > 0 {
21235		return invalidParams
21236	}
21237	return nil
21238}
21239
21240// SetApprovalState sets the ApprovalState field's value.
21241func (s *UpdatePullRequestApprovalStateInput) SetApprovalState(v string) *UpdatePullRequestApprovalStateInput {
21242	s.ApprovalState = &v
21243	return s
21244}
21245
21246// SetPullRequestId sets the PullRequestId field's value.
21247func (s *UpdatePullRequestApprovalStateInput) SetPullRequestId(v string) *UpdatePullRequestApprovalStateInput {
21248	s.PullRequestId = &v
21249	return s
21250}
21251
21252// SetRevisionId sets the RevisionId field's value.
21253func (s *UpdatePullRequestApprovalStateInput) SetRevisionId(v string) *UpdatePullRequestApprovalStateInput {
21254	s.RevisionId = &v
21255	return s
21256}
21257
21258type UpdatePullRequestApprovalStateOutput struct {
21259	_ struct{} `type:"structure"`
21260}
21261
21262// String returns the string representation
21263func (s UpdatePullRequestApprovalStateOutput) String() string {
21264	return awsutil.Prettify(s)
21265}
21266
21267// GoString returns the string representation
21268func (s UpdatePullRequestApprovalStateOutput) GoString() string {
21269	return s.String()
21270}
21271
21272type UpdatePullRequestDescriptionInput struct {
21273	_ struct{} `type:"structure"`
21274
21275	// The updated content of the description for the pull request. This content
21276	// replaces the existing description.
21277	//
21278	// Description is a required field
21279	Description *string `locationName:"description" type:"string" required:"true"`
21280
21281	// The system-generated ID of the pull request. To get this ID, use ListPullRequests.
21282	//
21283	// PullRequestId is a required field
21284	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
21285}
21286
21287// String returns the string representation
21288func (s UpdatePullRequestDescriptionInput) String() string {
21289	return awsutil.Prettify(s)
21290}
21291
21292// GoString returns the string representation
21293func (s UpdatePullRequestDescriptionInput) GoString() string {
21294	return s.String()
21295}
21296
21297// Validate inspects the fields of the type to determine if they are valid.
21298func (s *UpdatePullRequestDescriptionInput) Validate() error {
21299	invalidParams := request.ErrInvalidParams{Context: "UpdatePullRequestDescriptionInput"}
21300	if s.Description == nil {
21301		invalidParams.Add(request.NewErrParamRequired("Description"))
21302	}
21303	if s.PullRequestId == nil {
21304		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
21305	}
21306
21307	if invalidParams.Len() > 0 {
21308		return invalidParams
21309	}
21310	return nil
21311}
21312
21313// SetDescription sets the Description field's value.
21314func (s *UpdatePullRequestDescriptionInput) SetDescription(v string) *UpdatePullRequestDescriptionInput {
21315	s.Description = &v
21316	return s
21317}
21318
21319// SetPullRequestId sets the PullRequestId field's value.
21320func (s *UpdatePullRequestDescriptionInput) SetPullRequestId(v string) *UpdatePullRequestDescriptionInput {
21321	s.PullRequestId = &v
21322	return s
21323}
21324
21325type UpdatePullRequestDescriptionOutput struct {
21326	_ struct{} `type:"structure"`
21327
21328	// Information about the updated pull request.
21329	//
21330	// PullRequest is a required field
21331	PullRequest *PullRequest `locationName:"pullRequest" type:"structure" required:"true"`
21332}
21333
21334// String returns the string representation
21335func (s UpdatePullRequestDescriptionOutput) String() string {
21336	return awsutil.Prettify(s)
21337}
21338
21339// GoString returns the string representation
21340func (s UpdatePullRequestDescriptionOutput) GoString() string {
21341	return s.String()
21342}
21343
21344// SetPullRequest sets the PullRequest field's value.
21345func (s *UpdatePullRequestDescriptionOutput) SetPullRequest(v *PullRequest) *UpdatePullRequestDescriptionOutput {
21346	s.PullRequest = v
21347	return s
21348}
21349
21350type UpdatePullRequestStatusInput struct {
21351	_ struct{} `type:"structure"`
21352
21353	// The system-generated ID of the pull request. To get this ID, use ListPullRequests.
21354	//
21355	// PullRequestId is a required field
21356	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
21357
21358	// The status of the pull request. The only valid operations are to update the
21359	// status from OPEN to OPEN, OPEN to CLOSED or from CLOSED to CLOSED.
21360	//
21361	// PullRequestStatus is a required field
21362	PullRequestStatus *string `locationName:"pullRequestStatus" type:"string" required:"true" enum:"PullRequestStatusEnum"`
21363}
21364
21365// String returns the string representation
21366func (s UpdatePullRequestStatusInput) String() string {
21367	return awsutil.Prettify(s)
21368}
21369
21370// GoString returns the string representation
21371func (s UpdatePullRequestStatusInput) GoString() string {
21372	return s.String()
21373}
21374
21375// Validate inspects the fields of the type to determine if they are valid.
21376func (s *UpdatePullRequestStatusInput) Validate() error {
21377	invalidParams := request.ErrInvalidParams{Context: "UpdatePullRequestStatusInput"}
21378	if s.PullRequestId == nil {
21379		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
21380	}
21381	if s.PullRequestStatus == nil {
21382		invalidParams.Add(request.NewErrParamRequired("PullRequestStatus"))
21383	}
21384
21385	if invalidParams.Len() > 0 {
21386		return invalidParams
21387	}
21388	return nil
21389}
21390
21391// SetPullRequestId sets the PullRequestId field's value.
21392func (s *UpdatePullRequestStatusInput) SetPullRequestId(v string) *UpdatePullRequestStatusInput {
21393	s.PullRequestId = &v
21394	return s
21395}
21396
21397// SetPullRequestStatus sets the PullRequestStatus field's value.
21398func (s *UpdatePullRequestStatusInput) SetPullRequestStatus(v string) *UpdatePullRequestStatusInput {
21399	s.PullRequestStatus = &v
21400	return s
21401}
21402
21403type UpdatePullRequestStatusOutput struct {
21404	_ struct{} `type:"structure"`
21405
21406	// Information about the pull request.
21407	//
21408	// PullRequest is a required field
21409	PullRequest *PullRequest `locationName:"pullRequest" type:"structure" required:"true"`
21410}
21411
21412// String returns the string representation
21413func (s UpdatePullRequestStatusOutput) String() string {
21414	return awsutil.Prettify(s)
21415}
21416
21417// GoString returns the string representation
21418func (s UpdatePullRequestStatusOutput) GoString() string {
21419	return s.String()
21420}
21421
21422// SetPullRequest sets the PullRequest field's value.
21423func (s *UpdatePullRequestStatusOutput) SetPullRequest(v *PullRequest) *UpdatePullRequestStatusOutput {
21424	s.PullRequest = v
21425	return s
21426}
21427
21428type UpdatePullRequestTitleInput struct {
21429	_ struct{} `type:"structure"`
21430
21431	// The system-generated ID of the pull request. To get this ID, use ListPullRequests.
21432	//
21433	// PullRequestId is a required field
21434	PullRequestId *string `locationName:"pullRequestId" type:"string" required:"true"`
21435
21436	// The updated title of the pull request. This replaces the existing title.
21437	//
21438	// Title is a required field
21439	Title *string `locationName:"title" type:"string" required:"true"`
21440}
21441
21442// String returns the string representation
21443func (s UpdatePullRequestTitleInput) String() string {
21444	return awsutil.Prettify(s)
21445}
21446
21447// GoString returns the string representation
21448func (s UpdatePullRequestTitleInput) GoString() string {
21449	return s.String()
21450}
21451
21452// Validate inspects the fields of the type to determine if they are valid.
21453func (s *UpdatePullRequestTitleInput) Validate() error {
21454	invalidParams := request.ErrInvalidParams{Context: "UpdatePullRequestTitleInput"}
21455	if s.PullRequestId == nil {
21456		invalidParams.Add(request.NewErrParamRequired("PullRequestId"))
21457	}
21458	if s.Title == nil {
21459		invalidParams.Add(request.NewErrParamRequired("Title"))
21460	}
21461
21462	if invalidParams.Len() > 0 {
21463		return invalidParams
21464	}
21465	return nil
21466}
21467
21468// SetPullRequestId sets the PullRequestId field's value.
21469func (s *UpdatePullRequestTitleInput) SetPullRequestId(v string) *UpdatePullRequestTitleInput {
21470	s.PullRequestId = &v
21471	return s
21472}
21473
21474// SetTitle sets the Title field's value.
21475func (s *UpdatePullRequestTitleInput) SetTitle(v string) *UpdatePullRequestTitleInput {
21476	s.Title = &v
21477	return s
21478}
21479
21480type UpdatePullRequestTitleOutput struct {
21481	_ struct{} `type:"structure"`
21482
21483	// Information about the updated pull request.
21484	//
21485	// PullRequest is a required field
21486	PullRequest *PullRequest `locationName:"pullRequest" type:"structure" required:"true"`
21487}
21488
21489// String returns the string representation
21490func (s UpdatePullRequestTitleOutput) String() string {
21491	return awsutil.Prettify(s)
21492}
21493
21494// GoString returns the string representation
21495func (s UpdatePullRequestTitleOutput) GoString() string {
21496	return s.String()
21497}
21498
21499// SetPullRequest sets the PullRequest field's value.
21500func (s *UpdatePullRequestTitleOutput) SetPullRequest(v *PullRequest) *UpdatePullRequestTitleOutput {
21501	s.PullRequest = v
21502	return s
21503}
21504
21505// Represents the input of an update repository description operation.
21506type UpdateRepositoryDescriptionInput struct {
21507	_ struct{} `type:"structure"`
21508
21509	// The new comment or description for the specified repository. Repository descriptions
21510	// are limited to 1,000 characters.
21511	RepositoryDescription *string `locationName:"repositoryDescription" type:"string"`
21512
21513	// The name of the repository to set or change the comment or description for.
21514	//
21515	// RepositoryName is a required field
21516	RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"`
21517}
21518
21519// String returns the string representation
21520func (s UpdateRepositoryDescriptionInput) String() string {
21521	return awsutil.Prettify(s)
21522}
21523
21524// GoString returns the string representation
21525func (s UpdateRepositoryDescriptionInput) GoString() string {
21526	return s.String()
21527}
21528
21529// Validate inspects the fields of the type to determine if they are valid.
21530func (s *UpdateRepositoryDescriptionInput) Validate() error {
21531	invalidParams := request.ErrInvalidParams{Context: "UpdateRepositoryDescriptionInput"}
21532	if s.RepositoryName == nil {
21533		invalidParams.Add(request.NewErrParamRequired("RepositoryName"))
21534	}
21535	if s.RepositoryName != nil && len(*s.RepositoryName) < 1 {
21536		invalidParams.Add(request.NewErrParamMinLen("RepositoryName", 1))
21537	}
21538
21539	if invalidParams.Len() > 0 {
21540		return invalidParams
21541	}
21542	return nil
21543}
21544
21545// SetRepositoryDescription sets the RepositoryDescription field's value.
21546func (s *UpdateRepositoryDescriptionInput) SetRepositoryDescription(v string) *UpdateRepositoryDescriptionInput {
21547	s.RepositoryDescription = &v
21548	return s
21549}
21550
21551// SetRepositoryName sets the RepositoryName field's value.
21552func (s *UpdateRepositoryDescriptionInput) SetRepositoryName(v string) *UpdateRepositoryDescriptionInput {
21553	s.RepositoryName = &v
21554	return s
21555}
21556
21557type UpdateRepositoryDescriptionOutput struct {
21558	_ struct{} `type:"structure"`
21559}
21560
21561// String returns the string representation
21562func (s UpdateRepositoryDescriptionOutput) String() string {
21563	return awsutil.Prettify(s)
21564}
21565
21566// GoString returns the string representation
21567func (s UpdateRepositoryDescriptionOutput) GoString() string {
21568	return s.String()
21569}
21570
21571// Represents the input of an update repository description operation.
21572type UpdateRepositoryNameInput struct {
21573	_ struct{} `type:"structure"`
21574
21575	// The new name for the repository.
21576	//
21577	// NewName is a required field
21578	NewName *string `locationName:"newName" min:"1" type:"string" required:"true"`
21579
21580	// The current name of the repository.
21581	//
21582	// OldName is a required field
21583	OldName *string `locationName:"oldName" min:"1" type:"string" required:"true"`
21584}
21585
21586// String returns the string representation
21587func (s UpdateRepositoryNameInput) String() string {
21588	return awsutil.Prettify(s)
21589}
21590
21591// GoString returns the string representation
21592func (s UpdateRepositoryNameInput) GoString() string {
21593	return s.String()
21594}
21595
21596// Validate inspects the fields of the type to determine if they are valid.
21597func (s *UpdateRepositoryNameInput) Validate() error {
21598	invalidParams := request.ErrInvalidParams{Context: "UpdateRepositoryNameInput"}
21599	if s.NewName == nil {
21600		invalidParams.Add(request.NewErrParamRequired("NewName"))
21601	}
21602	if s.NewName != nil && len(*s.NewName) < 1 {
21603		invalidParams.Add(request.NewErrParamMinLen("NewName", 1))
21604	}
21605	if s.OldName == nil {
21606		invalidParams.Add(request.NewErrParamRequired("OldName"))
21607	}
21608	if s.OldName != nil && len(*s.OldName) < 1 {
21609		invalidParams.Add(request.NewErrParamMinLen("OldName", 1))
21610	}
21611
21612	if invalidParams.Len() > 0 {
21613		return invalidParams
21614	}
21615	return nil
21616}
21617
21618// SetNewName sets the NewName field's value.
21619func (s *UpdateRepositoryNameInput) SetNewName(v string) *UpdateRepositoryNameInput {
21620	s.NewName = &v
21621	return s
21622}
21623
21624// SetOldName sets the OldName field's value.
21625func (s *UpdateRepositoryNameInput) SetOldName(v string) *UpdateRepositoryNameInput {
21626	s.OldName = &v
21627	return s
21628}
21629
21630type UpdateRepositoryNameOutput struct {
21631	_ struct{} `type:"structure"`
21632}
21633
21634// String returns the string representation
21635func (s UpdateRepositoryNameOutput) String() string {
21636	return awsutil.Prettify(s)
21637}
21638
21639// GoString returns the string representation
21640func (s UpdateRepositoryNameOutput) GoString() string {
21641	return s.String()
21642}
21643
21644// Information about the user who made a specified commit.
21645type UserInfo struct {
21646	_ struct{} `type:"structure"`
21647
21648	// The date when the specified commit was commited, in timestamp format with
21649	// GMT offset.
21650	Date *string `locationName:"date" type:"string"`
21651
21652	// The email address associated with the user who made the commit, if any.
21653	Email *string `locationName:"email" type:"string"`
21654
21655	// The name of the user who made the specified commit.
21656	Name *string `locationName:"name" type:"string"`
21657}
21658
21659// String returns the string representation
21660func (s UserInfo) String() string {
21661	return awsutil.Prettify(s)
21662}
21663
21664// GoString returns the string representation
21665func (s UserInfo) GoString() string {
21666	return s.String()
21667}
21668
21669// SetDate sets the Date field's value.
21670func (s *UserInfo) SetDate(v string) *UserInfo {
21671	s.Date = &v
21672	return s
21673}
21674
21675// SetEmail sets the Email field's value.
21676func (s *UserInfo) SetEmail(v string) *UserInfo {
21677	s.Email = &v
21678	return s
21679}
21680
21681// SetName sets the Name field's value.
21682func (s *UserInfo) SetName(v string) *UserInfo {
21683	s.Name = &v
21684	return s
21685}
21686
21687const (
21688	// ApprovalStateApprove is a ApprovalState enum value
21689	ApprovalStateApprove = "APPROVE"
21690
21691	// ApprovalStateRevoke is a ApprovalState enum value
21692	ApprovalStateRevoke = "REVOKE"
21693)
21694
21695const (
21696	// ChangeTypeEnumA is a ChangeTypeEnum enum value
21697	ChangeTypeEnumA = "A"
21698
21699	// ChangeTypeEnumM is a ChangeTypeEnum enum value
21700	ChangeTypeEnumM = "M"
21701
21702	// ChangeTypeEnumD is a ChangeTypeEnum enum value
21703	ChangeTypeEnumD = "D"
21704)
21705
21706const (
21707	// ConflictDetailLevelTypeEnumFileLevel is a ConflictDetailLevelTypeEnum enum value
21708	ConflictDetailLevelTypeEnumFileLevel = "FILE_LEVEL"
21709
21710	// ConflictDetailLevelTypeEnumLineLevel is a ConflictDetailLevelTypeEnum enum value
21711	ConflictDetailLevelTypeEnumLineLevel = "LINE_LEVEL"
21712)
21713
21714const (
21715	// ConflictResolutionStrategyTypeEnumNone is a ConflictResolutionStrategyTypeEnum enum value
21716	ConflictResolutionStrategyTypeEnumNone = "NONE"
21717
21718	// ConflictResolutionStrategyTypeEnumAcceptSource is a ConflictResolutionStrategyTypeEnum enum value
21719	ConflictResolutionStrategyTypeEnumAcceptSource = "ACCEPT_SOURCE"
21720
21721	// ConflictResolutionStrategyTypeEnumAcceptDestination is a ConflictResolutionStrategyTypeEnum enum value
21722	ConflictResolutionStrategyTypeEnumAcceptDestination = "ACCEPT_DESTINATION"
21723
21724	// ConflictResolutionStrategyTypeEnumAutomerge is a ConflictResolutionStrategyTypeEnum enum value
21725	ConflictResolutionStrategyTypeEnumAutomerge = "AUTOMERGE"
21726)
21727
21728const (
21729	// FileModeTypeEnumExecutable is a FileModeTypeEnum enum value
21730	FileModeTypeEnumExecutable = "EXECUTABLE"
21731
21732	// FileModeTypeEnumNormal is a FileModeTypeEnum enum value
21733	FileModeTypeEnumNormal = "NORMAL"
21734
21735	// FileModeTypeEnumSymlink is a FileModeTypeEnum enum value
21736	FileModeTypeEnumSymlink = "SYMLINK"
21737)
21738
21739const (
21740	// MergeOptionTypeEnumFastForwardMerge is a MergeOptionTypeEnum enum value
21741	MergeOptionTypeEnumFastForwardMerge = "FAST_FORWARD_MERGE"
21742
21743	// MergeOptionTypeEnumSquashMerge is a MergeOptionTypeEnum enum value
21744	MergeOptionTypeEnumSquashMerge = "SQUASH_MERGE"
21745
21746	// MergeOptionTypeEnumThreeWayMerge is a MergeOptionTypeEnum enum value
21747	MergeOptionTypeEnumThreeWayMerge = "THREE_WAY_MERGE"
21748)
21749
21750const (
21751	// ObjectTypeEnumFile is a ObjectTypeEnum enum value
21752	ObjectTypeEnumFile = "FILE"
21753
21754	// ObjectTypeEnumDirectory is a ObjectTypeEnum enum value
21755	ObjectTypeEnumDirectory = "DIRECTORY"
21756
21757	// ObjectTypeEnumGitLink is a ObjectTypeEnum enum value
21758	ObjectTypeEnumGitLink = "GIT_LINK"
21759
21760	// ObjectTypeEnumSymbolicLink is a ObjectTypeEnum enum value
21761	ObjectTypeEnumSymbolicLink = "SYMBOLIC_LINK"
21762)
21763
21764const (
21765	// OrderEnumAscending is a OrderEnum enum value
21766	OrderEnumAscending = "ascending"
21767
21768	// OrderEnumDescending is a OrderEnum enum value
21769	OrderEnumDescending = "descending"
21770)
21771
21772const (
21773	// OverrideStatusOverride is a OverrideStatus enum value
21774	OverrideStatusOverride = "OVERRIDE"
21775
21776	// OverrideStatusRevoke is a OverrideStatus enum value
21777	OverrideStatusRevoke = "REVOKE"
21778)
21779
21780const (
21781	// PullRequestEventTypePullRequestCreated is a PullRequestEventType enum value
21782	PullRequestEventTypePullRequestCreated = "PULL_REQUEST_CREATED"
21783
21784	// PullRequestEventTypePullRequestStatusChanged is a PullRequestEventType enum value
21785	PullRequestEventTypePullRequestStatusChanged = "PULL_REQUEST_STATUS_CHANGED"
21786
21787	// PullRequestEventTypePullRequestSourceReferenceUpdated is a PullRequestEventType enum value
21788	PullRequestEventTypePullRequestSourceReferenceUpdated = "PULL_REQUEST_SOURCE_REFERENCE_UPDATED"
21789
21790	// PullRequestEventTypePullRequestMergeStateChanged is a PullRequestEventType enum value
21791	PullRequestEventTypePullRequestMergeStateChanged = "PULL_REQUEST_MERGE_STATE_CHANGED"
21792
21793	// PullRequestEventTypePullRequestApprovalRuleCreated is a PullRequestEventType enum value
21794	PullRequestEventTypePullRequestApprovalRuleCreated = "PULL_REQUEST_APPROVAL_RULE_CREATED"
21795
21796	// PullRequestEventTypePullRequestApprovalRuleUpdated is a PullRequestEventType enum value
21797	PullRequestEventTypePullRequestApprovalRuleUpdated = "PULL_REQUEST_APPROVAL_RULE_UPDATED"
21798
21799	// PullRequestEventTypePullRequestApprovalRuleDeleted is a PullRequestEventType enum value
21800	PullRequestEventTypePullRequestApprovalRuleDeleted = "PULL_REQUEST_APPROVAL_RULE_DELETED"
21801
21802	// PullRequestEventTypePullRequestApprovalRuleOverridden is a PullRequestEventType enum value
21803	PullRequestEventTypePullRequestApprovalRuleOverridden = "PULL_REQUEST_APPROVAL_RULE_OVERRIDDEN"
21804
21805	// PullRequestEventTypePullRequestApprovalStateChanged is a PullRequestEventType enum value
21806	PullRequestEventTypePullRequestApprovalStateChanged = "PULL_REQUEST_APPROVAL_STATE_CHANGED"
21807)
21808
21809const (
21810	// PullRequestStatusEnumOpen is a PullRequestStatusEnum enum value
21811	PullRequestStatusEnumOpen = "OPEN"
21812
21813	// PullRequestStatusEnumClosed is a PullRequestStatusEnum enum value
21814	PullRequestStatusEnumClosed = "CLOSED"
21815)
21816
21817const (
21818	// RelativeFileVersionEnumBefore is a RelativeFileVersionEnum enum value
21819	RelativeFileVersionEnumBefore = "BEFORE"
21820
21821	// RelativeFileVersionEnumAfter is a RelativeFileVersionEnum enum value
21822	RelativeFileVersionEnumAfter = "AFTER"
21823)
21824
21825const (
21826	// ReplacementTypeEnumKeepBase is a ReplacementTypeEnum enum value
21827	ReplacementTypeEnumKeepBase = "KEEP_BASE"
21828
21829	// ReplacementTypeEnumKeepSource is a ReplacementTypeEnum enum value
21830	ReplacementTypeEnumKeepSource = "KEEP_SOURCE"
21831
21832	// ReplacementTypeEnumKeepDestination is a ReplacementTypeEnum enum value
21833	ReplacementTypeEnumKeepDestination = "KEEP_DESTINATION"
21834
21835	// ReplacementTypeEnumUseNewContent is a ReplacementTypeEnum enum value
21836	ReplacementTypeEnumUseNewContent = "USE_NEW_CONTENT"
21837)
21838
21839const (
21840	// RepositoryTriggerEventEnumAll is a RepositoryTriggerEventEnum enum value
21841	RepositoryTriggerEventEnumAll = "all"
21842
21843	// RepositoryTriggerEventEnumUpdateReference is a RepositoryTriggerEventEnum enum value
21844	RepositoryTriggerEventEnumUpdateReference = "updateReference"
21845
21846	// RepositoryTriggerEventEnumCreateReference is a RepositoryTriggerEventEnum enum value
21847	RepositoryTriggerEventEnumCreateReference = "createReference"
21848
21849	// RepositoryTriggerEventEnumDeleteReference is a RepositoryTriggerEventEnum enum value
21850	RepositoryTriggerEventEnumDeleteReference = "deleteReference"
21851)
21852
21853const (
21854	// SortByEnumRepositoryName is a SortByEnum enum value
21855	SortByEnumRepositoryName = "repositoryName"
21856
21857	// SortByEnumLastModifiedDate is a SortByEnum enum value
21858	SortByEnumLastModifiedDate = "lastModifiedDate"
21859)
21860