github.com/aavshr/aws-sdk-go@v1.41.3/service/codebuild/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package codebuild
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const opBatchDeleteBuilds = "BatchDeleteBuilds"
    17  
    18  // BatchDeleteBuildsRequest generates a "aws/request.Request" representing the
    19  // client's request for the BatchDeleteBuilds operation. The "output" return
    20  // value will be populated with the request's response once the request completes
    21  // successfully.
    22  //
    23  // Use "Send" method on the returned Request to send the API call to the service.
    24  // the "output" return value is not valid until after Send returns without error.
    25  //
    26  // See BatchDeleteBuilds for more information on using the BatchDeleteBuilds
    27  // API call, and error handling.
    28  //
    29  // This method is useful when you want to inject custom logic or configuration
    30  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    31  //
    32  //
    33  //    // Example sending a request using the BatchDeleteBuildsRequest method.
    34  //    req, resp := client.BatchDeleteBuildsRequest(params)
    35  //
    36  //    err := req.Send()
    37  //    if err == nil { // resp is now filled
    38  //        fmt.Println(resp)
    39  //    }
    40  //
    41  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchDeleteBuilds
    42  func (c *CodeBuild) BatchDeleteBuildsRequest(input *BatchDeleteBuildsInput) (req *request.Request, output *BatchDeleteBuildsOutput) {
    43  	op := &request.Operation{
    44  		Name:       opBatchDeleteBuilds,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &BatchDeleteBuildsInput{}
    51  	}
    52  
    53  	output = &BatchDeleteBuildsOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // BatchDeleteBuilds API operation for AWS CodeBuild.
    59  //
    60  // Deletes one or more builds.
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for AWS CodeBuild's
    67  // API operation BatchDeleteBuilds for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * InvalidInputException
    71  //   The input value that was provided is not valid.
    72  //
    73  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchDeleteBuilds
    74  func (c *CodeBuild) BatchDeleteBuilds(input *BatchDeleteBuildsInput) (*BatchDeleteBuildsOutput, error) {
    75  	req, out := c.BatchDeleteBuildsRequest(input)
    76  	return out, req.Send()
    77  }
    78  
    79  // BatchDeleteBuildsWithContext is the same as BatchDeleteBuilds with the addition of
    80  // the ability to pass a context and additional request options.
    81  //
    82  // See BatchDeleteBuilds for details on how to use this API operation.
    83  //
    84  // The context must be non-nil and will be used for request cancellation. If
    85  // the context is nil a panic will occur. In the future the SDK may create
    86  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    87  // for more information on using Contexts.
    88  func (c *CodeBuild) BatchDeleteBuildsWithContext(ctx aws.Context, input *BatchDeleteBuildsInput, opts ...request.Option) (*BatchDeleteBuildsOutput, error) {
    89  	req, out := c.BatchDeleteBuildsRequest(input)
    90  	req.SetContext(ctx)
    91  	req.ApplyOptions(opts...)
    92  	return out, req.Send()
    93  }
    94  
    95  const opBatchGetBuildBatches = "BatchGetBuildBatches"
    96  
    97  // BatchGetBuildBatchesRequest generates a "aws/request.Request" representing the
    98  // client's request for the BatchGetBuildBatches operation. The "output" return
    99  // value will be populated with the request's response once the request completes
   100  // successfully.
   101  //
   102  // Use "Send" method on the returned Request to send the API call to the service.
   103  // the "output" return value is not valid until after Send returns without error.
   104  //
   105  // See BatchGetBuildBatches for more information on using the BatchGetBuildBatches
   106  // API call, and error handling.
   107  //
   108  // This method is useful when you want to inject custom logic or configuration
   109  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   110  //
   111  //
   112  //    // Example sending a request using the BatchGetBuildBatchesRequest method.
   113  //    req, resp := client.BatchGetBuildBatchesRequest(params)
   114  //
   115  //    err := req.Send()
   116  //    if err == nil { // resp is now filled
   117  //        fmt.Println(resp)
   118  //    }
   119  //
   120  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetBuildBatches
   121  func (c *CodeBuild) BatchGetBuildBatchesRequest(input *BatchGetBuildBatchesInput) (req *request.Request, output *BatchGetBuildBatchesOutput) {
   122  	op := &request.Operation{
   123  		Name:       opBatchGetBuildBatches,
   124  		HTTPMethod: "POST",
   125  		HTTPPath:   "/",
   126  	}
   127  
   128  	if input == nil {
   129  		input = &BatchGetBuildBatchesInput{}
   130  	}
   131  
   132  	output = &BatchGetBuildBatchesOutput{}
   133  	req = c.newRequest(op, input, output)
   134  	return
   135  }
   136  
   137  // BatchGetBuildBatches API operation for AWS CodeBuild.
   138  //
   139  // Retrieves information about one or more batch builds.
   140  //
   141  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   142  // with awserr.Error's Code and Message methods to get detailed information about
   143  // the error.
   144  //
   145  // See the AWS API reference guide for AWS CodeBuild's
   146  // API operation BatchGetBuildBatches for usage and error information.
   147  //
   148  // Returned Error Types:
   149  //   * InvalidInputException
   150  //   The input value that was provided is not valid.
   151  //
   152  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetBuildBatches
   153  func (c *CodeBuild) BatchGetBuildBatches(input *BatchGetBuildBatchesInput) (*BatchGetBuildBatchesOutput, error) {
   154  	req, out := c.BatchGetBuildBatchesRequest(input)
   155  	return out, req.Send()
   156  }
   157  
   158  // BatchGetBuildBatchesWithContext is the same as BatchGetBuildBatches with the addition of
   159  // the ability to pass a context and additional request options.
   160  //
   161  // See BatchGetBuildBatches for details on how to use this API operation.
   162  //
   163  // The context must be non-nil and will be used for request cancellation. If
   164  // the context is nil a panic will occur. In the future the SDK may create
   165  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   166  // for more information on using Contexts.
   167  func (c *CodeBuild) BatchGetBuildBatchesWithContext(ctx aws.Context, input *BatchGetBuildBatchesInput, opts ...request.Option) (*BatchGetBuildBatchesOutput, error) {
   168  	req, out := c.BatchGetBuildBatchesRequest(input)
   169  	req.SetContext(ctx)
   170  	req.ApplyOptions(opts...)
   171  	return out, req.Send()
   172  }
   173  
   174  const opBatchGetBuilds = "BatchGetBuilds"
   175  
   176  // BatchGetBuildsRequest generates a "aws/request.Request" representing the
   177  // client's request for the BatchGetBuilds operation. The "output" return
   178  // value will be populated with the request's response once the request completes
   179  // successfully.
   180  //
   181  // Use "Send" method on the returned Request to send the API call to the service.
   182  // the "output" return value is not valid until after Send returns without error.
   183  //
   184  // See BatchGetBuilds for more information on using the BatchGetBuilds
   185  // API call, and error handling.
   186  //
   187  // This method is useful when you want to inject custom logic or configuration
   188  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   189  //
   190  //
   191  //    // Example sending a request using the BatchGetBuildsRequest method.
   192  //    req, resp := client.BatchGetBuildsRequest(params)
   193  //
   194  //    err := req.Send()
   195  //    if err == nil { // resp is now filled
   196  //        fmt.Println(resp)
   197  //    }
   198  //
   199  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetBuilds
   200  func (c *CodeBuild) BatchGetBuildsRequest(input *BatchGetBuildsInput) (req *request.Request, output *BatchGetBuildsOutput) {
   201  	op := &request.Operation{
   202  		Name:       opBatchGetBuilds,
   203  		HTTPMethod: "POST",
   204  		HTTPPath:   "/",
   205  	}
   206  
   207  	if input == nil {
   208  		input = &BatchGetBuildsInput{}
   209  	}
   210  
   211  	output = &BatchGetBuildsOutput{}
   212  	req = c.newRequest(op, input, output)
   213  	return
   214  }
   215  
   216  // BatchGetBuilds API operation for AWS CodeBuild.
   217  //
   218  // Gets information about one or more builds.
   219  //
   220  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   221  // with awserr.Error's Code and Message methods to get detailed information about
   222  // the error.
   223  //
   224  // See the AWS API reference guide for AWS CodeBuild's
   225  // API operation BatchGetBuilds for usage and error information.
   226  //
   227  // Returned Error Types:
   228  //   * InvalidInputException
   229  //   The input value that was provided is not valid.
   230  //
   231  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetBuilds
   232  func (c *CodeBuild) BatchGetBuilds(input *BatchGetBuildsInput) (*BatchGetBuildsOutput, error) {
   233  	req, out := c.BatchGetBuildsRequest(input)
   234  	return out, req.Send()
   235  }
   236  
   237  // BatchGetBuildsWithContext is the same as BatchGetBuilds with the addition of
   238  // the ability to pass a context and additional request options.
   239  //
   240  // See BatchGetBuilds for details on how to use this API operation.
   241  //
   242  // The context must be non-nil and will be used for request cancellation. If
   243  // the context is nil a panic will occur. In the future the SDK may create
   244  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   245  // for more information on using Contexts.
   246  func (c *CodeBuild) BatchGetBuildsWithContext(ctx aws.Context, input *BatchGetBuildsInput, opts ...request.Option) (*BatchGetBuildsOutput, error) {
   247  	req, out := c.BatchGetBuildsRequest(input)
   248  	req.SetContext(ctx)
   249  	req.ApplyOptions(opts...)
   250  	return out, req.Send()
   251  }
   252  
   253  const opBatchGetProjects = "BatchGetProjects"
   254  
   255  // BatchGetProjectsRequest generates a "aws/request.Request" representing the
   256  // client's request for the BatchGetProjects operation. The "output" return
   257  // value will be populated with the request's response once the request completes
   258  // successfully.
   259  //
   260  // Use "Send" method on the returned Request to send the API call to the service.
   261  // the "output" return value is not valid until after Send returns without error.
   262  //
   263  // See BatchGetProjects for more information on using the BatchGetProjects
   264  // API call, and error handling.
   265  //
   266  // This method is useful when you want to inject custom logic or configuration
   267  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   268  //
   269  //
   270  //    // Example sending a request using the BatchGetProjectsRequest method.
   271  //    req, resp := client.BatchGetProjectsRequest(params)
   272  //
   273  //    err := req.Send()
   274  //    if err == nil { // resp is now filled
   275  //        fmt.Println(resp)
   276  //    }
   277  //
   278  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetProjects
   279  func (c *CodeBuild) BatchGetProjectsRequest(input *BatchGetProjectsInput) (req *request.Request, output *BatchGetProjectsOutput) {
   280  	op := &request.Operation{
   281  		Name:       opBatchGetProjects,
   282  		HTTPMethod: "POST",
   283  		HTTPPath:   "/",
   284  	}
   285  
   286  	if input == nil {
   287  		input = &BatchGetProjectsInput{}
   288  	}
   289  
   290  	output = &BatchGetProjectsOutput{}
   291  	req = c.newRequest(op, input, output)
   292  	return
   293  }
   294  
   295  // BatchGetProjects API operation for AWS CodeBuild.
   296  //
   297  // Gets information about one or more build projects.
   298  //
   299  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   300  // with awserr.Error's Code and Message methods to get detailed information about
   301  // the error.
   302  //
   303  // See the AWS API reference guide for AWS CodeBuild's
   304  // API operation BatchGetProjects for usage and error information.
   305  //
   306  // Returned Error Types:
   307  //   * InvalidInputException
   308  //   The input value that was provided is not valid.
   309  //
   310  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetProjects
   311  func (c *CodeBuild) BatchGetProjects(input *BatchGetProjectsInput) (*BatchGetProjectsOutput, error) {
   312  	req, out := c.BatchGetProjectsRequest(input)
   313  	return out, req.Send()
   314  }
   315  
   316  // BatchGetProjectsWithContext is the same as BatchGetProjects with the addition of
   317  // the ability to pass a context and additional request options.
   318  //
   319  // See BatchGetProjects for details on how to use this API operation.
   320  //
   321  // The context must be non-nil and will be used for request cancellation. If
   322  // the context is nil a panic will occur. In the future the SDK may create
   323  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   324  // for more information on using Contexts.
   325  func (c *CodeBuild) BatchGetProjectsWithContext(ctx aws.Context, input *BatchGetProjectsInput, opts ...request.Option) (*BatchGetProjectsOutput, error) {
   326  	req, out := c.BatchGetProjectsRequest(input)
   327  	req.SetContext(ctx)
   328  	req.ApplyOptions(opts...)
   329  	return out, req.Send()
   330  }
   331  
   332  const opBatchGetReportGroups = "BatchGetReportGroups"
   333  
   334  // BatchGetReportGroupsRequest generates a "aws/request.Request" representing the
   335  // client's request for the BatchGetReportGroups operation. The "output" return
   336  // value will be populated with the request's response once the request completes
   337  // successfully.
   338  //
   339  // Use "Send" method on the returned Request to send the API call to the service.
   340  // the "output" return value is not valid until after Send returns without error.
   341  //
   342  // See BatchGetReportGroups for more information on using the BatchGetReportGroups
   343  // API call, and error handling.
   344  //
   345  // This method is useful when you want to inject custom logic or configuration
   346  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   347  //
   348  //
   349  //    // Example sending a request using the BatchGetReportGroupsRequest method.
   350  //    req, resp := client.BatchGetReportGroupsRequest(params)
   351  //
   352  //    err := req.Send()
   353  //    if err == nil { // resp is now filled
   354  //        fmt.Println(resp)
   355  //    }
   356  //
   357  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReportGroups
   358  func (c *CodeBuild) BatchGetReportGroupsRequest(input *BatchGetReportGroupsInput) (req *request.Request, output *BatchGetReportGroupsOutput) {
   359  	op := &request.Operation{
   360  		Name:       opBatchGetReportGroups,
   361  		HTTPMethod: "POST",
   362  		HTTPPath:   "/",
   363  	}
   364  
   365  	if input == nil {
   366  		input = &BatchGetReportGroupsInput{}
   367  	}
   368  
   369  	output = &BatchGetReportGroupsOutput{}
   370  	req = c.newRequest(op, input, output)
   371  	return
   372  }
   373  
   374  // BatchGetReportGroups API operation for AWS CodeBuild.
   375  //
   376  // Returns an array of report groups.
   377  //
   378  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   379  // with awserr.Error's Code and Message methods to get detailed information about
   380  // the error.
   381  //
   382  // See the AWS API reference guide for AWS CodeBuild's
   383  // API operation BatchGetReportGroups for usage and error information.
   384  //
   385  // Returned Error Types:
   386  //   * InvalidInputException
   387  //   The input value that was provided is not valid.
   388  //
   389  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReportGroups
   390  func (c *CodeBuild) BatchGetReportGroups(input *BatchGetReportGroupsInput) (*BatchGetReportGroupsOutput, error) {
   391  	req, out := c.BatchGetReportGroupsRequest(input)
   392  	return out, req.Send()
   393  }
   394  
   395  // BatchGetReportGroupsWithContext is the same as BatchGetReportGroups with the addition of
   396  // the ability to pass a context and additional request options.
   397  //
   398  // See BatchGetReportGroups for details on how to use this API operation.
   399  //
   400  // The context must be non-nil and will be used for request cancellation. If
   401  // the context is nil a panic will occur. In the future the SDK may create
   402  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   403  // for more information on using Contexts.
   404  func (c *CodeBuild) BatchGetReportGroupsWithContext(ctx aws.Context, input *BatchGetReportGroupsInput, opts ...request.Option) (*BatchGetReportGroupsOutput, error) {
   405  	req, out := c.BatchGetReportGroupsRequest(input)
   406  	req.SetContext(ctx)
   407  	req.ApplyOptions(opts...)
   408  	return out, req.Send()
   409  }
   410  
   411  const opBatchGetReports = "BatchGetReports"
   412  
   413  // BatchGetReportsRequest generates a "aws/request.Request" representing the
   414  // client's request for the BatchGetReports operation. The "output" return
   415  // value will be populated with the request's response once the request completes
   416  // successfully.
   417  //
   418  // Use "Send" method on the returned Request to send the API call to the service.
   419  // the "output" return value is not valid until after Send returns without error.
   420  //
   421  // See BatchGetReports for more information on using the BatchGetReports
   422  // API call, and error handling.
   423  //
   424  // This method is useful when you want to inject custom logic or configuration
   425  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   426  //
   427  //
   428  //    // Example sending a request using the BatchGetReportsRequest method.
   429  //    req, resp := client.BatchGetReportsRequest(params)
   430  //
   431  //    err := req.Send()
   432  //    if err == nil { // resp is now filled
   433  //        fmt.Println(resp)
   434  //    }
   435  //
   436  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReports
   437  func (c *CodeBuild) BatchGetReportsRequest(input *BatchGetReportsInput) (req *request.Request, output *BatchGetReportsOutput) {
   438  	op := &request.Operation{
   439  		Name:       opBatchGetReports,
   440  		HTTPMethod: "POST",
   441  		HTTPPath:   "/",
   442  	}
   443  
   444  	if input == nil {
   445  		input = &BatchGetReportsInput{}
   446  	}
   447  
   448  	output = &BatchGetReportsOutput{}
   449  	req = c.newRequest(op, input, output)
   450  	return
   451  }
   452  
   453  // BatchGetReports API operation for AWS CodeBuild.
   454  //
   455  // Returns an array of reports.
   456  //
   457  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   458  // with awserr.Error's Code and Message methods to get detailed information about
   459  // the error.
   460  //
   461  // See the AWS API reference guide for AWS CodeBuild's
   462  // API operation BatchGetReports for usage and error information.
   463  //
   464  // Returned Error Types:
   465  //   * InvalidInputException
   466  //   The input value that was provided is not valid.
   467  //
   468  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/BatchGetReports
   469  func (c *CodeBuild) BatchGetReports(input *BatchGetReportsInput) (*BatchGetReportsOutput, error) {
   470  	req, out := c.BatchGetReportsRequest(input)
   471  	return out, req.Send()
   472  }
   473  
   474  // BatchGetReportsWithContext is the same as BatchGetReports with the addition of
   475  // the ability to pass a context and additional request options.
   476  //
   477  // See BatchGetReports for details on how to use this API operation.
   478  //
   479  // The context must be non-nil and will be used for request cancellation. If
   480  // the context is nil a panic will occur. In the future the SDK may create
   481  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   482  // for more information on using Contexts.
   483  func (c *CodeBuild) BatchGetReportsWithContext(ctx aws.Context, input *BatchGetReportsInput, opts ...request.Option) (*BatchGetReportsOutput, error) {
   484  	req, out := c.BatchGetReportsRequest(input)
   485  	req.SetContext(ctx)
   486  	req.ApplyOptions(opts...)
   487  	return out, req.Send()
   488  }
   489  
   490  const opCreateProject = "CreateProject"
   491  
   492  // CreateProjectRequest generates a "aws/request.Request" representing the
   493  // client's request for the CreateProject operation. The "output" return
   494  // value will be populated with the request's response once the request completes
   495  // successfully.
   496  //
   497  // Use "Send" method on the returned Request to send the API call to the service.
   498  // the "output" return value is not valid until after Send returns without error.
   499  //
   500  // See CreateProject for more information on using the CreateProject
   501  // API call, and error handling.
   502  //
   503  // This method is useful when you want to inject custom logic or configuration
   504  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   505  //
   506  //
   507  //    // Example sending a request using the CreateProjectRequest method.
   508  //    req, resp := client.CreateProjectRequest(params)
   509  //
   510  //    err := req.Send()
   511  //    if err == nil { // resp is now filled
   512  //        fmt.Println(resp)
   513  //    }
   514  //
   515  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateProject
   516  func (c *CodeBuild) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) {
   517  	op := &request.Operation{
   518  		Name:       opCreateProject,
   519  		HTTPMethod: "POST",
   520  		HTTPPath:   "/",
   521  	}
   522  
   523  	if input == nil {
   524  		input = &CreateProjectInput{}
   525  	}
   526  
   527  	output = &CreateProjectOutput{}
   528  	req = c.newRequest(op, input, output)
   529  	return
   530  }
   531  
   532  // CreateProject API operation for AWS CodeBuild.
   533  //
   534  // Creates a build project.
   535  //
   536  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   537  // with awserr.Error's Code and Message methods to get detailed information about
   538  // the error.
   539  //
   540  // See the AWS API reference guide for AWS CodeBuild's
   541  // API operation CreateProject for usage and error information.
   542  //
   543  // Returned Error Types:
   544  //   * InvalidInputException
   545  //   The input value that was provided is not valid.
   546  //
   547  //   * ResourceAlreadyExistsException
   548  //   The specified Amazon Web Services resource cannot be created, because an
   549  //   Amazon Web Services resource with the same settings already exists.
   550  //
   551  //   * AccountLimitExceededException
   552  //   An Amazon Web Services service limit was exceeded for the calling Amazon
   553  //   Web Services account.
   554  //
   555  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateProject
   556  func (c *CodeBuild) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) {
   557  	req, out := c.CreateProjectRequest(input)
   558  	return out, req.Send()
   559  }
   560  
   561  // CreateProjectWithContext is the same as CreateProject with the addition of
   562  // the ability to pass a context and additional request options.
   563  //
   564  // See CreateProject for details on how to use this API operation.
   565  //
   566  // The context must be non-nil and will be used for request cancellation. If
   567  // the context is nil a panic will occur. In the future the SDK may create
   568  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   569  // for more information on using Contexts.
   570  func (c *CodeBuild) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) {
   571  	req, out := c.CreateProjectRequest(input)
   572  	req.SetContext(ctx)
   573  	req.ApplyOptions(opts...)
   574  	return out, req.Send()
   575  }
   576  
   577  const opCreateReportGroup = "CreateReportGroup"
   578  
   579  // CreateReportGroupRequest generates a "aws/request.Request" representing the
   580  // client's request for the CreateReportGroup operation. The "output" return
   581  // value will be populated with the request's response once the request completes
   582  // successfully.
   583  //
   584  // Use "Send" method on the returned Request to send the API call to the service.
   585  // the "output" return value is not valid until after Send returns without error.
   586  //
   587  // See CreateReportGroup for more information on using the CreateReportGroup
   588  // API call, and error handling.
   589  //
   590  // This method is useful when you want to inject custom logic or configuration
   591  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   592  //
   593  //
   594  //    // Example sending a request using the CreateReportGroupRequest method.
   595  //    req, resp := client.CreateReportGroupRequest(params)
   596  //
   597  //    err := req.Send()
   598  //    if err == nil { // resp is now filled
   599  //        fmt.Println(resp)
   600  //    }
   601  //
   602  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateReportGroup
   603  func (c *CodeBuild) CreateReportGroupRequest(input *CreateReportGroupInput) (req *request.Request, output *CreateReportGroupOutput) {
   604  	op := &request.Operation{
   605  		Name:       opCreateReportGroup,
   606  		HTTPMethod: "POST",
   607  		HTTPPath:   "/",
   608  	}
   609  
   610  	if input == nil {
   611  		input = &CreateReportGroupInput{}
   612  	}
   613  
   614  	output = &CreateReportGroupOutput{}
   615  	req = c.newRequest(op, input, output)
   616  	return
   617  }
   618  
   619  // CreateReportGroup API operation for AWS CodeBuild.
   620  //
   621  // Creates a report group. A report group contains a collection of reports.
   622  //
   623  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   624  // with awserr.Error's Code and Message methods to get detailed information about
   625  // the error.
   626  //
   627  // See the AWS API reference guide for AWS CodeBuild's
   628  // API operation CreateReportGroup for usage and error information.
   629  //
   630  // Returned Error Types:
   631  //   * InvalidInputException
   632  //   The input value that was provided is not valid.
   633  //
   634  //   * ResourceAlreadyExistsException
   635  //   The specified Amazon Web Services resource cannot be created, because an
   636  //   Amazon Web Services resource with the same settings already exists.
   637  //
   638  //   * AccountLimitExceededException
   639  //   An Amazon Web Services service limit was exceeded for the calling Amazon
   640  //   Web Services account.
   641  //
   642  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateReportGroup
   643  func (c *CodeBuild) CreateReportGroup(input *CreateReportGroupInput) (*CreateReportGroupOutput, error) {
   644  	req, out := c.CreateReportGroupRequest(input)
   645  	return out, req.Send()
   646  }
   647  
   648  // CreateReportGroupWithContext is the same as CreateReportGroup with the addition of
   649  // the ability to pass a context and additional request options.
   650  //
   651  // See CreateReportGroup for details on how to use this API operation.
   652  //
   653  // The context must be non-nil and will be used for request cancellation. If
   654  // the context is nil a panic will occur. In the future the SDK may create
   655  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   656  // for more information on using Contexts.
   657  func (c *CodeBuild) CreateReportGroupWithContext(ctx aws.Context, input *CreateReportGroupInput, opts ...request.Option) (*CreateReportGroupOutput, error) {
   658  	req, out := c.CreateReportGroupRequest(input)
   659  	req.SetContext(ctx)
   660  	req.ApplyOptions(opts...)
   661  	return out, req.Send()
   662  }
   663  
   664  const opCreateWebhook = "CreateWebhook"
   665  
   666  // CreateWebhookRequest generates a "aws/request.Request" representing the
   667  // client's request for the CreateWebhook operation. The "output" return
   668  // value will be populated with the request's response once the request completes
   669  // successfully.
   670  //
   671  // Use "Send" method on the returned Request to send the API call to the service.
   672  // the "output" return value is not valid until after Send returns without error.
   673  //
   674  // See CreateWebhook for more information on using the CreateWebhook
   675  // API call, and error handling.
   676  //
   677  // This method is useful when you want to inject custom logic or configuration
   678  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   679  //
   680  //
   681  //    // Example sending a request using the CreateWebhookRequest method.
   682  //    req, resp := client.CreateWebhookRequest(params)
   683  //
   684  //    err := req.Send()
   685  //    if err == nil { // resp is now filled
   686  //        fmt.Println(resp)
   687  //    }
   688  //
   689  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateWebhook
   690  func (c *CodeBuild) CreateWebhookRequest(input *CreateWebhookInput) (req *request.Request, output *CreateWebhookOutput) {
   691  	op := &request.Operation{
   692  		Name:       opCreateWebhook,
   693  		HTTPMethod: "POST",
   694  		HTTPPath:   "/",
   695  	}
   696  
   697  	if input == nil {
   698  		input = &CreateWebhookInput{}
   699  	}
   700  
   701  	output = &CreateWebhookOutput{}
   702  	req = c.newRequest(op, input, output)
   703  	return
   704  }
   705  
   706  // CreateWebhook API operation for AWS CodeBuild.
   707  //
   708  // For an existing CodeBuild build project that has its source code stored in
   709  // a GitHub or Bitbucket repository, enables CodeBuild to start rebuilding the
   710  // source code every time a code change is pushed to the repository.
   711  //
   712  // If you enable webhooks for an CodeBuild project, and the project is used
   713  // as a build step in CodePipeline, then two identical builds are created for
   714  // each commit. One build is triggered through webhooks, and one through CodePipeline.
   715  // Because billing is on a per-build basis, you are billed for both builds.
   716  // Therefore, if you are using CodePipeline, we recommend that you disable webhooks
   717  // in CodeBuild. In the CodeBuild console, clear the Webhook box. For more information,
   718  // see step 5 in Change a Build Project's Settings (https://docs.aws.amazon.com/codebuild/latest/userguide/change-project.html#change-project-console).
   719  //
   720  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   721  // with awserr.Error's Code and Message methods to get detailed information about
   722  // the error.
   723  //
   724  // See the AWS API reference guide for AWS CodeBuild's
   725  // API operation CreateWebhook for usage and error information.
   726  //
   727  // Returned Error Types:
   728  //   * InvalidInputException
   729  //   The input value that was provided is not valid.
   730  //
   731  //   * OAuthProviderException
   732  //   There was a problem with the underlying OAuth provider.
   733  //
   734  //   * ResourceAlreadyExistsException
   735  //   The specified Amazon Web Services resource cannot be created, because an
   736  //   Amazon Web Services resource with the same settings already exists.
   737  //
   738  //   * ResourceNotFoundException
   739  //   The specified Amazon Web Services resource cannot be found.
   740  //
   741  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/CreateWebhook
   742  func (c *CodeBuild) CreateWebhook(input *CreateWebhookInput) (*CreateWebhookOutput, error) {
   743  	req, out := c.CreateWebhookRequest(input)
   744  	return out, req.Send()
   745  }
   746  
   747  // CreateWebhookWithContext is the same as CreateWebhook with the addition of
   748  // the ability to pass a context and additional request options.
   749  //
   750  // See CreateWebhook for details on how to use this API operation.
   751  //
   752  // The context must be non-nil and will be used for request cancellation. If
   753  // the context is nil a panic will occur. In the future the SDK may create
   754  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   755  // for more information on using Contexts.
   756  func (c *CodeBuild) CreateWebhookWithContext(ctx aws.Context, input *CreateWebhookInput, opts ...request.Option) (*CreateWebhookOutput, error) {
   757  	req, out := c.CreateWebhookRequest(input)
   758  	req.SetContext(ctx)
   759  	req.ApplyOptions(opts...)
   760  	return out, req.Send()
   761  }
   762  
   763  const opDeleteBuildBatch = "DeleteBuildBatch"
   764  
   765  // DeleteBuildBatchRequest generates a "aws/request.Request" representing the
   766  // client's request for the DeleteBuildBatch operation. The "output" return
   767  // value will be populated with the request's response once the request completes
   768  // successfully.
   769  //
   770  // Use "Send" method on the returned Request to send the API call to the service.
   771  // the "output" return value is not valid until after Send returns without error.
   772  //
   773  // See DeleteBuildBatch for more information on using the DeleteBuildBatch
   774  // API call, and error handling.
   775  //
   776  // This method is useful when you want to inject custom logic or configuration
   777  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   778  //
   779  //
   780  //    // Example sending a request using the DeleteBuildBatchRequest method.
   781  //    req, resp := client.DeleteBuildBatchRequest(params)
   782  //
   783  //    err := req.Send()
   784  //    if err == nil { // resp is now filled
   785  //        fmt.Println(resp)
   786  //    }
   787  //
   788  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteBuildBatch
   789  func (c *CodeBuild) DeleteBuildBatchRequest(input *DeleteBuildBatchInput) (req *request.Request, output *DeleteBuildBatchOutput) {
   790  	op := &request.Operation{
   791  		Name:       opDeleteBuildBatch,
   792  		HTTPMethod: "POST",
   793  		HTTPPath:   "/",
   794  	}
   795  
   796  	if input == nil {
   797  		input = &DeleteBuildBatchInput{}
   798  	}
   799  
   800  	output = &DeleteBuildBatchOutput{}
   801  	req = c.newRequest(op, input, output)
   802  	return
   803  }
   804  
   805  // DeleteBuildBatch API operation for AWS CodeBuild.
   806  //
   807  // Deletes a batch build.
   808  //
   809  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   810  // with awserr.Error's Code and Message methods to get detailed information about
   811  // the error.
   812  //
   813  // See the AWS API reference guide for AWS CodeBuild's
   814  // API operation DeleteBuildBatch for usage and error information.
   815  //
   816  // Returned Error Types:
   817  //   * InvalidInputException
   818  //   The input value that was provided is not valid.
   819  //
   820  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteBuildBatch
   821  func (c *CodeBuild) DeleteBuildBatch(input *DeleteBuildBatchInput) (*DeleteBuildBatchOutput, error) {
   822  	req, out := c.DeleteBuildBatchRequest(input)
   823  	return out, req.Send()
   824  }
   825  
   826  // DeleteBuildBatchWithContext is the same as DeleteBuildBatch with the addition of
   827  // the ability to pass a context and additional request options.
   828  //
   829  // See DeleteBuildBatch for details on how to use this API operation.
   830  //
   831  // The context must be non-nil and will be used for request cancellation. If
   832  // the context is nil a panic will occur. In the future the SDK may create
   833  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   834  // for more information on using Contexts.
   835  func (c *CodeBuild) DeleteBuildBatchWithContext(ctx aws.Context, input *DeleteBuildBatchInput, opts ...request.Option) (*DeleteBuildBatchOutput, error) {
   836  	req, out := c.DeleteBuildBatchRequest(input)
   837  	req.SetContext(ctx)
   838  	req.ApplyOptions(opts...)
   839  	return out, req.Send()
   840  }
   841  
   842  const opDeleteProject = "DeleteProject"
   843  
   844  // DeleteProjectRequest generates a "aws/request.Request" representing the
   845  // client's request for the DeleteProject operation. The "output" return
   846  // value will be populated with the request's response once the request completes
   847  // successfully.
   848  //
   849  // Use "Send" method on the returned Request to send the API call to the service.
   850  // the "output" return value is not valid until after Send returns without error.
   851  //
   852  // See DeleteProject for more information on using the DeleteProject
   853  // API call, and error handling.
   854  //
   855  // This method is useful when you want to inject custom logic or configuration
   856  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   857  //
   858  //
   859  //    // Example sending a request using the DeleteProjectRequest method.
   860  //    req, resp := client.DeleteProjectRequest(params)
   861  //
   862  //    err := req.Send()
   863  //    if err == nil { // resp is now filled
   864  //        fmt.Println(resp)
   865  //    }
   866  //
   867  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteProject
   868  func (c *CodeBuild) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
   869  	op := &request.Operation{
   870  		Name:       opDeleteProject,
   871  		HTTPMethod: "POST",
   872  		HTTPPath:   "/",
   873  	}
   874  
   875  	if input == nil {
   876  		input = &DeleteProjectInput{}
   877  	}
   878  
   879  	output = &DeleteProjectOutput{}
   880  	req = c.newRequest(op, input, output)
   881  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   882  	return
   883  }
   884  
   885  // DeleteProject API operation for AWS CodeBuild.
   886  //
   887  // Deletes a build project. When you delete a project, its builds are not deleted.
   888  //
   889  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   890  // with awserr.Error's Code and Message methods to get detailed information about
   891  // the error.
   892  //
   893  // See the AWS API reference guide for AWS CodeBuild's
   894  // API operation DeleteProject for usage and error information.
   895  //
   896  // Returned Error Types:
   897  //   * InvalidInputException
   898  //   The input value that was provided is not valid.
   899  //
   900  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteProject
   901  func (c *CodeBuild) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
   902  	req, out := c.DeleteProjectRequest(input)
   903  	return out, req.Send()
   904  }
   905  
   906  // DeleteProjectWithContext is the same as DeleteProject with the addition of
   907  // the ability to pass a context and additional request options.
   908  //
   909  // See DeleteProject for details on how to use this API operation.
   910  //
   911  // The context must be non-nil and will be used for request cancellation. If
   912  // the context is nil a panic will occur. In the future the SDK may create
   913  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   914  // for more information on using Contexts.
   915  func (c *CodeBuild) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
   916  	req, out := c.DeleteProjectRequest(input)
   917  	req.SetContext(ctx)
   918  	req.ApplyOptions(opts...)
   919  	return out, req.Send()
   920  }
   921  
   922  const opDeleteReport = "DeleteReport"
   923  
   924  // DeleteReportRequest generates a "aws/request.Request" representing the
   925  // client's request for the DeleteReport operation. The "output" return
   926  // value will be populated with the request's response once the request completes
   927  // successfully.
   928  //
   929  // Use "Send" method on the returned Request to send the API call to the service.
   930  // the "output" return value is not valid until after Send returns without error.
   931  //
   932  // See DeleteReport for more information on using the DeleteReport
   933  // API call, and error handling.
   934  //
   935  // This method is useful when you want to inject custom logic or configuration
   936  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   937  //
   938  //
   939  //    // Example sending a request using the DeleteReportRequest method.
   940  //    req, resp := client.DeleteReportRequest(params)
   941  //
   942  //    err := req.Send()
   943  //    if err == nil { // resp is now filled
   944  //        fmt.Println(resp)
   945  //    }
   946  //
   947  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReport
   948  func (c *CodeBuild) DeleteReportRequest(input *DeleteReportInput) (req *request.Request, output *DeleteReportOutput) {
   949  	op := &request.Operation{
   950  		Name:       opDeleteReport,
   951  		HTTPMethod: "POST",
   952  		HTTPPath:   "/",
   953  	}
   954  
   955  	if input == nil {
   956  		input = &DeleteReportInput{}
   957  	}
   958  
   959  	output = &DeleteReportOutput{}
   960  	req = c.newRequest(op, input, output)
   961  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   962  	return
   963  }
   964  
   965  // DeleteReport API operation for AWS CodeBuild.
   966  //
   967  // Deletes a report.
   968  //
   969  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   970  // with awserr.Error's Code and Message methods to get detailed information about
   971  // the error.
   972  //
   973  // See the AWS API reference guide for AWS CodeBuild's
   974  // API operation DeleteReport for usage and error information.
   975  //
   976  // Returned Error Types:
   977  //   * InvalidInputException
   978  //   The input value that was provided is not valid.
   979  //
   980  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReport
   981  func (c *CodeBuild) DeleteReport(input *DeleteReportInput) (*DeleteReportOutput, error) {
   982  	req, out := c.DeleteReportRequest(input)
   983  	return out, req.Send()
   984  }
   985  
   986  // DeleteReportWithContext is the same as DeleteReport with the addition of
   987  // the ability to pass a context and additional request options.
   988  //
   989  // See DeleteReport for details on how to use this API operation.
   990  //
   991  // The context must be non-nil and will be used for request cancellation. If
   992  // the context is nil a panic will occur. In the future the SDK may create
   993  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   994  // for more information on using Contexts.
   995  func (c *CodeBuild) DeleteReportWithContext(ctx aws.Context, input *DeleteReportInput, opts ...request.Option) (*DeleteReportOutput, error) {
   996  	req, out := c.DeleteReportRequest(input)
   997  	req.SetContext(ctx)
   998  	req.ApplyOptions(opts...)
   999  	return out, req.Send()
  1000  }
  1001  
  1002  const opDeleteReportGroup = "DeleteReportGroup"
  1003  
  1004  // DeleteReportGroupRequest generates a "aws/request.Request" representing the
  1005  // client's request for the DeleteReportGroup operation. The "output" return
  1006  // value will be populated with the request's response once the request completes
  1007  // successfully.
  1008  //
  1009  // Use "Send" method on the returned Request to send the API call to the service.
  1010  // the "output" return value is not valid until after Send returns without error.
  1011  //
  1012  // See DeleteReportGroup for more information on using the DeleteReportGroup
  1013  // API call, and error handling.
  1014  //
  1015  // This method is useful when you want to inject custom logic or configuration
  1016  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1017  //
  1018  //
  1019  //    // Example sending a request using the DeleteReportGroupRequest method.
  1020  //    req, resp := client.DeleteReportGroupRequest(params)
  1021  //
  1022  //    err := req.Send()
  1023  //    if err == nil { // resp is now filled
  1024  //        fmt.Println(resp)
  1025  //    }
  1026  //
  1027  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReportGroup
  1028  func (c *CodeBuild) DeleteReportGroupRequest(input *DeleteReportGroupInput) (req *request.Request, output *DeleteReportGroupOutput) {
  1029  	op := &request.Operation{
  1030  		Name:       opDeleteReportGroup,
  1031  		HTTPMethod: "POST",
  1032  		HTTPPath:   "/",
  1033  	}
  1034  
  1035  	if input == nil {
  1036  		input = &DeleteReportGroupInput{}
  1037  	}
  1038  
  1039  	output = &DeleteReportGroupOutput{}
  1040  	req = c.newRequest(op, input, output)
  1041  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1042  	return
  1043  }
  1044  
  1045  // DeleteReportGroup API operation for AWS CodeBuild.
  1046  //
  1047  // Deletes a report group. Before you delete a report group, you must delete
  1048  // its reports.
  1049  //
  1050  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1051  // with awserr.Error's Code and Message methods to get detailed information about
  1052  // the error.
  1053  //
  1054  // See the AWS API reference guide for AWS CodeBuild's
  1055  // API operation DeleteReportGroup for usage and error information.
  1056  //
  1057  // Returned Error Types:
  1058  //   * InvalidInputException
  1059  //   The input value that was provided is not valid.
  1060  //
  1061  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteReportGroup
  1062  func (c *CodeBuild) DeleteReportGroup(input *DeleteReportGroupInput) (*DeleteReportGroupOutput, error) {
  1063  	req, out := c.DeleteReportGroupRequest(input)
  1064  	return out, req.Send()
  1065  }
  1066  
  1067  // DeleteReportGroupWithContext is the same as DeleteReportGroup with the addition of
  1068  // the ability to pass a context and additional request options.
  1069  //
  1070  // See DeleteReportGroup for details on how to use this API operation.
  1071  //
  1072  // The context must be non-nil and will be used for request cancellation. If
  1073  // the context is nil a panic will occur. In the future the SDK may create
  1074  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1075  // for more information on using Contexts.
  1076  func (c *CodeBuild) DeleteReportGroupWithContext(ctx aws.Context, input *DeleteReportGroupInput, opts ...request.Option) (*DeleteReportGroupOutput, error) {
  1077  	req, out := c.DeleteReportGroupRequest(input)
  1078  	req.SetContext(ctx)
  1079  	req.ApplyOptions(opts...)
  1080  	return out, req.Send()
  1081  }
  1082  
  1083  const opDeleteResourcePolicy = "DeleteResourcePolicy"
  1084  
  1085  // DeleteResourcePolicyRequest generates a "aws/request.Request" representing the
  1086  // client's request for the DeleteResourcePolicy operation. The "output" return
  1087  // value will be populated with the request's response once the request completes
  1088  // successfully.
  1089  //
  1090  // Use "Send" method on the returned Request to send the API call to the service.
  1091  // the "output" return value is not valid until after Send returns without error.
  1092  //
  1093  // See DeleteResourcePolicy for more information on using the DeleteResourcePolicy
  1094  // API call, and error handling.
  1095  //
  1096  // This method is useful when you want to inject custom logic or configuration
  1097  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1098  //
  1099  //
  1100  //    // Example sending a request using the DeleteResourcePolicyRequest method.
  1101  //    req, resp := client.DeleteResourcePolicyRequest(params)
  1102  //
  1103  //    err := req.Send()
  1104  //    if err == nil { // resp is now filled
  1105  //        fmt.Println(resp)
  1106  //    }
  1107  //
  1108  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteResourcePolicy
  1109  func (c *CodeBuild) DeleteResourcePolicyRequest(input *DeleteResourcePolicyInput) (req *request.Request, output *DeleteResourcePolicyOutput) {
  1110  	op := &request.Operation{
  1111  		Name:       opDeleteResourcePolicy,
  1112  		HTTPMethod: "POST",
  1113  		HTTPPath:   "/",
  1114  	}
  1115  
  1116  	if input == nil {
  1117  		input = &DeleteResourcePolicyInput{}
  1118  	}
  1119  
  1120  	output = &DeleteResourcePolicyOutput{}
  1121  	req = c.newRequest(op, input, output)
  1122  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1123  	return
  1124  }
  1125  
  1126  // DeleteResourcePolicy API operation for AWS CodeBuild.
  1127  //
  1128  // Deletes a resource policy that is identified by its resource ARN.
  1129  //
  1130  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1131  // with awserr.Error's Code and Message methods to get detailed information about
  1132  // the error.
  1133  //
  1134  // See the AWS API reference guide for AWS CodeBuild's
  1135  // API operation DeleteResourcePolicy for usage and error information.
  1136  //
  1137  // Returned Error Types:
  1138  //   * InvalidInputException
  1139  //   The input value that was provided is not valid.
  1140  //
  1141  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteResourcePolicy
  1142  func (c *CodeBuild) DeleteResourcePolicy(input *DeleteResourcePolicyInput) (*DeleteResourcePolicyOutput, error) {
  1143  	req, out := c.DeleteResourcePolicyRequest(input)
  1144  	return out, req.Send()
  1145  }
  1146  
  1147  // DeleteResourcePolicyWithContext is the same as DeleteResourcePolicy with the addition of
  1148  // the ability to pass a context and additional request options.
  1149  //
  1150  // See DeleteResourcePolicy for details on how to use this API operation.
  1151  //
  1152  // The context must be non-nil and will be used for request cancellation. If
  1153  // the context is nil a panic will occur. In the future the SDK may create
  1154  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1155  // for more information on using Contexts.
  1156  func (c *CodeBuild) DeleteResourcePolicyWithContext(ctx aws.Context, input *DeleteResourcePolicyInput, opts ...request.Option) (*DeleteResourcePolicyOutput, error) {
  1157  	req, out := c.DeleteResourcePolicyRequest(input)
  1158  	req.SetContext(ctx)
  1159  	req.ApplyOptions(opts...)
  1160  	return out, req.Send()
  1161  }
  1162  
  1163  const opDeleteSourceCredentials = "DeleteSourceCredentials"
  1164  
  1165  // DeleteSourceCredentialsRequest generates a "aws/request.Request" representing the
  1166  // client's request for the DeleteSourceCredentials operation. The "output" return
  1167  // value will be populated with the request's response once the request completes
  1168  // successfully.
  1169  //
  1170  // Use "Send" method on the returned Request to send the API call to the service.
  1171  // the "output" return value is not valid until after Send returns without error.
  1172  //
  1173  // See DeleteSourceCredentials for more information on using the DeleteSourceCredentials
  1174  // API call, and error handling.
  1175  //
  1176  // This method is useful when you want to inject custom logic or configuration
  1177  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1178  //
  1179  //
  1180  //    // Example sending a request using the DeleteSourceCredentialsRequest method.
  1181  //    req, resp := client.DeleteSourceCredentialsRequest(params)
  1182  //
  1183  //    err := req.Send()
  1184  //    if err == nil { // resp is now filled
  1185  //        fmt.Println(resp)
  1186  //    }
  1187  //
  1188  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteSourceCredentials
  1189  func (c *CodeBuild) DeleteSourceCredentialsRequest(input *DeleteSourceCredentialsInput) (req *request.Request, output *DeleteSourceCredentialsOutput) {
  1190  	op := &request.Operation{
  1191  		Name:       opDeleteSourceCredentials,
  1192  		HTTPMethod: "POST",
  1193  		HTTPPath:   "/",
  1194  	}
  1195  
  1196  	if input == nil {
  1197  		input = &DeleteSourceCredentialsInput{}
  1198  	}
  1199  
  1200  	output = &DeleteSourceCredentialsOutput{}
  1201  	req = c.newRequest(op, input, output)
  1202  	return
  1203  }
  1204  
  1205  // DeleteSourceCredentials API operation for AWS CodeBuild.
  1206  //
  1207  // Deletes a set of GitHub, GitHub Enterprise, or Bitbucket source credentials.
  1208  //
  1209  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1210  // with awserr.Error's Code and Message methods to get detailed information about
  1211  // the error.
  1212  //
  1213  // See the AWS API reference guide for AWS CodeBuild's
  1214  // API operation DeleteSourceCredentials for usage and error information.
  1215  //
  1216  // Returned Error Types:
  1217  //   * InvalidInputException
  1218  //   The input value that was provided is not valid.
  1219  //
  1220  //   * ResourceNotFoundException
  1221  //   The specified Amazon Web Services resource cannot be found.
  1222  //
  1223  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteSourceCredentials
  1224  func (c *CodeBuild) DeleteSourceCredentials(input *DeleteSourceCredentialsInput) (*DeleteSourceCredentialsOutput, error) {
  1225  	req, out := c.DeleteSourceCredentialsRequest(input)
  1226  	return out, req.Send()
  1227  }
  1228  
  1229  // DeleteSourceCredentialsWithContext is the same as DeleteSourceCredentials with the addition of
  1230  // the ability to pass a context and additional request options.
  1231  //
  1232  // See DeleteSourceCredentials for details on how to use this API operation.
  1233  //
  1234  // The context must be non-nil and will be used for request cancellation. If
  1235  // the context is nil a panic will occur. In the future the SDK may create
  1236  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1237  // for more information on using Contexts.
  1238  func (c *CodeBuild) DeleteSourceCredentialsWithContext(ctx aws.Context, input *DeleteSourceCredentialsInput, opts ...request.Option) (*DeleteSourceCredentialsOutput, error) {
  1239  	req, out := c.DeleteSourceCredentialsRequest(input)
  1240  	req.SetContext(ctx)
  1241  	req.ApplyOptions(opts...)
  1242  	return out, req.Send()
  1243  }
  1244  
  1245  const opDeleteWebhook = "DeleteWebhook"
  1246  
  1247  // DeleteWebhookRequest generates a "aws/request.Request" representing the
  1248  // client's request for the DeleteWebhook operation. The "output" return
  1249  // value will be populated with the request's response once the request completes
  1250  // successfully.
  1251  //
  1252  // Use "Send" method on the returned Request to send the API call to the service.
  1253  // the "output" return value is not valid until after Send returns without error.
  1254  //
  1255  // See DeleteWebhook for more information on using the DeleteWebhook
  1256  // API call, and error handling.
  1257  //
  1258  // This method is useful when you want to inject custom logic or configuration
  1259  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1260  //
  1261  //
  1262  //    // Example sending a request using the DeleteWebhookRequest method.
  1263  //    req, resp := client.DeleteWebhookRequest(params)
  1264  //
  1265  //    err := req.Send()
  1266  //    if err == nil { // resp is now filled
  1267  //        fmt.Println(resp)
  1268  //    }
  1269  //
  1270  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook
  1271  func (c *CodeBuild) DeleteWebhookRequest(input *DeleteWebhookInput) (req *request.Request, output *DeleteWebhookOutput) {
  1272  	op := &request.Operation{
  1273  		Name:       opDeleteWebhook,
  1274  		HTTPMethod: "POST",
  1275  		HTTPPath:   "/",
  1276  	}
  1277  
  1278  	if input == nil {
  1279  		input = &DeleteWebhookInput{}
  1280  	}
  1281  
  1282  	output = &DeleteWebhookOutput{}
  1283  	req = c.newRequest(op, input, output)
  1284  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1285  	return
  1286  }
  1287  
  1288  // DeleteWebhook API operation for AWS CodeBuild.
  1289  //
  1290  // For an existing CodeBuild build project that has its source code stored in
  1291  // a GitHub or Bitbucket repository, stops CodeBuild from rebuilding the source
  1292  // code every time a code change is pushed to the repository.
  1293  //
  1294  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1295  // with awserr.Error's Code and Message methods to get detailed information about
  1296  // the error.
  1297  //
  1298  // See the AWS API reference guide for AWS CodeBuild's
  1299  // API operation DeleteWebhook for usage and error information.
  1300  //
  1301  // Returned Error Types:
  1302  //   * InvalidInputException
  1303  //   The input value that was provided is not valid.
  1304  //
  1305  //   * ResourceNotFoundException
  1306  //   The specified Amazon Web Services resource cannot be found.
  1307  //
  1308  //   * OAuthProviderException
  1309  //   There was a problem with the underlying OAuth provider.
  1310  //
  1311  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DeleteWebhook
  1312  func (c *CodeBuild) DeleteWebhook(input *DeleteWebhookInput) (*DeleteWebhookOutput, error) {
  1313  	req, out := c.DeleteWebhookRequest(input)
  1314  	return out, req.Send()
  1315  }
  1316  
  1317  // DeleteWebhookWithContext is the same as DeleteWebhook with the addition of
  1318  // the ability to pass a context and additional request options.
  1319  //
  1320  // See DeleteWebhook for details on how to use this API operation.
  1321  //
  1322  // The context must be non-nil and will be used for request cancellation. If
  1323  // the context is nil a panic will occur. In the future the SDK may create
  1324  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1325  // for more information on using Contexts.
  1326  func (c *CodeBuild) DeleteWebhookWithContext(ctx aws.Context, input *DeleteWebhookInput, opts ...request.Option) (*DeleteWebhookOutput, error) {
  1327  	req, out := c.DeleteWebhookRequest(input)
  1328  	req.SetContext(ctx)
  1329  	req.ApplyOptions(opts...)
  1330  	return out, req.Send()
  1331  }
  1332  
  1333  const opDescribeCodeCoverages = "DescribeCodeCoverages"
  1334  
  1335  // DescribeCodeCoveragesRequest generates a "aws/request.Request" representing the
  1336  // client's request for the DescribeCodeCoverages operation. The "output" return
  1337  // value will be populated with the request's response once the request completes
  1338  // successfully.
  1339  //
  1340  // Use "Send" method on the returned Request to send the API call to the service.
  1341  // the "output" return value is not valid until after Send returns without error.
  1342  //
  1343  // See DescribeCodeCoverages for more information on using the DescribeCodeCoverages
  1344  // API call, and error handling.
  1345  //
  1346  // This method is useful when you want to inject custom logic or configuration
  1347  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1348  //
  1349  //
  1350  //    // Example sending a request using the DescribeCodeCoveragesRequest method.
  1351  //    req, resp := client.DescribeCodeCoveragesRequest(params)
  1352  //
  1353  //    err := req.Send()
  1354  //    if err == nil { // resp is now filled
  1355  //        fmt.Println(resp)
  1356  //    }
  1357  //
  1358  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DescribeCodeCoverages
  1359  func (c *CodeBuild) DescribeCodeCoveragesRequest(input *DescribeCodeCoveragesInput) (req *request.Request, output *DescribeCodeCoveragesOutput) {
  1360  	op := &request.Operation{
  1361  		Name:       opDescribeCodeCoverages,
  1362  		HTTPMethod: "POST",
  1363  		HTTPPath:   "/",
  1364  		Paginator: &request.Paginator{
  1365  			InputTokens:     []string{"nextToken"},
  1366  			OutputTokens:    []string{"nextToken"},
  1367  			LimitToken:      "maxResults",
  1368  			TruncationToken: "",
  1369  		},
  1370  	}
  1371  
  1372  	if input == nil {
  1373  		input = &DescribeCodeCoveragesInput{}
  1374  	}
  1375  
  1376  	output = &DescribeCodeCoveragesOutput{}
  1377  	req = c.newRequest(op, input, output)
  1378  	return
  1379  }
  1380  
  1381  // DescribeCodeCoverages API operation for AWS CodeBuild.
  1382  //
  1383  // Retrieves one or more code coverage reports.
  1384  //
  1385  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1386  // with awserr.Error's Code and Message methods to get detailed information about
  1387  // the error.
  1388  //
  1389  // See the AWS API reference guide for AWS CodeBuild's
  1390  // API operation DescribeCodeCoverages for usage and error information.
  1391  //
  1392  // Returned Error Types:
  1393  //   * InvalidInputException
  1394  //   The input value that was provided is not valid.
  1395  //
  1396  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DescribeCodeCoverages
  1397  func (c *CodeBuild) DescribeCodeCoverages(input *DescribeCodeCoveragesInput) (*DescribeCodeCoveragesOutput, error) {
  1398  	req, out := c.DescribeCodeCoveragesRequest(input)
  1399  	return out, req.Send()
  1400  }
  1401  
  1402  // DescribeCodeCoveragesWithContext is the same as DescribeCodeCoverages with the addition of
  1403  // the ability to pass a context and additional request options.
  1404  //
  1405  // See DescribeCodeCoverages for details on how to use this API operation.
  1406  //
  1407  // The context must be non-nil and will be used for request cancellation. If
  1408  // the context is nil a panic will occur. In the future the SDK may create
  1409  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1410  // for more information on using Contexts.
  1411  func (c *CodeBuild) DescribeCodeCoveragesWithContext(ctx aws.Context, input *DescribeCodeCoveragesInput, opts ...request.Option) (*DescribeCodeCoveragesOutput, error) {
  1412  	req, out := c.DescribeCodeCoveragesRequest(input)
  1413  	req.SetContext(ctx)
  1414  	req.ApplyOptions(opts...)
  1415  	return out, req.Send()
  1416  }
  1417  
  1418  // DescribeCodeCoveragesPages iterates over the pages of a DescribeCodeCoverages operation,
  1419  // calling the "fn" function with the response data for each page. To stop
  1420  // iterating, return false from the fn function.
  1421  //
  1422  // See DescribeCodeCoverages method for more information on how to use this operation.
  1423  //
  1424  // Note: This operation can generate multiple requests to a service.
  1425  //
  1426  //    // Example iterating over at most 3 pages of a DescribeCodeCoverages operation.
  1427  //    pageNum := 0
  1428  //    err := client.DescribeCodeCoveragesPages(params,
  1429  //        func(page *codebuild.DescribeCodeCoveragesOutput, lastPage bool) bool {
  1430  //            pageNum++
  1431  //            fmt.Println(page)
  1432  //            return pageNum <= 3
  1433  //        })
  1434  //
  1435  func (c *CodeBuild) DescribeCodeCoveragesPages(input *DescribeCodeCoveragesInput, fn func(*DescribeCodeCoveragesOutput, bool) bool) error {
  1436  	return c.DescribeCodeCoveragesPagesWithContext(aws.BackgroundContext(), input, fn)
  1437  }
  1438  
  1439  // DescribeCodeCoveragesPagesWithContext same as DescribeCodeCoveragesPages except
  1440  // it takes a Context and allows setting request options on the pages.
  1441  //
  1442  // The context must be non-nil and will be used for request cancellation. If
  1443  // the context is nil a panic will occur. In the future the SDK may create
  1444  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1445  // for more information on using Contexts.
  1446  func (c *CodeBuild) DescribeCodeCoveragesPagesWithContext(ctx aws.Context, input *DescribeCodeCoveragesInput, fn func(*DescribeCodeCoveragesOutput, bool) bool, opts ...request.Option) error {
  1447  	p := request.Pagination{
  1448  		NewRequest: func() (*request.Request, error) {
  1449  			var inCpy *DescribeCodeCoveragesInput
  1450  			if input != nil {
  1451  				tmp := *input
  1452  				inCpy = &tmp
  1453  			}
  1454  			req, _ := c.DescribeCodeCoveragesRequest(inCpy)
  1455  			req.SetContext(ctx)
  1456  			req.ApplyOptions(opts...)
  1457  			return req, nil
  1458  		},
  1459  	}
  1460  
  1461  	for p.Next() {
  1462  		if !fn(p.Page().(*DescribeCodeCoveragesOutput), !p.HasNextPage()) {
  1463  			break
  1464  		}
  1465  	}
  1466  
  1467  	return p.Err()
  1468  }
  1469  
  1470  const opDescribeTestCases = "DescribeTestCases"
  1471  
  1472  // DescribeTestCasesRequest generates a "aws/request.Request" representing the
  1473  // client's request for the DescribeTestCases operation. The "output" return
  1474  // value will be populated with the request's response once the request completes
  1475  // successfully.
  1476  //
  1477  // Use "Send" method on the returned Request to send the API call to the service.
  1478  // the "output" return value is not valid until after Send returns without error.
  1479  //
  1480  // See DescribeTestCases for more information on using the DescribeTestCases
  1481  // API call, and error handling.
  1482  //
  1483  // This method is useful when you want to inject custom logic or configuration
  1484  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1485  //
  1486  //
  1487  //    // Example sending a request using the DescribeTestCasesRequest method.
  1488  //    req, resp := client.DescribeTestCasesRequest(params)
  1489  //
  1490  //    err := req.Send()
  1491  //    if err == nil { // resp is now filled
  1492  //        fmt.Println(resp)
  1493  //    }
  1494  //
  1495  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DescribeTestCases
  1496  func (c *CodeBuild) DescribeTestCasesRequest(input *DescribeTestCasesInput) (req *request.Request, output *DescribeTestCasesOutput) {
  1497  	op := &request.Operation{
  1498  		Name:       opDescribeTestCases,
  1499  		HTTPMethod: "POST",
  1500  		HTTPPath:   "/",
  1501  		Paginator: &request.Paginator{
  1502  			InputTokens:     []string{"nextToken"},
  1503  			OutputTokens:    []string{"nextToken"},
  1504  			LimitToken:      "maxResults",
  1505  			TruncationToken: "",
  1506  		},
  1507  	}
  1508  
  1509  	if input == nil {
  1510  		input = &DescribeTestCasesInput{}
  1511  	}
  1512  
  1513  	output = &DescribeTestCasesOutput{}
  1514  	req = c.newRequest(op, input, output)
  1515  	return
  1516  }
  1517  
  1518  // DescribeTestCases API operation for AWS CodeBuild.
  1519  //
  1520  // Returns a list of details about test cases for a report.
  1521  //
  1522  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1523  // with awserr.Error's Code and Message methods to get detailed information about
  1524  // the error.
  1525  //
  1526  // See the AWS API reference guide for AWS CodeBuild's
  1527  // API operation DescribeTestCases for usage and error information.
  1528  //
  1529  // Returned Error Types:
  1530  //   * InvalidInputException
  1531  //   The input value that was provided is not valid.
  1532  //
  1533  //   * ResourceNotFoundException
  1534  //   The specified Amazon Web Services resource cannot be found.
  1535  //
  1536  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/DescribeTestCases
  1537  func (c *CodeBuild) DescribeTestCases(input *DescribeTestCasesInput) (*DescribeTestCasesOutput, error) {
  1538  	req, out := c.DescribeTestCasesRequest(input)
  1539  	return out, req.Send()
  1540  }
  1541  
  1542  // DescribeTestCasesWithContext is the same as DescribeTestCases with the addition of
  1543  // the ability to pass a context and additional request options.
  1544  //
  1545  // See DescribeTestCases for details on how to use this API operation.
  1546  //
  1547  // The context must be non-nil and will be used for request cancellation. If
  1548  // the context is nil a panic will occur. In the future the SDK may create
  1549  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1550  // for more information on using Contexts.
  1551  func (c *CodeBuild) DescribeTestCasesWithContext(ctx aws.Context, input *DescribeTestCasesInput, opts ...request.Option) (*DescribeTestCasesOutput, error) {
  1552  	req, out := c.DescribeTestCasesRequest(input)
  1553  	req.SetContext(ctx)
  1554  	req.ApplyOptions(opts...)
  1555  	return out, req.Send()
  1556  }
  1557  
  1558  // DescribeTestCasesPages iterates over the pages of a DescribeTestCases operation,
  1559  // calling the "fn" function with the response data for each page. To stop
  1560  // iterating, return false from the fn function.
  1561  //
  1562  // See DescribeTestCases method for more information on how to use this operation.
  1563  //
  1564  // Note: This operation can generate multiple requests to a service.
  1565  //
  1566  //    // Example iterating over at most 3 pages of a DescribeTestCases operation.
  1567  //    pageNum := 0
  1568  //    err := client.DescribeTestCasesPages(params,
  1569  //        func(page *codebuild.DescribeTestCasesOutput, lastPage bool) bool {
  1570  //            pageNum++
  1571  //            fmt.Println(page)
  1572  //            return pageNum <= 3
  1573  //        })
  1574  //
  1575  func (c *CodeBuild) DescribeTestCasesPages(input *DescribeTestCasesInput, fn func(*DescribeTestCasesOutput, bool) bool) error {
  1576  	return c.DescribeTestCasesPagesWithContext(aws.BackgroundContext(), input, fn)
  1577  }
  1578  
  1579  // DescribeTestCasesPagesWithContext same as DescribeTestCasesPages except
  1580  // it takes a Context and allows setting request options on the pages.
  1581  //
  1582  // The context must be non-nil and will be used for request cancellation. If
  1583  // the context is nil a panic will occur. In the future the SDK may create
  1584  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1585  // for more information on using Contexts.
  1586  func (c *CodeBuild) DescribeTestCasesPagesWithContext(ctx aws.Context, input *DescribeTestCasesInput, fn func(*DescribeTestCasesOutput, bool) bool, opts ...request.Option) error {
  1587  	p := request.Pagination{
  1588  		NewRequest: func() (*request.Request, error) {
  1589  			var inCpy *DescribeTestCasesInput
  1590  			if input != nil {
  1591  				tmp := *input
  1592  				inCpy = &tmp
  1593  			}
  1594  			req, _ := c.DescribeTestCasesRequest(inCpy)
  1595  			req.SetContext(ctx)
  1596  			req.ApplyOptions(opts...)
  1597  			return req, nil
  1598  		},
  1599  	}
  1600  
  1601  	for p.Next() {
  1602  		if !fn(p.Page().(*DescribeTestCasesOutput), !p.HasNextPage()) {
  1603  			break
  1604  		}
  1605  	}
  1606  
  1607  	return p.Err()
  1608  }
  1609  
  1610  const opGetReportGroupTrend = "GetReportGroupTrend"
  1611  
  1612  // GetReportGroupTrendRequest generates a "aws/request.Request" representing the
  1613  // client's request for the GetReportGroupTrend operation. The "output" return
  1614  // value will be populated with the request's response once the request completes
  1615  // successfully.
  1616  //
  1617  // Use "Send" method on the returned Request to send the API call to the service.
  1618  // the "output" return value is not valid until after Send returns without error.
  1619  //
  1620  // See GetReportGroupTrend for more information on using the GetReportGroupTrend
  1621  // API call, and error handling.
  1622  //
  1623  // This method is useful when you want to inject custom logic or configuration
  1624  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1625  //
  1626  //
  1627  //    // Example sending a request using the GetReportGroupTrendRequest method.
  1628  //    req, resp := client.GetReportGroupTrendRequest(params)
  1629  //
  1630  //    err := req.Send()
  1631  //    if err == nil { // resp is now filled
  1632  //        fmt.Println(resp)
  1633  //    }
  1634  //
  1635  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/GetReportGroupTrend
  1636  func (c *CodeBuild) GetReportGroupTrendRequest(input *GetReportGroupTrendInput) (req *request.Request, output *GetReportGroupTrendOutput) {
  1637  	op := &request.Operation{
  1638  		Name:       opGetReportGroupTrend,
  1639  		HTTPMethod: "POST",
  1640  		HTTPPath:   "/",
  1641  	}
  1642  
  1643  	if input == nil {
  1644  		input = &GetReportGroupTrendInput{}
  1645  	}
  1646  
  1647  	output = &GetReportGroupTrendOutput{}
  1648  	req = c.newRequest(op, input, output)
  1649  	return
  1650  }
  1651  
  1652  // GetReportGroupTrend API operation for AWS CodeBuild.
  1653  //
  1654  // Analyzes and accumulates test report values for the specified test reports.
  1655  //
  1656  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1657  // with awserr.Error's Code and Message methods to get detailed information about
  1658  // the error.
  1659  //
  1660  // See the AWS API reference guide for AWS CodeBuild's
  1661  // API operation GetReportGroupTrend for usage and error information.
  1662  //
  1663  // Returned Error Types:
  1664  //   * InvalidInputException
  1665  //   The input value that was provided is not valid.
  1666  //
  1667  //   * ResourceNotFoundException
  1668  //   The specified Amazon Web Services resource cannot be found.
  1669  //
  1670  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/GetReportGroupTrend
  1671  func (c *CodeBuild) GetReportGroupTrend(input *GetReportGroupTrendInput) (*GetReportGroupTrendOutput, error) {
  1672  	req, out := c.GetReportGroupTrendRequest(input)
  1673  	return out, req.Send()
  1674  }
  1675  
  1676  // GetReportGroupTrendWithContext is the same as GetReportGroupTrend with the addition of
  1677  // the ability to pass a context and additional request options.
  1678  //
  1679  // See GetReportGroupTrend for details on how to use this API operation.
  1680  //
  1681  // The context must be non-nil and will be used for request cancellation. If
  1682  // the context is nil a panic will occur. In the future the SDK may create
  1683  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1684  // for more information on using Contexts.
  1685  func (c *CodeBuild) GetReportGroupTrendWithContext(ctx aws.Context, input *GetReportGroupTrendInput, opts ...request.Option) (*GetReportGroupTrendOutput, error) {
  1686  	req, out := c.GetReportGroupTrendRequest(input)
  1687  	req.SetContext(ctx)
  1688  	req.ApplyOptions(opts...)
  1689  	return out, req.Send()
  1690  }
  1691  
  1692  const opGetResourcePolicy = "GetResourcePolicy"
  1693  
  1694  // GetResourcePolicyRequest generates a "aws/request.Request" representing the
  1695  // client's request for the GetResourcePolicy operation. The "output" return
  1696  // value will be populated with the request's response once the request completes
  1697  // successfully.
  1698  //
  1699  // Use "Send" method on the returned Request to send the API call to the service.
  1700  // the "output" return value is not valid until after Send returns without error.
  1701  //
  1702  // See GetResourcePolicy for more information on using the GetResourcePolicy
  1703  // API call, and error handling.
  1704  //
  1705  // This method is useful when you want to inject custom logic or configuration
  1706  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1707  //
  1708  //
  1709  //    // Example sending a request using the GetResourcePolicyRequest method.
  1710  //    req, resp := client.GetResourcePolicyRequest(params)
  1711  //
  1712  //    err := req.Send()
  1713  //    if err == nil { // resp is now filled
  1714  //        fmt.Println(resp)
  1715  //    }
  1716  //
  1717  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/GetResourcePolicy
  1718  func (c *CodeBuild) GetResourcePolicyRequest(input *GetResourcePolicyInput) (req *request.Request, output *GetResourcePolicyOutput) {
  1719  	op := &request.Operation{
  1720  		Name:       opGetResourcePolicy,
  1721  		HTTPMethod: "POST",
  1722  		HTTPPath:   "/",
  1723  	}
  1724  
  1725  	if input == nil {
  1726  		input = &GetResourcePolicyInput{}
  1727  	}
  1728  
  1729  	output = &GetResourcePolicyOutput{}
  1730  	req = c.newRequest(op, input, output)
  1731  	return
  1732  }
  1733  
  1734  // GetResourcePolicy API operation for AWS CodeBuild.
  1735  //
  1736  // Gets a resource policy that is identified by its resource ARN.
  1737  //
  1738  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1739  // with awserr.Error's Code and Message methods to get detailed information about
  1740  // the error.
  1741  //
  1742  // See the AWS API reference guide for AWS CodeBuild's
  1743  // API operation GetResourcePolicy for usage and error information.
  1744  //
  1745  // Returned Error Types:
  1746  //   * ResourceNotFoundException
  1747  //   The specified Amazon Web Services resource cannot be found.
  1748  //
  1749  //   * InvalidInputException
  1750  //   The input value that was provided is not valid.
  1751  //
  1752  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/GetResourcePolicy
  1753  func (c *CodeBuild) GetResourcePolicy(input *GetResourcePolicyInput) (*GetResourcePolicyOutput, error) {
  1754  	req, out := c.GetResourcePolicyRequest(input)
  1755  	return out, req.Send()
  1756  }
  1757  
  1758  // GetResourcePolicyWithContext is the same as GetResourcePolicy with the addition of
  1759  // the ability to pass a context and additional request options.
  1760  //
  1761  // See GetResourcePolicy for details on how to use this API operation.
  1762  //
  1763  // The context must be non-nil and will be used for request cancellation. If
  1764  // the context is nil a panic will occur. In the future the SDK may create
  1765  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1766  // for more information on using Contexts.
  1767  func (c *CodeBuild) GetResourcePolicyWithContext(ctx aws.Context, input *GetResourcePolicyInput, opts ...request.Option) (*GetResourcePolicyOutput, error) {
  1768  	req, out := c.GetResourcePolicyRequest(input)
  1769  	req.SetContext(ctx)
  1770  	req.ApplyOptions(opts...)
  1771  	return out, req.Send()
  1772  }
  1773  
  1774  const opImportSourceCredentials = "ImportSourceCredentials"
  1775  
  1776  // ImportSourceCredentialsRequest generates a "aws/request.Request" representing the
  1777  // client's request for the ImportSourceCredentials operation. The "output" return
  1778  // value will be populated with the request's response once the request completes
  1779  // successfully.
  1780  //
  1781  // Use "Send" method on the returned Request to send the API call to the service.
  1782  // the "output" return value is not valid until after Send returns without error.
  1783  //
  1784  // See ImportSourceCredentials for more information on using the ImportSourceCredentials
  1785  // API call, and error handling.
  1786  //
  1787  // This method is useful when you want to inject custom logic or configuration
  1788  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1789  //
  1790  //
  1791  //    // Example sending a request using the ImportSourceCredentialsRequest method.
  1792  //    req, resp := client.ImportSourceCredentialsRequest(params)
  1793  //
  1794  //    err := req.Send()
  1795  //    if err == nil { // resp is now filled
  1796  //        fmt.Println(resp)
  1797  //    }
  1798  //
  1799  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ImportSourceCredentials
  1800  func (c *CodeBuild) ImportSourceCredentialsRequest(input *ImportSourceCredentialsInput) (req *request.Request, output *ImportSourceCredentialsOutput) {
  1801  	op := &request.Operation{
  1802  		Name:       opImportSourceCredentials,
  1803  		HTTPMethod: "POST",
  1804  		HTTPPath:   "/",
  1805  	}
  1806  
  1807  	if input == nil {
  1808  		input = &ImportSourceCredentialsInput{}
  1809  	}
  1810  
  1811  	output = &ImportSourceCredentialsOutput{}
  1812  	req = c.newRequest(op, input, output)
  1813  	return
  1814  }
  1815  
  1816  // ImportSourceCredentials API operation for AWS CodeBuild.
  1817  //
  1818  // Imports the source repository credentials for an CodeBuild project that has
  1819  // its source code stored in a GitHub, GitHub Enterprise, or Bitbucket repository.
  1820  //
  1821  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1822  // with awserr.Error's Code and Message methods to get detailed information about
  1823  // the error.
  1824  //
  1825  // See the AWS API reference guide for AWS CodeBuild's
  1826  // API operation ImportSourceCredentials for usage and error information.
  1827  //
  1828  // Returned Error Types:
  1829  //   * InvalidInputException
  1830  //   The input value that was provided is not valid.
  1831  //
  1832  //   * AccountLimitExceededException
  1833  //   An Amazon Web Services service limit was exceeded for the calling Amazon
  1834  //   Web Services account.
  1835  //
  1836  //   * ResourceAlreadyExistsException
  1837  //   The specified Amazon Web Services resource cannot be created, because an
  1838  //   Amazon Web Services resource with the same settings already exists.
  1839  //
  1840  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ImportSourceCredentials
  1841  func (c *CodeBuild) ImportSourceCredentials(input *ImportSourceCredentialsInput) (*ImportSourceCredentialsOutput, error) {
  1842  	req, out := c.ImportSourceCredentialsRequest(input)
  1843  	return out, req.Send()
  1844  }
  1845  
  1846  // ImportSourceCredentialsWithContext is the same as ImportSourceCredentials with the addition of
  1847  // the ability to pass a context and additional request options.
  1848  //
  1849  // See ImportSourceCredentials for details on how to use this API operation.
  1850  //
  1851  // The context must be non-nil and will be used for request cancellation. If
  1852  // the context is nil a panic will occur. In the future the SDK may create
  1853  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1854  // for more information on using Contexts.
  1855  func (c *CodeBuild) ImportSourceCredentialsWithContext(ctx aws.Context, input *ImportSourceCredentialsInput, opts ...request.Option) (*ImportSourceCredentialsOutput, error) {
  1856  	req, out := c.ImportSourceCredentialsRequest(input)
  1857  	req.SetContext(ctx)
  1858  	req.ApplyOptions(opts...)
  1859  	return out, req.Send()
  1860  }
  1861  
  1862  const opInvalidateProjectCache = "InvalidateProjectCache"
  1863  
  1864  // InvalidateProjectCacheRequest generates a "aws/request.Request" representing the
  1865  // client's request for the InvalidateProjectCache operation. The "output" return
  1866  // value will be populated with the request's response once the request completes
  1867  // successfully.
  1868  //
  1869  // Use "Send" method on the returned Request to send the API call to the service.
  1870  // the "output" return value is not valid until after Send returns without error.
  1871  //
  1872  // See InvalidateProjectCache for more information on using the InvalidateProjectCache
  1873  // API call, and error handling.
  1874  //
  1875  // This method is useful when you want to inject custom logic or configuration
  1876  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1877  //
  1878  //
  1879  //    // Example sending a request using the InvalidateProjectCacheRequest method.
  1880  //    req, resp := client.InvalidateProjectCacheRequest(params)
  1881  //
  1882  //    err := req.Send()
  1883  //    if err == nil { // resp is now filled
  1884  //        fmt.Println(resp)
  1885  //    }
  1886  //
  1887  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/InvalidateProjectCache
  1888  func (c *CodeBuild) InvalidateProjectCacheRequest(input *InvalidateProjectCacheInput) (req *request.Request, output *InvalidateProjectCacheOutput) {
  1889  	op := &request.Operation{
  1890  		Name:       opInvalidateProjectCache,
  1891  		HTTPMethod: "POST",
  1892  		HTTPPath:   "/",
  1893  	}
  1894  
  1895  	if input == nil {
  1896  		input = &InvalidateProjectCacheInput{}
  1897  	}
  1898  
  1899  	output = &InvalidateProjectCacheOutput{}
  1900  	req = c.newRequest(op, input, output)
  1901  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1902  	return
  1903  }
  1904  
  1905  // InvalidateProjectCache API operation for AWS CodeBuild.
  1906  //
  1907  // Resets the cache for a project.
  1908  //
  1909  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1910  // with awserr.Error's Code and Message methods to get detailed information about
  1911  // the error.
  1912  //
  1913  // See the AWS API reference guide for AWS CodeBuild's
  1914  // API operation InvalidateProjectCache for usage and error information.
  1915  //
  1916  // Returned Error Types:
  1917  //   * InvalidInputException
  1918  //   The input value that was provided is not valid.
  1919  //
  1920  //   * ResourceNotFoundException
  1921  //   The specified Amazon Web Services resource cannot be found.
  1922  //
  1923  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/InvalidateProjectCache
  1924  func (c *CodeBuild) InvalidateProjectCache(input *InvalidateProjectCacheInput) (*InvalidateProjectCacheOutput, error) {
  1925  	req, out := c.InvalidateProjectCacheRequest(input)
  1926  	return out, req.Send()
  1927  }
  1928  
  1929  // InvalidateProjectCacheWithContext is the same as InvalidateProjectCache with the addition of
  1930  // the ability to pass a context and additional request options.
  1931  //
  1932  // See InvalidateProjectCache for details on how to use this API operation.
  1933  //
  1934  // The context must be non-nil and will be used for request cancellation. If
  1935  // the context is nil a panic will occur. In the future the SDK may create
  1936  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1937  // for more information on using Contexts.
  1938  func (c *CodeBuild) InvalidateProjectCacheWithContext(ctx aws.Context, input *InvalidateProjectCacheInput, opts ...request.Option) (*InvalidateProjectCacheOutput, error) {
  1939  	req, out := c.InvalidateProjectCacheRequest(input)
  1940  	req.SetContext(ctx)
  1941  	req.ApplyOptions(opts...)
  1942  	return out, req.Send()
  1943  }
  1944  
  1945  const opListBuildBatches = "ListBuildBatches"
  1946  
  1947  // ListBuildBatchesRequest generates a "aws/request.Request" representing the
  1948  // client's request for the ListBuildBatches operation. The "output" return
  1949  // value will be populated with the request's response once the request completes
  1950  // successfully.
  1951  //
  1952  // Use "Send" method on the returned Request to send the API call to the service.
  1953  // the "output" return value is not valid until after Send returns without error.
  1954  //
  1955  // See ListBuildBatches for more information on using the ListBuildBatches
  1956  // API call, and error handling.
  1957  //
  1958  // This method is useful when you want to inject custom logic or configuration
  1959  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1960  //
  1961  //
  1962  //    // Example sending a request using the ListBuildBatchesRequest method.
  1963  //    req, resp := client.ListBuildBatchesRequest(params)
  1964  //
  1965  //    err := req.Send()
  1966  //    if err == nil { // resp is now filled
  1967  //        fmt.Println(resp)
  1968  //    }
  1969  //
  1970  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildBatches
  1971  func (c *CodeBuild) ListBuildBatchesRequest(input *ListBuildBatchesInput) (req *request.Request, output *ListBuildBatchesOutput) {
  1972  	op := &request.Operation{
  1973  		Name:       opListBuildBatches,
  1974  		HTTPMethod: "POST",
  1975  		HTTPPath:   "/",
  1976  		Paginator: &request.Paginator{
  1977  			InputTokens:     []string{"nextToken"},
  1978  			OutputTokens:    []string{"nextToken"},
  1979  			LimitToken:      "maxResults",
  1980  			TruncationToken: "",
  1981  		},
  1982  	}
  1983  
  1984  	if input == nil {
  1985  		input = &ListBuildBatchesInput{}
  1986  	}
  1987  
  1988  	output = &ListBuildBatchesOutput{}
  1989  	req = c.newRequest(op, input, output)
  1990  	return
  1991  }
  1992  
  1993  // ListBuildBatches API operation for AWS CodeBuild.
  1994  //
  1995  // Retrieves the identifiers of your build batches in the current region.
  1996  //
  1997  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1998  // with awserr.Error's Code and Message methods to get detailed information about
  1999  // the error.
  2000  //
  2001  // See the AWS API reference guide for AWS CodeBuild's
  2002  // API operation ListBuildBatches for usage and error information.
  2003  //
  2004  // Returned Error Types:
  2005  //   * InvalidInputException
  2006  //   The input value that was provided is not valid.
  2007  //
  2008  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildBatches
  2009  func (c *CodeBuild) ListBuildBatches(input *ListBuildBatchesInput) (*ListBuildBatchesOutput, error) {
  2010  	req, out := c.ListBuildBatchesRequest(input)
  2011  	return out, req.Send()
  2012  }
  2013  
  2014  // ListBuildBatchesWithContext is the same as ListBuildBatches with the addition of
  2015  // the ability to pass a context and additional request options.
  2016  //
  2017  // See ListBuildBatches for details on how to use this API operation.
  2018  //
  2019  // The context must be non-nil and will be used for request cancellation. If
  2020  // the context is nil a panic will occur. In the future the SDK may create
  2021  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2022  // for more information on using Contexts.
  2023  func (c *CodeBuild) ListBuildBatchesWithContext(ctx aws.Context, input *ListBuildBatchesInput, opts ...request.Option) (*ListBuildBatchesOutput, error) {
  2024  	req, out := c.ListBuildBatchesRequest(input)
  2025  	req.SetContext(ctx)
  2026  	req.ApplyOptions(opts...)
  2027  	return out, req.Send()
  2028  }
  2029  
  2030  // ListBuildBatchesPages iterates over the pages of a ListBuildBatches operation,
  2031  // calling the "fn" function with the response data for each page. To stop
  2032  // iterating, return false from the fn function.
  2033  //
  2034  // See ListBuildBatches method for more information on how to use this operation.
  2035  //
  2036  // Note: This operation can generate multiple requests to a service.
  2037  //
  2038  //    // Example iterating over at most 3 pages of a ListBuildBatches operation.
  2039  //    pageNum := 0
  2040  //    err := client.ListBuildBatchesPages(params,
  2041  //        func(page *codebuild.ListBuildBatchesOutput, lastPage bool) bool {
  2042  //            pageNum++
  2043  //            fmt.Println(page)
  2044  //            return pageNum <= 3
  2045  //        })
  2046  //
  2047  func (c *CodeBuild) ListBuildBatchesPages(input *ListBuildBatchesInput, fn func(*ListBuildBatchesOutput, bool) bool) error {
  2048  	return c.ListBuildBatchesPagesWithContext(aws.BackgroundContext(), input, fn)
  2049  }
  2050  
  2051  // ListBuildBatchesPagesWithContext same as ListBuildBatchesPages except
  2052  // it takes a Context and allows setting request options on the pages.
  2053  //
  2054  // The context must be non-nil and will be used for request cancellation. If
  2055  // the context is nil a panic will occur. In the future the SDK may create
  2056  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2057  // for more information on using Contexts.
  2058  func (c *CodeBuild) ListBuildBatchesPagesWithContext(ctx aws.Context, input *ListBuildBatchesInput, fn func(*ListBuildBatchesOutput, bool) bool, opts ...request.Option) error {
  2059  	p := request.Pagination{
  2060  		NewRequest: func() (*request.Request, error) {
  2061  			var inCpy *ListBuildBatchesInput
  2062  			if input != nil {
  2063  				tmp := *input
  2064  				inCpy = &tmp
  2065  			}
  2066  			req, _ := c.ListBuildBatchesRequest(inCpy)
  2067  			req.SetContext(ctx)
  2068  			req.ApplyOptions(opts...)
  2069  			return req, nil
  2070  		},
  2071  	}
  2072  
  2073  	for p.Next() {
  2074  		if !fn(p.Page().(*ListBuildBatchesOutput), !p.HasNextPage()) {
  2075  			break
  2076  		}
  2077  	}
  2078  
  2079  	return p.Err()
  2080  }
  2081  
  2082  const opListBuildBatchesForProject = "ListBuildBatchesForProject"
  2083  
  2084  // ListBuildBatchesForProjectRequest generates a "aws/request.Request" representing the
  2085  // client's request for the ListBuildBatchesForProject operation. The "output" return
  2086  // value will be populated with the request's response once the request completes
  2087  // successfully.
  2088  //
  2089  // Use "Send" method on the returned Request to send the API call to the service.
  2090  // the "output" return value is not valid until after Send returns without error.
  2091  //
  2092  // See ListBuildBatchesForProject for more information on using the ListBuildBatchesForProject
  2093  // API call, and error handling.
  2094  //
  2095  // This method is useful when you want to inject custom logic or configuration
  2096  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2097  //
  2098  //
  2099  //    // Example sending a request using the ListBuildBatchesForProjectRequest method.
  2100  //    req, resp := client.ListBuildBatchesForProjectRequest(params)
  2101  //
  2102  //    err := req.Send()
  2103  //    if err == nil { // resp is now filled
  2104  //        fmt.Println(resp)
  2105  //    }
  2106  //
  2107  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildBatchesForProject
  2108  func (c *CodeBuild) ListBuildBatchesForProjectRequest(input *ListBuildBatchesForProjectInput) (req *request.Request, output *ListBuildBatchesForProjectOutput) {
  2109  	op := &request.Operation{
  2110  		Name:       opListBuildBatchesForProject,
  2111  		HTTPMethod: "POST",
  2112  		HTTPPath:   "/",
  2113  		Paginator: &request.Paginator{
  2114  			InputTokens:     []string{"nextToken"},
  2115  			OutputTokens:    []string{"nextToken"},
  2116  			LimitToken:      "maxResults",
  2117  			TruncationToken: "",
  2118  		},
  2119  	}
  2120  
  2121  	if input == nil {
  2122  		input = &ListBuildBatchesForProjectInput{}
  2123  	}
  2124  
  2125  	output = &ListBuildBatchesForProjectOutput{}
  2126  	req = c.newRequest(op, input, output)
  2127  	return
  2128  }
  2129  
  2130  // ListBuildBatchesForProject API operation for AWS CodeBuild.
  2131  //
  2132  // Retrieves the identifiers of the build batches for a specific project.
  2133  //
  2134  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2135  // with awserr.Error's Code and Message methods to get detailed information about
  2136  // the error.
  2137  //
  2138  // See the AWS API reference guide for AWS CodeBuild's
  2139  // API operation ListBuildBatchesForProject for usage and error information.
  2140  //
  2141  // Returned Error Types:
  2142  //   * InvalidInputException
  2143  //   The input value that was provided is not valid.
  2144  //
  2145  //   * ResourceNotFoundException
  2146  //   The specified Amazon Web Services resource cannot be found.
  2147  //
  2148  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildBatchesForProject
  2149  func (c *CodeBuild) ListBuildBatchesForProject(input *ListBuildBatchesForProjectInput) (*ListBuildBatchesForProjectOutput, error) {
  2150  	req, out := c.ListBuildBatchesForProjectRequest(input)
  2151  	return out, req.Send()
  2152  }
  2153  
  2154  // ListBuildBatchesForProjectWithContext is the same as ListBuildBatchesForProject with the addition of
  2155  // the ability to pass a context and additional request options.
  2156  //
  2157  // See ListBuildBatchesForProject for details on how to use this API operation.
  2158  //
  2159  // The context must be non-nil and will be used for request cancellation. If
  2160  // the context is nil a panic will occur. In the future the SDK may create
  2161  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2162  // for more information on using Contexts.
  2163  func (c *CodeBuild) ListBuildBatchesForProjectWithContext(ctx aws.Context, input *ListBuildBatchesForProjectInput, opts ...request.Option) (*ListBuildBatchesForProjectOutput, error) {
  2164  	req, out := c.ListBuildBatchesForProjectRequest(input)
  2165  	req.SetContext(ctx)
  2166  	req.ApplyOptions(opts...)
  2167  	return out, req.Send()
  2168  }
  2169  
  2170  // ListBuildBatchesForProjectPages iterates over the pages of a ListBuildBatchesForProject operation,
  2171  // calling the "fn" function with the response data for each page. To stop
  2172  // iterating, return false from the fn function.
  2173  //
  2174  // See ListBuildBatchesForProject method for more information on how to use this operation.
  2175  //
  2176  // Note: This operation can generate multiple requests to a service.
  2177  //
  2178  //    // Example iterating over at most 3 pages of a ListBuildBatchesForProject operation.
  2179  //    pageNum := 0
  2180  //    err := client.ListBuildBatchesForProjectPages(params,
  2181  //        func(page *codebuild.ListBuildBatchesForProjectOutput, lastPage bool) bool {
  2182  //            pageNum++
  2183  //            fmt.Println(page)
  2184  //            return pageNum <= 3
  2185  //        })
  2186  //
  2187  func (c *CodeBuild) ListBuildBatchesForProjectPages(input *ListBuildBatchesForProjectInput, fn func(*ListBuildBatchesForProjectOutput, bool) bool) error {
  2188  	return c.ListBuildBatchesForProjectPagesWithContext(aws.BackgroundContext(), input, fn)
  2189  }
  2190  
  2191  // ListBuildBatchesForProjectPagesWithContext same as ListBuildBatchesForProjectPages except
  2192  // it takes a Context and allows setting request options on the pages.
  2193  //
  2194  // The context must be non-nil and will be used for request cancellation. If
  2195  // the context is nil a panic will occur. In the future the SDK may create
  2196  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2197  // for more information on using Contexts.
  2198  func (c *CodeBuild) ListBuildBatchesForProjectPagesWithContext(ctx aws.Context, input *ListBuildBatchesForProjectInput, fn func(*ListBuildBatchesForProjectOutput, bool) bool, opts ...request.Option) error {
  2199  	p := request.Pagination{
  2200  		NewRequest: func() (*request.Request, error) {
  2201  			var inCpy *ListBuildBatchesForProjectInput
  2202  			if input != nil {
  2203  				tmp := *input
  2204  				inCpy = &tmp
  2205  			}
  2206  			req, _ := c.ListBuildBatchesForProjectRequest(inCpy)
  2207  			req.SetContext(ctx)
  2208  			req.ApplyOptions(opts...)
  2209  			return req, nil
  2210  		},
  2211  	}
  2212  
  2213  	for p.Next() {
  2214  		if !fn(p.Page().(*ListBuildBatchesForProjectOutput), !p.HasNextPage()) {
  2215  			break
  2216  		}
  2217  	}
  2218  
  2219  	return p.Err()
  2220  }
  2221  
  2222  const opListBuilds = "ListBuilds"
  2223  
  2224  // ListBuildsRequest generates a "aws/request.Request" representing the
  2225  // client's request for the ListBuilds operation. The "output" return
  2226  // value will be populated with the request's response once the request completes
  2227  // successfully.
  2228  //
  2229  // Use "Send" method on the returned Request to send the API call to the service.
  2230  // the "output" return value is not valid until after Send returns without error.
  2231  //
  2232  // See ListBuilds for more information on using the ListBuilds
  2233  // API call, and error handling.
  2234  //
  2235  // This method is useful when you want to inject custom logic or configuration
  2236  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2237  //
  2238  //
  2239  //    // Example sending a request using the ListBuildsRequest method.
  2240  //    req, resp := client.ListBuildsRequest(params)
  2241  //
  2242  //    err := req.Send()
  2243  //    if err == nil { // resp is now filled
  2244  //        fmt.Println(resp)
  2245  //    }
  2246  //
  2247  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuilds
  2248  func (c *CodeBuild) ListBuildsRequest(input *ListBuildsInput) (req *request.Request, output *ListBuildsOutput) {
  2249  	op := &request.Operation{
  2250  		Name:       opListBuilds,
  2251  		HTTPMethod: "POST",
  2252  		HTTPPath:   "/",
  2253  		Paginator: &request.Paginator{
  2254  			InputTokens:     []string{"nextToken"},
  2255  			OutputTokens:    []string{"nextToken"},
  2256  			LimitToken:      "",
  2257  			TruncationToken: "",
  2258  		},
  2259  	}
  2260  
  2261  	if input == nil {
  2262  		input = &ListBuildsInput{}
  2263  	}
  2264  
  2265  	output = &ListBuildsOutput{}
  2266  	req = c.newRequest(op, input, output)
  2267  	return
  2268  }
  2269  
  2270  // ListBuilds API operation for AWS CodeBuild.
  2271  //
  2272  // Gets a list of build IDs, with each build ID representing a single build.
  2273  //
  2274  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2275  // with awserr.Error's Code and Message methods to get detailed information about
  2276  // the error.
  2277  //
  2278  // See the AWS API reference guide for AWS CodeBuild's
  2279  // API operation ListBuilds for usage and error information.
  2280  //
  2281  // Returned Error Types:
  2282  //   * InvalidInputException
  2283  //   The input value that was provided is not valid.
  2284  //
  2285  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuilds
  2286  func (c *CodeBuild) ListBuilds(input *ListBuildsInput) (*ListBuildsOutput, error) {
  2287  	req, out := c.ListBuildsRequest(input)
  2288  	return out, req.Send()
  2289  }
  2290  
  2291  // ListBuildsWithContext is the same as ListBuilds with the addition of
  2292  // the ability to pass a context and additional request options.
  2293  //
  2294  // See ListBuilds for details on how to use this API operation.
  2295  //
  2296  // The context must be non-nil and will be used for request cancellation. If
  2297  // the context is nil a panic will occur. In the future the SDK may create
  2298  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2299  // for more information on using Contexts.
  2300  func (c *CodeBuild) ListBuildsWithContext(ctx aws.Context, input *ListBuildsInput, opts ...request.Option) (*ListBuildsOutput, error) {
  2301  	req, out := c.ListBuildsRequest(input)
  2302  	req.SetContext(ctx)
  2303  	req.ApplyOptions(opts...)
  2304  	return out, req.Send()
  2305  }
  2306  
  2307  // ListBuildsPages iterates over the pages of a ListBuilds operation,
  2308  // calling the "fn" function with the response data for each page. To stop
  2309  // iterating, return false from the fn function.
  2310  //
  2311  // See ListBuilds method for more information on how to use this operation.
  2312  //
  2313  // Note: This operation can generate multiple requests to a service.
  2314  //
  2315  //    // Example iterating over at most 3 pages of a ListBuilds operation.
  2316  //    pageNum := 0
  2317  //    err := client.ListBuildsPages(params,
  2318  //        func(page *codebuild.ListBuildsOutput, lastPage bool) bool {
  2319  //            pageNum++
  2320  //            fmt.Println(page)
  2321  //            return pageNum <= 3
  2322  //        })
  2323  //
  2324  func (c *CodeBuild) ListBuildsPages(input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool) error {
  2325  	return c.ListBuildsPagesWithContext(aws.BackgroundContext(), input, fn)
  2326  }
  2327  
  2328  // ListBuildsPagesWithContext same as ListBuildsPages except
  2329  // it takes a Context and allows setting request options on the pages.
  2330  //
  2331  // The context must be non-nil and will be used for request cancellation. If
  2332  // the context is nil a panic will occur. In the future the SDK may create
  2333  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2334  // for more information on using Contexts.
  2335  func (c *CodeBuild) ListBuildsPagesWithContext(ctx aws.Context, input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool, opts ...request.Option) error {
  2336  	p := request.Pagination{
  2337  		NewRequest: func() (*request.Request, error) {
  2338  			var inCpy *ListBuildsInput
  2339  			if input != nil {
  2340  				tmp := *input
  2341  				inCpy = &tmp
  2342  			}
  2343  			req, _ := c.ListBuildsRequest(inCpy)
  2344  			req.SetContext(ctx)
  2345  			req.ApplyOptions(opts...)
  2346  			return req, nil
  2347  		},
  2348  	}
  2349  
  2350  	for p.Next() {
  2351  		if !fn(p.Page().(*ListBuildsOutput), !p.HasNextPage()) {
  2352  			break
  2353  		}
  2354  	}
  2355  
  2356  	return p.Err()
  2357  }
  2358  
  2359  const opListBuildsForProject = "ListBuildsForProject"
  2360  
  2361  // ListBuildsForProjectRequest generates a "aws/request.Request" representing the
  2362  // client's request for the ListBuildsForProject operation. The "output" return
  2363  // value will be populated with the request's response once the request completes
  2364  // successfully.
  2365  //
  2366  // Use "Send" method on the returned Request to send the API call to the service.
  2367  // the "output" return value is not valid until after Send returns without error.
  2368  //
  2369  // See ListBuildsForProject for more information on using the ListBuildsForProject
  2370  // API call, and error handling.
  2371  //
  2372  // This method is useful when you want to inject custom logic or configuration
  2373  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2374  //
  2375  //
  2376  //    // Example sending a request using the ListBuildsForProjectRequest method.
  2377  //    req, resp := client.ListBuildsForProjectRequest(params)
  2378  //
  2379  //    err := req.Send()
  2380  //    if err == nil { // resp is now filled
  2381  //        fmt.Println(resp)
  2382  //    }
  2383  //
  2384  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildsForProject
  2385  func (c *CodeBuild) ListBuildsForProjectRequest(input *ListBuildsForProjectInput) (req *request.Request, output *ListBuildsForProjectOutput) {
  2386  	op := &request.Operation{
  2387  		Name:       opListBuildsForProject,
  2388  		HTTPMethod: "POST",
  2389  		HTTPPath:   "/",
  2390  		Paginator: &request.Paginator{
  2391  			InputTokens:     []string{"nextToken"},
  2392  			OutputTokens:    []string{"nextToken"},
  2393  			LimitToken:      "",
  2394  			TruncationToken: "",
  2395  		},
  2396  	}
  2397  
  2398  	if input == nil {
  2399  		input = &ListBuildsForProjectInput{}
  2400  	}
  2401  
  2402  	output = &ListBuildsForProjectOutput{}
  2403  	req = c.newRequest(op, input, output)
  2404  	return
  2405  }
  2406  
  2407  // ListBuildsForProject API operation for AWS CodeBuild.
  2408  //
  2409  // Gets a list of build identifiers for the specified build project, with each
  2410  // build identifier representing a single build.
  2411  //
  2412  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2413  // with awserr.Error's Code and Message methods to get detailed information about
  2414  // the error.
  2415  //
  2416  // See the AWS API reference guide for AWS CodeBuild's
  2417  // API operation ListBuildsForProject for usage and error information.
  2418  //
  2419  // Returned Error Types:
  2420  //   * InvalidInputException
  2421  //   The input value that was provided is not valid.
  2422  //
  2423  //   * ResourceNotFoundException
  2424  //   The specified Amazon Web Services resource cannot be found.
  2425  //
  2426  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListBuildsForProject
  2427  func (c *CodeBuild) ListBuildsForProject(input *ListBuildsForProjectInput) (*ListBuildsForProjectOutput, error) {
  2428  	req, out := c.ListBuildsForProjectRequest(input)
  2429  	return out, req.Send()
  2430  }
  2431  
  2432  // ListBuildsForProjectWithContext is the same as ListBuildsForProject with the addition of
  2433  // the ability to pass a context and additional request options.
  2434  //
  2435  // See ListBuildsForProject for details on how to use this API operation.
  2436  //
  2437  // The context must be non-nil and will be used for request cancellation. If
  2438  // the context is nil a panic will occur. In the future the SDK may create
  2439  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2440  // for more information on using Contexts.
  2441  func (c *CodeBuild) ListBuildsForProjectWithContext(ctx aws.Context, input *ListBuildsForProjectInput, opts ...request.Option) (*ListBuildsForProjectOutput, error) {
  2442  	req, out := c.ListBuildsForProjectRequest(input)
  2443  	req.SetContext(ctx)
  2444  	req.ApplyOptions(opts...)
  2445  	return out, req.Send()
  2446  }
  2447  
  2448  // ListBuildsForProjectPages iterates over the pages of a ListBuildsForProject operation,
  2449  // calling the "fn" function with the response data for each page. To stop
  2450  // iterating, return false from the fn function.
  2451  //
  2452  // See ListBuildsForProject method for more information on how to use this operation.
  2453  //
  2454  // Note: This operation can generate multiple requests to a service.
  2455  //
  2456  //    // Example iterating over at most 3 pages of a ListBuildsForProject operation.
  2457  //    pageNum := 0
  2458  //    err := client.ListBuildsForProjectPages(params,
  2459  //        func(page *codebuild.ListBuildsForProjectOutput, lastPage bool) bool {
  2460  //            pageNum++
  2461  //            fmt.Println(page)
  2462  //            return pageNum <= 3
  2463  //        })
  2464  //
  2465  func (c *CodeBuild) ListBuildsForProjectPages(input *ListBuildsForProjectInput, fn func(*ListBuildsForProjectOutput, bool) bool) error {
  2466  	return c.ListBuildsForProjectPagesWithContext(aws.BackgroundContext(), input, fn)
  2467  }
  2468  
  2469  // ListBuildsForProjectPagesWithContext same as ListBuildsForProjectPages except
  2470  // it takes a Context and allows setting request options on the pages.
  2471  //
  2472  // The context must be non-nil and will be used for request cancellation. If
  2473  // the context is nil a panic will occur. In the future the SDK may create
  2474  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2475  // for more information on using Contexts.
  2476  func (c *CodeBuild) ListBuildsForProjectPagesWithContext(ctx aws.Context, input *ListBuildsForProjectInput, fn func(*ListBuildsForProjectOutput, bool) bool, opts ...request.Option) error {
  2477  	p := request.Pagination{
  2478  		NewRequest: func() (*request.Request, error) {
  2479  			var inCpy *ListBuildsForProjectInput
  2480  			if input != nil {
  2481  				tmp := *input
  2482  				inCpy = &tmp
  2483  			}
  2484  			req, _ := c.ListBuildsForProjectRequest(inCpy)
  2485  			req.SetContext(ctx)
  2486  			req.ApplyOptions(opts...)
  2487  			return req, nil
  2488  		},
  2489  	}
  2490  
  2491  	for p.Next() {
  2492  		if !fn(p.Page().(*ListBuildsForProjectOutput), !p.HasNextPage()) {
  2493  			break
  2494  		}
  2495  	}
  2496  
  2497  	return p.Err()
  2498  }
  2499  
  2500  const opListCuratedEnvironmentImages = "ListCuratedEnvironmentImages"
  2501  
  2502  // ListCuratedEnvironmentImagesRequest generates a "aws/request.Request" representing the
  2503  // client's request for the ListCuratedEnvironmentImages operation. The "output" return
  2504  // value will be populated with the request's response once the request completes
  2505  // successfully.
  2506  //
  2507  // Use "Send" method on the returned Request to send the API call to the service.
  2508  // the "output" return value is not valid until after Send returns without error.
  2509  //
  2510  // See ListCuratedEnvironmentImages for more information on using the ListCuratedEnvironmentImages
  2511  // API call, and error handling.
  2512  //
  2513  // This method is useful when you want to inject custom logic or configuration
  2514  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2515  //
  2516  //
  2517  //    // Example sending a request using the ListCuratedEnvironmentImagesRequest method.
  2518  //    req, resp := client.ListCuratedEnvironmentImagesRequest(params)
  2519  //
  2520  //    err := req.Send()
  2521  //    if err == nil { // resp is now filled
  2522  //        fmt.Println(resp)
  2523  //    }
  2524  //
  2525  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListCuratedEnvironmentImages
  2526  func (c *CodeBuild) ListCuratedEnvironmentImagesRequest(input *ListCuratedEnvironmentImagesInput) (req *request.Request, output *ListCuratedEnvironmentImagesOutput) {
  2527  	op := &request.Operation{
  2528  		Name:       opListCuratedEnvironmentImages,
  2529  		HTTPMethod: "POST",
  2530  		HTTPPath:   "/",
  2531  	}
  2532  
  2533  	if input == nil {
  2534  		input = &ListCuratedEnvironmentImagesInput{}
  2535  	}
  2536  
  2537  	output = &ListCuratedEnvironmentImagesOutput{}
  2538  	req = c.newRequest(op, input, output)
  2539  	return
  2540  }
  2541  
  2542  // ListCuratedEnvironmentImages API operation for AWS CodeBuild.
  2543  //
  2544  // Gets information about Docker images that are managed by CodeBuild.
  2545  //
  2546  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2547  // with awserr.Error's Code and Message methods to get detailed information about
  2548  // the error.
  2549  //
  2550  // See the AWS API reference guide for AWS CodeBuild's
  2551  // API operation ListCuratedEnvironmentImages for usage and error information.
  2552  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListCuratedEnvironmentImages
  2553  func (c *CodeBuild) ListCuratedEnvironmentImages(input *ListCuratedEnvironmentImagesInput) (*ListCuratedEnvironmentImagesOutput, error) {
  2554  	req, out := c.ListCuratedEnvironmentImagesRequest(input)
  2555  	return out, req.Send()
  2556  }
  2557  
  2558  // ListCuratedEnvironmentImagesWithContext is the same as ListCuratedEnvironmentImages with the addition of
  2559  // the ability to pass a context and additional request options.
  2560  //
  2561  // See ListCuratedEnvironmentImages for details on how to use this API operation.
  2562  //
  2563  // The context must be non-nil and will be used for request cancellation. If
  2564  // the context is nil a panic will occur. In the future the SDK may create
  2565  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2566  // for more information on using Contexts.
  2567  func (c *CodeBuild) ListCuratedEnvironmentImagesWithContext(ctx aws.Context, input *ListCuratedEnvironmentImagesInput, opts ...request.Option) (*ListCuratedEnvironmentImagesOutput, error) {
  2568  	req, out := c.ListCuratedEnvironmentImagesRequest(input)
  2569  	req.SetContext(ctx)
  2570  	req.ApplyOptions(opts...)
  2571  	return out, req.Send()
  2572  }
  2573  
  2574  const opListProjects = "ListProjects"
  2575  
  2576  // ListProjectsRequest generates a "aws/request.Request" representing the
  2577  // client's request for the ListProjects operation. The "output" return
  2578  // value will be populated with the request's response once the request completes
  2579  // successfully.
  2580  //
  2581  // Use "Send" method on the returned Request to send the API call to the service.
  2582  // the "output" return value is not valid until after Send returns without error.
  2583  //
  2584  // See ListProjects for more information on using the ListProjects
  2585  // API call, and error handling.
  2586  //
  2587  // This method is useful when you want to inject custom logic or configuration
  2588  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2589  //
  2590  //
  2591  //    // Example sending a request using the ListProjectsRequest method.
  2592  //    req, resp := client.ListProjectsRequest(params)
  2593  //
  2594  //    err := req.Send()
  2595  //    if err == nil { // resp is now filled
  2596  //        fmt.Println(resp)
  2597  //    }
  2598  //
  2599  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListProjects
  2600  func (c *CodeBuild) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) {
  2601  	op := &request.Operation{
  2602  		Name:       opListProjects,
  2603  		HTTPMethod: "POST",
  2604  		HTTPPath:   "/",
  2605  		Paginator: &request.Paginator{
  2606  			InputTokens:     []string{"nextToken"},
  2607  			OutputTokens:    []string{"nextToken"},
  2608  			LimitToken:      "",
  2609  			TruncationToken: "",
  2610  		},
  2611  	}
  2612  
  2613  	if input == nil {
  2614  		input = &ListProjectsInput{}
  2615  	}
  2616  
  2617  	output = &ListProjectsOutput{}
  2618  	req = c.newRequest(op, input, output)
  2619  	return
  2620  }
  2621  
  2622  // ListProjects API operation for AWS CodeBuild.
  2623  //
  2624  // Gets a list of build project names, with each build project name representing
  2625  // a single build project.
  2626  //
  2627  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2628  // with awserr.Error's Code and Message methods to get detailed information about
  2629  // the error.
  2630  //
  2631  // See the AWS API reference guide for AWS CodeBuild's
  2632  // API operation ListProjects for usage and error information.
  2633  //
  2634  // Returned Error Types:
  2635  //   * InvalidInputException
  2636  //   The input value that was provided is not valid.
  2637  //
  2638  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListProjects
  2639  func (c *CodeBuild) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) {
  2640  	req, out := c.ListProjectsRequest(input)
  2641  	return out, req.Send()
  2642  }
  2643  
  2644  // ListProjectsWithContext is the same as ListProjects with the addition of
  2645  // the ability to pass a context and additional request options.
  2646  //
  2647  // See ListProjects for details on how to use this API operation.
  2648  //
  2649  // The context must be non-nil and will be used for request cancellation. If
  2650  // the context is nil a panic will occur. In the future the SDK may create
  2651  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2652  // for more information on using Contexts.
  2653  func (c *CodeBuild) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) {
  2654  	req, out := c.ListProjectsRequest(input)
  2655  	req.SetContext(ctx)
  2656  	req.ApplyOptions(opts...)
  2657  	return out, req.Send()
  2658  }
  2659  
  2660  // ListProjectsPages iterates over the pages of a ListProjects operation,
  2661  // calling the "fn" function with the response data for each page. To stop
  2662  // iterating, return false from the fn function.
  2663  //
  2664  // See ListProjects method for more information on how to use this operation.
  2665  //
  2666  // Note: This operation can generate multiple requests to a service.
  2667  //
  2668  //    // Example iterating over at most 3 pages of a ListProjects operation.
  2669  //    pageNum := 0
  2670  //    err := client.ListProjectsPages(params,
  2671  //        func(page *codebuild.ListProjectsOutput, lastPage bool) bool {
  2672  //            pageNum++
  2673  //            fmt.Println(page)
  2674  //            return pageNum <= 3
  2675  //        })
  2676  //
  2677  func (c *CodeBuild) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error {
  2678  	return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
  2679  }
  2680  
  2681  // ListProjectsPagesWithContext same as ListProjectsPages except
  2682  // it takes a Context and allows setting request options on the pages.
  2683  //
  2684  // The context must be non-nil and will be used for request cancellation. If
  2685  // the context is nil a panic will occur. In the future the SDK may create
  2686  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2687  // for more information on using Contexts.
  2688  func (c *CodeBuild) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error {
  2689  	p := request.Pagination{
  2690  		NewRequest: func() (*request.Request, error) {
  2691  			var inCpy *ListProjectsInput
  2692  			if input != nil {
  2693  				tmp := *input
  2694  				inCpy = &tmp
  2695  			}
  2696  			req, _ := c.ListProjectsRequest(inCpy)
  2697  			req.SetContext(ctx)
  2698  			req.ApplyOptions(opts...)
  2699  			return req, nil
  2700  		},
  2701  	}
  2702  
  2703  	for p.Next() {
  2704  		if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) {
  2705  			break
  2706  		}
  2707  	}
  2708  
  2709  	return p.Err()
  2710  }
  2711  
  2712  const opListReportGroups = "ListReportGroups"
  2713  
  2714  // ListReportGroupsRequest generates a "aws/request.Request" representing the
  2715  // client's request for the ListReportGroups operation. The "output" return
  2716  // value will be populated with the request's response once the request completes
  2717  // successfully.
  2718  //
  2719  // Use "Send" method on the returned Request to send the API call to the service.
  2720  // the "output" return value is not valid until after Send returns without error.
  2721  //
  2722  // See ListReportGroups for more information on using the ListReportGroups
  2723  // API call, and error handling.
  2724  //
  2725  // This method is useful when you want to inject custom logic or configuration
  2726  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2727  //
  2728  //
  2729  //    // Example sending a request using the ListReportGroupsRequest method.
  2730  //    req, resp := client.ListReportGroupsRequest(params)
  2731  //
  2732  //    err := req.Send()
  2733  //    if err == nil { // resp is now filled
  2734  //        fmt.Println(resp)
  2735  //    }
  2736  //
  2737  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportGroups
  2738  func (c *CodeBuild) ListReportGroupsRequest(input *ListReportGroupsInput) (req *request.Request, output *ListReportGroupsOutput) {
  2739  	op := &request.Operation{
  2740  		Name:       opListReportGroups,
  2741  		HTTPMethod: "POST",
  2742  		HTTPPath:   "/",
  2743  		Paginator: &request.Paginator{
  2744  			InputTokens:     []string{"nextToken"},
  2745  			OutputTokens:    []string{"nextToken"},
  2746  			LimitToken:      "maxResults",
  2747  			TruncationToken: "",
  2748  		},
  2749  	}
  2750  
  2751  	if input == nil {
  2752  		input = &ListReportGroupsInput{}
  2753  	}
  2754  
  2755  	output = &ListReportGroupsOutput{}
  2756  	req = c.newRequest(op, input, output)
  2757  	return
  2758  }
  2759  
  2760  // ListReportGroups API operation for AWS CodeBuild.
  2761  //
  2762  // Gets a list ARNs for the report groups in the current Amazon Web Services
  2763  // account.
  2764  //
  2765  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2766  // with awserr.Error's Code and Message methods to get detailed information about
  2767  // the error.
  2768  //
  2769  // See the AWS API reference guide for AWS CodeBuild's
  2770  // API operation ListReportGroups for usage and error information.
  2771  //
  2772  // Returned Error Types:
  2773  //   * InvalidInputException
  2774  //   The input value that was provided is not valid.
  2775  //
  2776  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportGroups
  2777  func (c *CodeBuild) ListReportGroups(input *ListReportGroupsInput) (*ListReportGroupsOutput, error) {
  2778  	req, out := c.ListReportGroupsRequest(input)
  2779  	return out, req.Send()
  2780  }
  2781  
  2782  // ListReportGroupsWithContext is the same as ListReportGroups with the addition of
  2783  // the ability to pass a context and additional request options.
  2784  //
  2785  // See ListReportGroups for details on how to use this API operation.
  2786  //
  2787  // The context must be non-nil and will be used for request cancellation. If
  2788  // the context is nil a panic will occur. In the future the SDK may create
  2789  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2790  // for more information on using Contexts.
  2791  func (c *CodeBuild) ListReportGroupsWithContext(ctx aws.Context, input *ListReportGroupsInput, opts ...request.Option) (*ListReportGroupsOutput, error) {
  2792  	req, out := c.ListReportGroupsRequest(input)
  2793  	req.SetContext(ctx)
  2794  	req.ApplyOptions(opts...)
  2795  	return out, req.Send()
  2796  }
  2797  
  2798  // ListReportGroupsPages iterates over the pages of a ListReportGroups operation,
  2799  // calling the "fn" function with the response data for each page. To stop
  2800  // iterating, return false from the fn function.
  2801  //
  2802  // See ListReportGroups method for more information on how to use this operation.
  2803  //
  2804  // Note: This operation can generate multiple requests to a service.
  2805  //
  2806  //    // Example iterating over at most 3 pages of a ListReportGroups operation.
  2807  //    pageNum := 0
  2808  //    err := client.ListReportGroupsPages(params,
  2809  //        func(page *codebuild.ListReportGroupsOutput, lastPage bool) bool {
  2810  //            pageNum++
  2811  //            fmt.Println(page)
  2812  //            return pageNum <= 3
  2813  //        })
  2814  //
  2815  func (c *CodeBuild) ListReportGroupsPages(input *ListReportGroupsInput, fn func(*ListReportGroupsOutput, bool) bool) error {
  2816  	return c.ListReportGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  2817  }
  2818  
  2819  // ListReportGroupsPagesWithContext same as ListReportGroupsPages except
  2820  // it takes a Context and allows setting request options on the pages.
  2821  //
  2822  // The context must be non-nil and will be used for request cancellation. If
  2823  // the context is nil a panic will occur. In the future the SDK may create
  2824  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2825  // for more information on using Contexts.
  2826  func (c *CodeBuild) ListReportGroupsPagesWithContext(ctx aws.Context, input *ListReportGroupsInput, fn func(*ListReportGroupsOutput, bool) bool, opts ...request.Option) error {
  2827  	p := request.Pagination{
  2828  		NewRequest: func() (*request.Request, error) {
  2829  			var inCpy *ListReportGroupsInput
  2830  			if input != nil {
  2831  				tmp := *input
  2832  				inCpy = &tmp
  2833  			}
  2834  			req, _ := c.ListReportGroupsRequest(inCpy)
  2835  			req.SetContext(ctx)
  2836  			req.ApplyOptions(opts...)
  2837  			return req, nil
  2838  		},
  2839  	}
  2840  
  2841  	for p.Next() {
  2842  		if !fn(p.Page().(*ListReportGroupsOutput), !p.HasNextPage()) {
  2843  			break
  2844  		}
  2845  	}
  2846  
  2847  	return p.Err()
  2848  }
  2849  
  2850  const opListReports = "ListReports"
  2851  
  2852  // ListReportsRequest generates a "aws/request.Request" representing the
  2853  // client's request for the ListReports operation. The "output" return
  2854  // value will be populated with the request's response once the request completes
  2855  // successfully.
  2856  //
  2857  // Use "Send" method on the returned Request to send the API call to the service.
  2858  // the "output" return value is not valid until after Send returns without error.
  2859  //
  2860  // See ListReports for more information on using the ListReports
  2861  // API call, and error handling.
  2862  //
  2863  // This method is useful when you want to inject custom logic or configuration
  2864  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2865  //
  2866  //
  2867  //    // Example sending a request using the ListReportsRequest method.
  2868  //    req, resp := client.ListReportsRequest(params)
  2869  //
  2870  //    err := req.Send()
  2871  //    if err == nil { // resp is now filled
  2872  //        fmt.Println(resp)
  2873  //    }
  2874  //
  2875  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReports
  2876  func (c *CodeBuild) ListReportsRequest(input *ListReportsInput) (req *request.Request, output *ListReportsOutput) {
  2877  	op := &request.Operation{
  2878  		Name:       opListReports,
  2879  		HTTPMethod: "POST",
  2880  		HTTPPath:   "/",
  2881  		Paginator: &request.Paginator{
  2882  			InputTokens:     []string{"nextToken"},
  2883  			OutputTokens:    []string{"nextToken"},
  2884  			LimitToken:      "maxResults",
  2885  			TruncationToken: "",
  2886  		},
  2887  	}
  2888  
  2889  	if input == nil {
  2890  		input = &ListReportsInput{}
  2891  	}
  2892  
  2893  	output = &ListReportsOutput{}
  2894  	req = c.newRequest(op, input, output)
  2895  	return
  2896  }
  2897  
  2898  // ListReports API operation for AWS CodeBuild.
  2899  //
  2900  // Returns a list of ARNs for the reports in the current Amazon Web Services
  2901  // account.
  2902  //
  2903  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2904  // with awserr.Error's Code and Message methods to get detailed information about
  2905  // the error.
  2906  //
  2907  // See the AWS API reference guide for AWS CodeBuild's
  2908  // API operation ListReports for usage and error information.
  2909  //
  2910  // Returned Error Types:
  2911  //   * InvalidInputException
  2912  //   The input value that was provided is not valid.
  2913  //
  2914  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReports
  2915  func (c *CodeBuild) ListReports(input *ListReportsInput) (*ListReportsOutput, error) {
  2916  	req, out := c.ListReportsRequest(input)
  2917  	return out, req.Send()
  2918  }
  2919  
  2920  // ListReportsWithContext is the same as ListReports with the addition of
  2921  // the ability to pass a context and additional request options.
  2922  //
  2923  // See ListReports for details on how to use this API operation.
  2924  //
  2925  // The context must be non-nil and will be used for request cancellation. If
  2926  // the context is nil a panic will occur. In the future the SDK may create
  2927  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2928  // for more information on using Contexts.
  2929  func (c *CodeBuild) ListReportsWithContext(ctx aws.Context, input *ListReportsInput, opts ...request.Option) (*ListReportsOutput, error) {
  2930  	req, out := c.ListReportsRequest(input)
  2931  	req.SetContext(ctx)
  2932  	req.ApplyOptions(opts...)
  2933  	return out, req.Send()
  2934  }
  2935  
  2936  // ListReportsPages iterates over the pages of a ListReports operation,
  2937  // calling the "fn" function with the response data for each page. To stop
  2938  // iterating, return false from the fn function.
  2939  //
  2940  // See ListReports method for more information on how to use this operation.
  2941  //
  2942  // Note: This operation can generate multiple requests to a service.
  2943  //
  2944  //    // Example iterating over at most 3 pages of a ListReports operation.
  2945  //    pageNum := 0
  2946  //    err := client.ListReportsPages(params,
  2947  //        func(page *codebuild.ListReportsOutput, lastPage bool) bool {
  2948  //            pageNum++
  2949  //            fmt.Println(page)
  2950  //            return pageNum <= 3
  2951  //        })
  2952  //
  2953  func (c *CodeBuild) ListReportsPages(input *ListReportsInput, fn func(*ListReportsOutput, bool) bool) error {
  2954  	return c.ListReportsPagesWithContext(aws.BackgroundContext(), input, fn)
  2955  }
  2956  
  2957  // ListReportsPagesWithContext same as ListReportsPages except
  2958  // it takes a Context and allows setting request options on the pages.
  2959  //
  2960  // The context must be non-nil and will be used for request cancellation. If
  2961  // the context is nil a panic will occur. In the future the SDK may create
  2962  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2963  // for more information on using Contexts.
  2964  func (c *CodeBuild) ListReportsPagesWithContext(ctx aws.Context, input *ListReportsInput, fn func(*ListReportsOutput, bool) bool, opts ...request.Option) error {
  2965  	p := request.Pagination{
  2966  		NewRequest: func() (*request.Request, error) {
  2967  			var inCpy *ListReportsInput
  2968  			if input != nil {
  2969  				tmp := *input
  2970  				inCpy = &tmp
  2971  			}
  2972  			req, _ := c.ListReportsRequest(inCpy)
  2973  			req.SetContext(ctx)
  2974  			req.ApplyOptions(opts...)
  2975  			return req, nil
  2976  		},
  2977  	}
  2978  
  2979  	for p.Next() {
  2980  		if !fn(p.Page().(*ListReportsOutput), !p.HasNextPage()) {
  2981  			break
  2982  		}
  2983  	}
  2984  
  2985  	return p.Err()
  2986  }
  2987  
  2988  const opListReportsForReportGroup = "ListReportsForReportGroup"
  2989  
  2990  // ListReportsForReportGroupRequest generates a "aws/request.Request" representing the
  2991  // client's request for the ListReportsForReportGroup operation. The "output" return
  2992  // value will be populated with the request's response once the request completes
  2993  // successfully.
  2994  //
  2995  // Use "Send" method on the returned Request to send the API call to the service.
  2996  // the "output" return value is not valid until after Send returns without error.
  2997  //
  2998  // See ListReportsForReportGroup for more information on using the ListReportsForReportGroup
  2999  // API call, and error handling.
  3000  //
  3001  // This method is useful when you want to inject custom logic or configuration
  3002  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3003  //
  3004  //
  3005  //    // Example sending a request using the ListReportsForReportGroupRequest method.
  3006  //    req, resp := client.ListReportsForReportGroupRequest(params)
  3007  //
  3008  //    err := req.Send()
  3009  //    if err == nil { // resp is now filled
  3010  //        fmt.Println(resp)
  3011  //    }
  3012  //
  3013  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportsForReportGroup
  3014  func (c *CodeBuild) ListReportsForReportGroupRequest(input *ListReportsForReportGroupInput) (req *request.Request, output *ListReportsForReportGroupOutput) {
  3015  	op := &request.Operation{
  3016  		Name:       opListReportsForReportGroup,
  3017  		HTTPMethod: "POST",
  3018  		HTTPPath:   "/",
  3019  		Paginator: &request.Paginator{
  3020  			InputTokens:     []string{"nextToken"},
  3021  			OutputTokens:    []string{"nextToken"},
  3022  			LimitToken:      "maxResults",
  3023  			TruncationToken: "",
  3024  		},
  3025  	}
  3026  
  3027  	if input == nil {
  3028  		input = &ListReportsForReportGroupInput{}
  3029  	}
  3030  
  3031  	output = &ListReportsForReportGroupOutput{}
  3032  	req = c.newRequest(op, input, output)
  3033  	return
  3034  }
  3035  
  3036  // ListReportsForReportGroup API operation for AWS CodeBuild.
  3037  //
  3038  // Returns a list of ARNs for the reports that belong to a ReportGroup.
  3039  //
  3040  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3041  // with awserr.Error's Code and Message methods to get detailed information about
  3042  // the error.
  3043  //
  3044  // See the AWS API reference guide for AWS CodeBuild's
  3045  // API operation ListReportsForReportGroup for usage and error information.
  3046  //
  3047  // Returned Error Types:
  3048  //   * InvalidInputException
  3049  //   The input value that was provided is not valid.
  3050  //
  3051  //   * ResourceNotFoundException
  3052  //   The specified Amazon Web Services resource cannot be found.
  3053  //
  3054  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListReportsForReportGroup
  3055  func (c *CodeBuild) ListReportsForReportGroup(input *ListReportsForReportGroupInput) (*ListReportsForReportGroupOutput, error) {
  3056  	req, out := c.ListReportsForReportGroupRequest(input)
  3057  	return out, req.Send()
  3058  }
  3059  
  3060  // ListReportsForReportGroupWithContext is the same as ListReportsForReportGroup with the addition of
  3061  // the ability to pass a context and additional request options.
  3062  //
  3063  // See ListReportsForReportGroup for details on how to use this API operation.
  3064  //
  3065  // The context must be non-nil and will be used for request cancellation. If
  3066  // the context is nil a panic will occur. In the future the SDK may create
  3067  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3068  // for more information on using Contexts.
  3069  func (c *CodeBuild) ListReportsForReportGroupWithContext(ctx aws.Context, input *ListReportsForReportGroupInput, opts ...request.Option) (*ListReportsForReportGroupOutput, error) {
  3070  	req, out := c.ListReportsForReportGroupRequest(input)
  3071  	req.SetContext(ctx)
  3072  	req.ApplyOptions(opts...)
  3073  	return out, req.Send()
  3074  }
  3075  
  3076  // ListReportsForReportGroupPages iterates over the pages of a ListReportsForReportGroup operation,
  3077  // calling the "fn" function with the response data for each page. To stop
  3078  // iterating, return false from the fn function.
  3079  //
  3080  // See ListReportsForReportGroup method for more information on how to use this operation.
  3081  //
  3082  // Note: This operation can generate multiple requests to a service.
  3083  //
  3084  //    // Example iterating over at most 3 pages of a ListReportsForReportGroup operation.
  3085  //    pageNum := 0
  3086  //    err := client.ListReportsForReportGroupPages(params,
  3087  //        func(page *codebuild.ListReportsForReportGroupOutput, lastPage bool) bool {
  3088  //            pageNum++
  3089  //            fmt.Println(page)
  3090  //            return pageNum <= 3
  3091  //        })
  3092  //
  3093  func (c *CodeBuild) ListReportsForReportGroupPages(input *ListReportsForReportGroupInput, fn func(*ListReportsForReportGroupOutput, bool) bool) error {
  3094  	return c.ListReportsForReportGroupPagesWithContext(aws.BackgroundContext(), input, fn)
  3095  }
  3096  
  3097  // ListReportsForReportGroupPagesWithContext same as ListReportsForReportGroupPages except
  3098  // it takes a Context and allows setting request options on the pages.
  3099  //
  3100  // The context must be non-nil and will be used for request cancellation. If
  3101  // the context is nil a panic will occur. In the future the SDK may create
  3102  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3103  // for more information on using Contexts.
  3104  func (c *CodeBuild) ListReportsForReportGroupPagesWithContext(ctx aws.Context, input *ListReportsForReportGroupInput, fn func(*ListReportsForReportGroupOutput, bool) bool, opts ...request.Option) error {
  3105  	p := request.Pagination{
  3106  		NewRequest: func() (*request.Request, error) {
  3107  			var inCpy *ListReportsForReportGroupInput
  3108  			if input != nil {
  3109  				tmp := *input
  3110  				inCpy = &tmp
  3111  			}
  3112  			req, _ := c.ListReportsForReportGroupRequest(inCpy)
  3113  			req.SetContext(ctx)
  3114  			req.ApplyOptions(opts...)
  3115  			return req, nil
  3116  		},
  3117  	}
  3118  
  3119  	for p.Next() {
  3120  		if !fn(p.Page().(*ListReportsForReportGroupOutput), !p.HasNextPage()) {
  3121  			break
  3122  		}
  3123  	}
  3124  
  3125  	return p.Err()
  3126  }
  3127  
  3128  const opListSharedProjects = "ListSharedProjects"
  3129  
  3130  // ListSharedProjectsRequest generates a "aws/request.Request" representing the
  3131  // client's request for the ListSharedProjects operation. The "output" return
  3132  // value will be populated with the request's response once the request completes
  3133  // successfully.
  3134  //
  3135  // Use "Send" method on the returned Request to send the API call to the service.
  3136  // the "output" return value is not valid until after Send returns without error.
  3137  //
  3138  // See ListSharedProjects for more information on using the ListSharedProjects
  3139  // API call, and error handling.
  3140  //
  3141  // This method is useful when you want to inject custom logic or configuration
  3142  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3143  //
  3144  //
  3145  //    // Example sending a request using the ListSharedProjectsRequest method.
  3146  //    req, resp := client.ListSharedProjectsRequest(params)
  3147  //
  3148  //    err := req.Send()
  3149  //    if err == nil { // resp is now filled
  3150  //        fmt.Println(resp)
  3151  //    }
  3152  //
  3153  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSharedProjects
  3154  func (c *CodeBuild) ListSharedProjectsRequest(input *ListSharedProjectsInput) (req *request.Request, output *ListSharedProjectsOutput) {
  3155  	op := &request.Operation{
  3156  		Name:       opListSharedProjects,
  3157  		HTTPMethod: "POST",
  3158  		HTTPPath:   "/",
  3159  		Paginator: &request.Paginator{
  3160  			InputTokens:     []string{"nextToken"},
  3161  			OutputTokens:    []string{"nextToken"},
  3162  			LimitToken:      "maxResults",
  3163  			TruncationToken: "",
  3164  		},
  3165  	}
  3166  
  3167  	if input == nil {
  3168  		input = &ListSharedProjectsInput{}
  3169  	}
  3170  
  3171  	output = &ListSharedProjectsOutput{}
  3172  	req = c.newRequest(op, input, output)
  3173  	return
  3174  }
  3175  
  3176  // ListSharedProjects API operation for AWS CodeBuild.
  3177  //
  3178  // Gets a list of projects that are shared with other Amazon Web Services accounts
  3179  // or users.
  3180  //
  3181  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3182  // with awserr.Error's Code and Message methods to get detailed information about
  3183  // the error.
  3184  //
  3185  // See the AWS API reference guide for AWS CodeBuild's
  3186  // API operation ListSharedProjects for usage and error information.
  3187  //
  3188  // Returned Error Types:
  3189  //   * InvalidInputException
  3190  //   The input value that was provided is not valid.
  3191  //
  3192  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSharedProjects
  3193  func (c *CodeBuild) ListSharedProjects(input *ListSharedProjectsInput) (*ListSharedProjectsOutput, error) {
  3194  	req, out := c.ListSharedProjectsRequest(input)
  3195  	return out, req.Send()
  3196  }
  3197  
  3198  // ListSharedProjectsWithContext is the same as ListSharedProjects with the addition of
  3199  // the ability to pass a context and additional request options.
  3200  //
  3201  // See ListSharedProjects for details on how to use this API operation.
  3202  //
  3203  // The context must be non-nil and will be used for request cancellation. If
  3204  // the context is nil a panic will occur. In the future the SDK may create
  3205  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3206  // for more information on using Contexts.
  3207  func (c *CodeBuild) ListSharedProjectsWithContext(ctx aws.Context, input *ListSharedProjectsInput, opts ...request.Option) (*ListSharedProjectsOutput, error) {
  3208  	req, out := c.ListSharedProjectsRequest(input)
  3209  	req.SetContext(ctx)
  3210  	req.ApplyOptions(opts...)
  3211  	return out, req.Send()
  3212  }
  3213  
  3214  // ListSharedProjectsPages iterates over the pages of a ListSharedProjects operation,
  3215  // calling the "fn" function with the response data for each page. To stop
  3216  // iterating, return false from the fn function.
  3217  //
  3218  // See ListSharedProjects method for more information on how to use this operation.
  3219  //
  3220  // Note: This operation can generate multiple requests to a service.
  3221  //
  3222  //    // Example iterating over at most 3 pages of a ListSharedProjects operation.
  3223  //    pageNum := 0
  3224  //    err := client.ListSharedProjectsPages(params,
  3225  //        func(page *codebuild.ListSharedProjectsOutput, lastPage bool) bool {
  3226  //            pageNum++
  3227  //            fmt.Println(page)
  3228  //            return pageNum <= 3
  3229  //        })
  3230  //
  3231  func (c *CodeBuild) ListSharedProjectsPages(input *ListSharedProjectsInput, fn func(*ListSharedProjectsOutput, bool) bool) error {
  3232  	return c.ListSharedProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
  3233  }
  3234  
  3235  // ListSharedProjectsPagesWithContext same as ListSharedProjectsPages except
  3236  // it takes a Context and allows setting request options on the pages.
  3237  //
  3238  // The context must be non-nil and will be used for request cancellation. If
  3239  // the context is nil a panic will occur. In the future the SDK may create
  3240  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3241  // for more information on using Contexts.
  3242  func (c *CodeBuild) ListSharedProjectsPagesWithContext(ctx aws.Context, input *ListSharedProjectsInput, fn func(*ListSharedProjectsOutput, bool) bool, opts ...request.Option) error {
  3243  	p := request.Pagination{
  3244  		NewRequest: func() (*request.Request, error) {
  3245  			var inCpy *ListSharedProjectsInput
  3246  			if input != nil {
  3247  				tmp := *input
  3248  				inCpy = &tmp
  3249  			}
  3250  			req, _ := c.ListSharedProjectsRequest(inCpy)
  3251  			req.SetContext(ctx)
  3252  			req.ApplyOptions(opts...)
  3253  			return req, nil
  3254  		},
  3255  	}
  3256  
  3257  	for p.Next() {
  3258  		if !fn(p.Page().(*ListSharedProjectsOutput), !p.HasNextPage()) {
  3259  			break
  3260  		}
  3261  	}
  3262  
  3263  	return p.Err()
  3264  }
  3265  
  3266  const opListSharedReportGroups = "ListSharedReportGroups"
  3267  
  3268  // ListSharedReportGroupsRequest generates a "aws/request.Request" representing the
  3269  // client's request for the ListSharedReportGroups operation. The "output" return
  3270  // value will be populated with the request's response once the request completes
  3271  // successfully.
  3272  //
  3273  // Use "Send" method on the returned Request to send the API call to the service.
  3274  // the "output" return value is not valid until after Send returns without error.
  3275  //
  3276  // See ListSharedReportGroups for more information on using the ListSharedReportGroups
  3277  // API call, and error handling.
  3278  //
  3279  // This method is useful when you want to inject custom logic or configuration
  3280  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3281  //
  3282  //
  3283  //    // Example sending a request using the ListSharedReportGroupsRequest method.
  3284  //    req, resp := client.ListSharedReportGroupsRequest(params)
  3285  //
  3286  //    err := req.Send()
  3287  //    if err == nil { // resp is now filled
  3288  //        fmt.Println(resp)
  3289  //    }
  3290  //
  3291  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSharedReportGroups
  3292  func (c *CodeBuild) ListSharedReportGroupsRequest(input *ListSharedReportGroupsInput) (req *request.Request, output *ListSharedReportGroupsOutput) {
  3293  	op := &request.Operation{
  3294  		Name:       opListSharedReportGroups,
  3295  		HTTPMethod: "POST",
  3296  		HTTPPath:   "/",
  3297  		Paginator: &request.Paginator{
  3298  			InputTokens:     []string{"nextToken"},
  3299  			OutputTokens:    []string{"nextToken"},
  3300  			LimitToken:      "maxResults",
  3301  			TruncationToken: "",
  3302  		},
  3303  	}
  3304  
  3305  	if input == nil {
  3306  		input = &ListSharedReportGroupsInput{}
  3307  	}
  3308  
  3309  	output = &ListSharedReportGroupsOutput{}
  3310  	req = c.newRequest(op, input, output)
  3311  	return
  3312  }
  3313  
  3314  // ListSharedReportGroups API operation for AWS CodeBuild.
  3315  //
  3316  // Gets a list of report groups that are shared with other Amazon Web Services
  3317  // accounts or users.
  3318  //
  3319  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3320  // with awserr.Error's Code and Message methods to get detailed information about
  3321  // the error.
  3322  //
  3323  // See the AWS API reference guide for AWS CodeBuild's
  3324  // API operation ListSharedReportGroups for usage and error information.
  3325  //
  3326  // Returned Error Types:
  3327  //   * InvalidInputException
  3328  //   The input value that was provided is not valid.
  3329  //
  3330  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSharedReportGroups
  3331  func (c *CodeBuild) ListSharedReportGroups(input *ListSharedReportGroupsInput) (*ListSharedReportGroupsOutput, error) {
  3332  	req, out := c.ListSharedReportGroupsRequest(input)
  3333  	return out, req.Send()
  3334  }
  3335  
  3336  // ListSharedReportGroupsWithContext is the same as ListSharedReportGroups with the addition of
  3337  // the ability to pass a context and additional request options.
  3338  //
  3339  // See ListSharedReportGroups for details on how to use this API operation.
  3340  //
  3341  // The context must be non-nil and will be used for request cancellation. If
  3342  // the context is nil a panic will occur. In the future the SDK may create
  3343  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3344  // for more information on using Contexts.
  3345  func (c *CodeBuild) ListSharedReportGroupsWithContext(ctx aws.Context, input *ListSharedReportGroupsInput, opts ...request.Option) (*ListSharedReportGroupsOutput, error) {
  3346  	req, out := c.ListSharedReportGroupsRequest(input)
  3347  	req.SetContext(ctx)
  3348  	req.ApplyOptions(opts...)
  3349  	return out, req.Send()
  3350  }
  3351  
  3352  // ListSharedReportGroupsPages iterates over the pages of a ListSharedReportGroups operation,
  3353  // calling the "fn" function with the response data for each page. To stop
  3354  // iterating, return false from the fn function.
  3355  //
  3356  // See ListSharedReportGroups method for more information on how to use this operation.
  3357  //
  3358  // Note: This operation can generate multiple requests to a service.
  3359  //
  3360  //    // Example iterating over at most 3 pages of a ListSharedReportGroups operation.
  3361  //    pageNum := 0
  3362  //    err := client.ListSharedReportGroupsPages(params,
  3363  //        func(page *codebuild.ListSharedReportGroupsOutput, lastPage bool) bool {
  3364  //            pageNum++
  3365  //            fmt.Println(page)
  3366  //            return pageNum <= 3
  3367  //        })
  3368  //
  3369  func (c *CodeBuild) ListSharedReportGroupsPages(input *ListSharedReportGroupsInput, fn func(*ListSharedReportGroupsOutput, bool) bool) error {
  3370  	return c.ListSharedReportGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  3371  }
  3372  
  3373  // ListSharedReportGroupsPagesWithContext same as ListSharedReportGroupsPages except
  3374  // it takes a Context and allows setting request options on the pages.
  3375  //
  3376  // The context must be non-nil and will be used for request cancellation. If
  3377  // the context is nil a panic will occur. In the future the SDK may create
  3378  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3379  // for more information on using Contexts.
  3380  func (c *CodeBuild) ListSharedReportGroupsPagesWithContext(ctx aws.Context, input *ListSharedReportGroupsInput, fn func(*ListSharedReportGroupsOutput, bool) bool, opts ...request.Option) error {
  3381  	p := request.Pagination{
  3382  		NewRequest: func() (*request.Request, error) {
  3383  			var inCpy *ListSharedReportGroupsInput
  3384  			if input != nil {
  3385  				tmp := *input
  3386  				inCpy = &tmp
  3387  			}
  3388  			req, _ := c.ListSharedReportGroupsRequest(inCpy)
  3389  			req.SetContext(ctx)
  3390  			req.ApplyOptions(opts...)
  3391  			return req, nil
  3392  		},
  3393  	}
  3394  
  3395  	for p.Next() {
  3396  		if !fn(p.Page().(*ListSharedReportGroupsOutput), !p.HasNextPage()) {
  3397  			break
  3398  		}
  3399  	}
  3400  
  3401  	return p.Err()
  3402  }
  3403  
  3404  const opListSourceCredentials = "ListSourceCredentials"
  3405  
  3406  // ListSourceCredentialsRequest generates a "aws/request.Request" representing the
  3407  // client's request for the ListSourceCredentials operation. The "output" return
  3408  // value will be populated with the request's response once the request completes
  3409  // successfully.
  3410  //
  3411  // Use "Send" method on the returned Request to send the API call to the service.
  3412  // the "output" return value is not valid until after Send returns without error.
  3413  //
  3414  // See ListSourceCredentials for more information on using the ListSourceCredentials
  3415  // API call, and error handling.
  3416  //
  3417  // This method is useful when you want to inject custom logic or configuration
  3418  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3419  //
  3420  //
  3421  //    // Example sending a request using the ListSourceCredentialsRequest method.
  3422  //    req, resp := client.ListSourceCredentialsRequest(params)
  3423  //
  3424  //    err := req.Send()
  3425  //    if err == nil { // resp is now filled
  3426  //        fmt.Println(resp)
  3427  //    }
  3428  //
  3429  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSourceCredentials
  3430  func (c *CodeBuild) ListSourceCredentialsRequest(input *ListSourceCredentialsInput) (req *request.Request, output *ListSourceCredentialsOutput) {
  3431  	op := &request.Operation{
  3432  		Name:       opListSourceCredentials,
  3433  		HTTPMethod: "POST",
  3434  		HTTPPath:   "/",
  3435  	}
  3436  
  3437  	if input == nil {
  3438  		input = &ListSourceCredentialsInput{}
  3439  	}
  3440  
  3441  	output = &ListSourceCredentialsOutput{}
  3442  	req = c.newRequest(op, input, output)
  3443  	return
  3444  }
  3445  
  3446  // ListSourceCredentials API operation for AWS CodeBuild.
  3447  //
  3448  // Returns a list of SourceCredentialsInfo objects.
  3449  //
  3450  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3451  // with awserr.Error's Code and Message methods to get detailed information about
  3452  // the error.
  3453  //
  3454  // See the AWS API reference guide for AWS CodeBuild's
  3455  // API operation ListSourceCredentials for usage and error information.
  3456  //
  3457  // Returned Error Types:
  3458  //   * InvalidInputException
  3459  //   The input value that was provided is not valid.
  3460  //
  3461  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/ListSourceCredentials
  3462  func (c *CodeBuild) ListSourceCredentials(input *ListSourceCredentialsInput) (*ListSourceCredentialsOutput, error) {
  3463  	req, out := c.ListSourceCredentialsRequest(input)
  3464  	return out, req.Send()
  3465  }
  3466  
  3467  // ListSourceCredentialsWithContext is the same as ListSourceCredentials with the addition of
  3468  // the ability to pass a context and additional request options.
  3469  //
  3470  // See ListSourceCredentials for details on how to use this API operation.
  3471  //
  3472  // The context must be non-nil and will be used for request cancellation. If
  3473  // the context is nil a panic will occur. In the future the SDK may create
  3474  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3475  // for more information on using Contexts.
  3476  func (c *CodeBuild) ListSourceCredentialsWithContext(ctx aws.Context, input *ListSourceCredentialsInput, opts ...request.Option) (*ListSourceCredentialsOutput, error) {
  3477  	req, out := c.ListSourceCredentialsRequest(input)
  3478  	req.SetContext(ctx)
  3479  	req.ApplyOptions(opts...)
  3480  	return out, req.Send()
  3481  }
  3482  
  3483  const opPutResourcePolicy = "PutResourcePolicy"
  3484  
  3485  // PutResourcePolicyRequest generates a "aws/request.Request" representing the
  3486  // client's request for the PutResourcePolicy operation. The "output" return
  3487  // value will be populated with the request's response once the request completes
  3488  // successfully.
  3489  //
  3490  // Use "Send" method on the returned Request to send the API call to the service.
  3491  // the "output" return value is not valid until after Send returns without error.
  3492  //
  3493  // See PutResourcePolicy for more information on using the PutResourcePolicy
  3494  // API call, and error handling.
  3495  //
  3496  // This method is useful when you want to inject custom logic or configuration
  3497  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3498  //
  3499  //
  3500  //    // Example sending a request using the PutResourcePolicyRequest method.
  3501  //    req, resp := client.PutResourcePolicyRequest(params)
  3502  //
  3503  //    err := req.Send()
  3504  //    if err == nil { // resp is now filled
  3505  //        fmt.Println(resp)
  3506  //    }
  3507  //
  3508  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/PutResourcePolicy
  3509  func (c *CodeBuild) PutResourcePolicyRequest(input *PutResourcePolicyInput) (req *request.Request, output *PutResourcePolicyOutput) {
  3510  	op := &request.Operation{
  3511  		Name:       opPutResourcePolicy,
  3512  		HTTPMethod: "POST",
  3513  		HTTPPath:   "/",
  3514  	}
  3515  
  3516  	if input == nil {
  3517  		input = &PutResourcePolicyInput{}
  3518  	}
  3519  
  3520  	output = &PutResourcePolicyOutput{}
  3521  	req = c.newRequest(op, input, output)
  3522  	return
  3523  }
  3524  
  3525  // PutResourcePolicy API operation for AWS CodeBuild.
  3526  //
  3527  // Stores a resource policy for the ARN of a Project or ReportGroup object.
  3528  //
  3529  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3530  // with awserr.Error's Code and Message methods to get detailed information about
  3531  // the error.
  3532  //
  3533  // See the AWS API reference guide for AWS CodeBuild's
  3534  // API operation PutResourcePolicy for usage and error information.
  3535  //
  3536  // Returned Error Types:
  3537  //   * ResourceNotFoundException
  3538  //   The specified Amazon Web Services resource cannot be found.
  3539  //
  3540  //   * InvalidInputException
  3541  //   The input value that was provided is not valid.
  3542  //
  3543  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/PutResourcePolicy
  3544  func (c *CodeBuild) PutResourcePolicy(input *PutResourcePolicyInput) (*PutResourcePolicyOutput, error) {
  3545  	req, out := c.PutResourcePolicyRequest(input)
  3546  	return out, req.Send()
  3547  }
  3548  
  3549  // PutResourcePolicyWithContext is the same as PutResourcePolicy with the addition of
  3550  // the ability to pass a context and additional request options.
  3551  //
  3552  // See PutResourcePolicy for details on how to use this API operation.
  3553  //
  3554  // The context must be non-nil and will be used for request cancellation. If
  3555  // the context is nil a panic will occur. In the future the SDK may create
  3556  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3557  // for more information on using Contexts.
  3558  func (c *CodeBuild) PutResourcePolicyWithContext(ctx aws.Context, input *PutResourcePolicyInput, opts ...request.Option) (*PutResourcePolicyOutput, error) {
  3559  	req, out := c.PutResourcePolicyRequest(input)
  3560  	req.SetContext(ctx)
  3561  	req.ApplyOptions(opts...)
  3562  	return out, req.Send()
  3563  }
  3564  
  3565  const opRetryBuild = "RetryBuild"
  3566  
  3567  // RetryBuildRequest generates a "aws/request.Request" representing the
  3568  // client's request for the RetryBuild operation. The "output" return
  3569  // value will be populated with the request's response once the request completes
  3570  // successfully.
  3571  //
  3572  // Use "Send" method on the returned Request to send the API call to the service.
  3573  // the "output" return value is not valid until after Send returns without error.
  3574  //
  3575  // See RetryBuild for more information on using the RetryBuild
  3576  // API call, and error handling.
  3577  //
  3578  // This method is useful when you want to inject custom logic or configuration
  3579  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3580  //
  3581  //
  3582  //    // Example sending a request using the RetryBuildRequest method.
  3583  //    req, resp := client.RetryBuildRequest(params)
  3584  //
  3585  //    err := req.Send()
  3586  //    if err == nil { // resp is now filled
  3587  //        fmt.Println(resp)
  3588  //    }
  3589  //
  3590  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/RetryBuild
  3591  func (c *CodeBuild) RetryBuildRequest(input *RetryBuildInput) (req *request.Request, output *RetryBuildOutput) {
  3592  	op := &request.Operation{
  3593  		Name:       opRetryBuild,
  3594  		HTTPMethod: "POST",
  3595  		HTTPPath:   "/",
  3596  	}
  3597  
  3598  	if input == nil {
  3599  		input = &RetryBuildInput{}
  3600  	}
  3601  
  3602  	output = &RetryBuildOutput{}
  3603  	req = c.newRequest(op, input, output)
  3604  	return
  3605  }
  3606  
  3607  // RetryBuild API operation for AWS CodeBuild.
  3608  //
  3609  // Restarts a build.
  3610  //
  3611  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3612  // with awserr.Error's Code and Message methods to get detailed information about
  3613  // the error.
  3614  //
  3615  // See the AWS API reference guide for AWS CodeBuild's
  3616  // API operation RetryBuild for usage and error information.
  3617  //
  3618  // Returned Error Types:
  3619  //   * InvalidInputException
  3620  //   The input value that was provided is not valid.
  3621  //
  3622  //   * ResourceNotFoundException
  3623  //   The specified Amazon Web Services resource cannot be found.
  3624  //
  3625  //   * AccountLimitExceededException
  3626  //   An Amazon Web Services service limit was exceeded for the calling Amazon
  3627  //   Web Services account.
  3628  //
  3629  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/RetryBuild
  3630  func (c *CodeBuild) RetryBuild(input *RetryBuildInput) (*RetryBuildOutput, error) {
  3631  	req, out := c.RetryBuildRequest(input)
  3632  	return out, req.Send()
  3633  }
  3634  
  3635  // RetryBuildWithContext is the same as RetryBuild with the addition of
  3636  // the ability to pass a context and additional request options.
  3637  //
  3638  // See RetryBuild for details on how to use this API operation.
  3639  //
  3640  // The context must be non-nil and will be used for request cancellation. If
  3641  // the context is nil a panic will occur. In the future the SDK may create
  3642  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3643  // for more information on using Contexts.
  3644  func (c *CodeBuild) RetryBuildWithContext(ctx aws.Context, input *RetryBuildInput, opts ...request.Option) (*RetryBuildOutput, error) {
  3645  	req, out := c.RetryBuildRequest(input)
  3646  	req.SetContext(ctx)
  3647  	req.ApplyOptions(opts...)
  3648  	return out, req.Send()
  3649  }
  3650  
  3651  const opRetryBuildBatch = "RetryBuildBatch"
  3652  
  3653  // RetryBuildBatchRequest generates a "aws/request.Request" representing the
  3654  // client's request for the RetryBuildBatch operation. The "output" return
  3655  // value will be populated with the request's response once the request completes
  3656  // successfully.
  3657  //
  3658  // Use "Send" method on the returned Request to send the API call to the service.
  3659  // the "output" return value is not valid until after Send returns without error.
  3660  //
  3661  // See RetryBuildBatch for more information on using the RetryBuildBatch
  3662  // API call, and error handling.
  3663  //
  3664  // This method is useful when you want to inject custom logic or configuration
  3665  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3666  //
  3667  //
  3668  //    // Example sending a request using the RetryBuildBatchRequest method.
  3669  //    req, resp := client.RetryBuildBatchRequest(params)
  3670  //
  3671  //    err := req.Send()
  3672  //    if err == nil { // resp is now filled
  3673  //        fmt.Println(resp)
  3674  //    }
  3675  //
  3676  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/RetryBuildBatch
  3677  func (c *CodeBuild) RetryBuildBatchRequest(input *RetryBuildBatchInput) (req *request.Request, output *RetryBuildBatchOutput) {
  3678  	op := &request.Operation{
  3679  		Name:       opRetryBuildBatch,
  3680  		HTTPMethod: "POST",
  3681  		HTTPPath:   "/",
  3682  	}
  3683  
  3684  	if input == nil {
  3685  		input = &RetryBuildBatchInput{}
  3686  	}
  3687  
  3688  	output = &RetryBuildBatchOutput{}
  3689  	req = c.newRequest(op, input, output)
  3690  	return
  3691  }
  3692  
  3693  // RetryBuildBatch API operation for AWS CodeBuild.
  3694  //
  3695  // Restarts a failed batch build. Only batch builds that have failed can be
  3696  // retried.
  3697  //
  3698  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3699  // with awserr.Error's Code and Message methods to get detailed information about
  3700  // the error.
  3701  //
  3702  // See the AWS API reference guide for AWS CodeBuild's
  3703  // API operation RetryBuildBatch for usage and error information.
  3704  //
  3705  // Returned Error Types:
  3706  //   * InvalidInputException
  3707  //   The input value that was provided is not valid.
  3708  //
  3709  //   * ResourceNotFoundException
  3710  //   The specified Amazon Web Services resource cannot be found.
  3711  //
  3712  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/RetryBuildBatch
  3713  func (c *CodeBuild) RetryBuildBatch(input *RetryBuildBatchInput) (*RetryBuildBatchOutput, error) {
  3714  	req, out := c.RetryBuildBatchRequest(input)
  3715  	return out, req.Send()
  3716  }
  3717  
  3718  // RetryBuildBatchWithContext is the same as RetryBuildBatch with the addition of
  3719  // the ability to pass a context and additional request options.
  3720  //
  3721  // See RetryBuildBatch for details on how to use this API operation.
  3722  //
  3723  // The context must be non-nil and will be used for request cancellation. If
  3724  // the context is nil a panic will occur. In the future the SDK may create
  3725  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3726  // for more information on using Contexts.
  3727  func (c *CodeBuild) RetryBuildBatchWithContext(ctx aws.Context, input *RetryBuildBatchInput, opts ...request.Option) (*RetryBuildBatchOutput, error) {
  3728  	req, out := c.RetryBuildBatchRequest(input)
  3729  	req.SetContext(ctx)
  3730  	req.ApplyOptions(opts...)
  3731  	return out, req.Send()
  3732  }
  3733  
  3734  const opStartBuild = "StartBuild"
  3735  
  3736  // StartBuildRequest generates a "aws/request.Request" representing the
  3737  // client's request for the StartBuild operation. The "output" return
  3738  // value will be populated with the request's response once the request completes
  3739  // successfully.
  3740  //
  3741  // Use "Send" method on the returned Request to send the API call to the service.
  3742  // the "output" return value is not valid until after Send returns without error.
  3743  //
  3744  // See StartBuild for more information on using the StartBuild
  3745  // API call, and error handling.
  3746  //
  3747  // This method is useful when you want to inject custom logic or configuration
  3748  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3749  //
  3750  //
  3751  //    // Example sending a request using the StartBuildRequest method.
  3752  //    req, resp := client.StartBuildRequest(params)
  3753  //
  3754  //    err := req.Send()
  3755  //    if err == nil { // resp is now filled
  3756  //        fmt.Println(resp)
  3757  //    }
  3758  //
  3759  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StartBuild
  3760  func (c *CodeBuild) StartBuildRequest(input *StartBuildInput) (req *request.Request, output *StartBuildOutput) {
  3761  	op := &request.Operation{
  3762  		Name:       opStartBuild,
  3763  		HTTPMethod: "POST",
  3764  		HTTPPath:   "/",
  3765  	}
  3766  
  3767  	if input == nil {
  3768  		input = &StartBuildInput{}
  3769  	}
  3770  
  3771  	output = &StartBuildOutput{}
  3772  	req = c.newRequest(op, input, output)
  3773  	return
  3774  }
  3775  
  3776  // StartBuild API operation for AWS CodeBuild.
  3777  //
  3778  // Starts running a build.
  3779  //
  3780  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3781  // with awserr.Error's Code and Message methods to get detailed information about
  3782  // the error.
  3783  //
  3784  // See the AWS API reference guide for AWS CodeBuild's
  3785  // API operation StartBuild for usage and error information.
  3786  //
  3787  // Returned Error Types:
  3788  //   * InvalidInputException
  3789  //   The input value that was provided is not valid.
  3790  //
  3791  //   * ResourceNotFoundException
  3792  //   The specified Amazon Web Services resource cannot be found.
  3793  //
  3794  //   * AccountLimitExceededException
  3795  //   An Amazon Web Services service limit was exceeded for the calling Amazon
  3796  //   Web Services account.
  3797  //
  3798  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StartBuild
  3799  func (c *CodeBuild) StartBuild(input *StartBuildInput) (*StartBuildOutput, error) {
  3800  	req, out := c.StartBuildRequest(input)
  3801  	return out, req.Send()
  3802  }
  3803  
  3804  // StartBuildWithContext is the same as StartBuild with the addition of
  3805  // the ability to pass a context and additional request options.
  3806  //
  3807  // See StartBuild for details on how to use this API operation.
  3808  //
  3809  // The context must be non-nil and will be used for request cancellation. If
  3810  // the context is nil a panic will occur. In the future the SDK may create
  3811  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3812  // for more information on using Contexts.
  3813  func (c *CodeBuild) StartBuildWithContext(ctx aws.Context, input *StartBuildInput, opts ...request.Option) (*StartBuildOutput, error) {
  3814  	req, out := c.StartBuildRequest(input)
  3815  	req.SetContext(ctx)
  3816  	req.ApplyOptions(opts...)
  3817  	return out, req.Send()
  3818  }
  3819  
  3820  const opStartBuildBatch = "StartBuildBatch"
  3821  
  3822  // StartBuildBatchRequest generates a "aws/request.Request" representing the
  3823  // client's request for the StartBuildBatch operation. The "output" return
  3824  // value will be populated with the request's response once the request completes
  3825  // successfully.
  3826  //
  3827  // Use "Send" method on the returned Request to send the API call to the service.
  3828  // the "output" return value is not valid until after Send returns without error.
  3829  //
  3830  // See StartBuildBatch for more information on using the StartBuildBatch
  3831  // API call, and error handling.
  3832  //
  3833  // This method is useful when you want to inject custom logic or configuration
  3834  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3835  //
  3836  //
  3837  //    // Example sending a request using the StartBuildBatchRequest method.
  3838  //    req, resp := client.StartBuildBatchRequest(params)
  3839  //
  3840  //    err := req.Send()
  3841  //    if err == nil { // resp is now filled
  3842  //        fmt.Println(resp)
  3843  //    }
  3844  //
  3845  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StartBuildBatch
  3846  func (c *CodeBuild) StartBuildBatchRequest(input *StartBuildBatchInput) (req *request.Request, output *StartBuildBatchOutput) {
  3847  	op := &request.Operation{
  3848  		Name:       opStartBuildBatch,
  3849  		HTTPMethod: "POST",
  3850  		HTTPPath:   "/",
  3851  	}
  3852  
  3853  	if input == nil {
  3854  		input = &StartBuildBatchInput{}
  3855  	}
  3856  
  3857  	output = &StartBuildBatchOutput{}
  3858  	req = c.newRequest(op, input, output)
  3859  	return
  3860  }
  3861  
  3862  // StartBuildBatch API operation for AWS CodeBuild.
  3863  //
  3864  // Starts a batch build for a project.
  3865  //
  3866  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3867  // with awserr.Error's Code and Message methods to get detailed information about
  3868  // the error.
  3869  //
  3870  // See the AWS API reference guide for AWS CodeBuild's
  3871  // API operation StartBuildBatch for usage and error information.
  3872  //
  3873  // Returned Error Types:
  3874  //   * InvalidInputException
  3875  //   The input value that was provided is not valid.
  3876  //
  3877  //   * ResourceNotFoundException
  3878  //   The specified Amazon Web Services resource cannot be found.
  3879  //
  3880  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StartBuildBatch
  3881  func (c *CodeBuild) StartBuildBatch(input *StartBuildBatchInput) (*StartBuildBatchOutput, error) {
  3882  	req, out := c.StartBuildBatchRequest(input)
  3883  	return out, req.Send()
  3884  }
  3885  
  3886  // StartBuildBatchWithContext is the same as StartBuildBatch with the addition of
  3887  // the ability to pass a context and additional request options.
  3888  //
  3889  // See StartBuildBatch for details on how to use this API operation.
  3890  //
  3891  // The context must be non-nil and will be used for request cancellation. If
  3892  // the context is nil a panic will occur. In the future the SDK may create
  3893  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3894  // for more information on using Contexts.
  3895  func (c *CodeBuild) StartBuildBatchWithContext(ctx aws.Context, input *StartBuildBatchInput, opts ...request.Option) (*StartBuildBatchOutput, error) {
  3896  	req, out := c.StartBuildBatchRequest(input)
  3897  	req.SetContext(ctx)
  3898  	req.ApplyOptions(opts...)
  3899  	return out, req.Send()
  3900  }
  3901  
  3902  const opStopBuild = "StopBuild"
  3903  
  3904  // StopBuildRequest generates a "aws/request.Request" representing the
  3905  // client's request for the StopBuild operation. The "output" return
  3906  // value will be populated with the request's response once the request completes
  3907  // successfully.
  3908  //
  3909  // Use "Send" method on the returned Request to send the API call to the service.
  3910  // the "output" return value is not valid until after Send returns without error.
  3911  //
  3912  // See StopBuild for more information on using the StopBuild
  3913  // API call, and error handling.
  3914  //
  3915  // This method is useful when you want to inject custom logic or configuration
  3916  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3917  //
  3918  //
  3919  //    // Example sending a request using the StopBuildRequest method.
  3920  //    req, resp := client.StopBuildRequest(params)
  3921  //
  3922  //    err := req.Send()
  3923  //    if err == nil { // resp is now filled
  3924  //        fmt.Println(resp)
  3925  //    }
  3926  //
  3927  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StopBuild
  3928  func (c *CodeBuild) StopBuildRequest(input *StopBuildInput) (req *request.Request, output *StopBuildOutput) {
  3929  	op := &request.Operation{
  3930  		Name:       opStopBuild,
  3931  		HTTPMethod: "POST",
  3932  		HTTPPath:   "/",
  3933  	}
  3934  
  3935  	if input == nil {
  3936  		input = &StopBuildInput{}
  3937  	}
  3938  
  3939  	output = &StopBuildOutput{}
  3940  	req = c.newRequest(op, input, output)
  3941  	return
  3942  }
  3943  
  3944  // StopBuild API operation for AWS CodeBuild.
  3945  //
  3946  // Attempts to stop running a build.
  3947  //
  3948  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3949  // with awserr.Error's Code and Message methods to get detailed information about
  3950  // the error.
  3951  //
  3952  // See the AWS API reference guide for AWS CodeBuild's
  3953  // API operation StopBuild for usage and error information.
  3954  //
  3955  // Returned Error Types:
  3956  //   * InvalidInputException
  3957  //   The input value that was provided is not valid.
  3958  //
  3959  //   * ResourceNotFoundException
  3960  //   The specified Amazon Web Services resource cannot be found.
  3961  //
  3962  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StopBuild
  3963  func (c *CodeBuild) StopBuild(input *StopBuildInput) (*StopBuildOutput, error) {
  3964  	req, out := c.StopBuildRequest(input)
  3965  	return out, req.Send()
  3966  }
  3967  
  3968  // StopBuildWithContext is the same as StopBuild with the addition of
  3969  // the ability to pass a context and additional request options.
  3970  //
  3971  // See StopBuild for details on how to use this API operation.
  3972  //
  3973  // The context must be non-nil and will be used for request cancellation. If
  3974  // the context is nil a panic will occur. In the future the SDK may create
  3975  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3976  // for more information on using Contexts.
  3977  func (c *CodeBuild) StopBuildWithContext(ctx aws.Context, input *StopBuildInput, opts ...request.Option) (*StopBuildOutput, error) {
  3978  	req, out := c.StopBuildRequest(input)
  3979  	req.SetContext(ctx)
  3980  	req.ApplyOptions(opts...)
  3981  	return out, req.Send()
  3982  }
  3983  
  3984  const opStopBuildBatch = "StopBuildBatch"
  3985  
  3986  // StopBuildBatchRequest generates a "aws/request.Request" representing the
  3987  // client's request for the StopBuildBatch operation. The "output" return
  3988  // value will be populated with the request's response once the request completes
  3989  // successfully.
  3990  //
  3991  // Use "Send" method on the returned Request to send the API call to the service.
  3992  // the "output" return value is not valid until after Send returns without error.
  3993  //
  3994  // See StopBuildBatch for more information on using the StopBuildBatch
  3995  // API call, and error handling.
  3996  //
  3997  // This method is useful when you want to inject custom logic or configuration
  3998  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3999  //
  4000  //
  4001  //    // Example sending a request using the StopBuildBatchRequest method.
  4002  //    req, resp := client.StopBuildBatchRequest(params)
  4003  //
  4004  //    err := req.Send()
  4005  //    if err == nil { // resp is now filled
  4006  //        fmt.Println(resp)
  4007  //    }
  4008  //
  4009  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StopBuildBatch
  4010  func (c *CodeBuild) StopBuildBatchRequest(input *StopBuildBatchInput) (req *request.Request, output *StopBuildBatchOutput) {
  4011  	op := &request.Operation{
  4012  		Name:       opStopBuildBatch,
  4013  		HTTPMethod: "POST",
  4014  		HTTPPath:   "/",
  4015  	}
  4016  
  4017  	if input == nil {
  4018  		input = &StopBuildBatchInput{}
  4019  	}
  4020  
  4021  	output = &StopBuildBatchOutput{}
  4022  	req = c.newRequest(op, input, output)
  4023  	return
  4024  }
  4025  
  4026  // StopBuildBatch API operation for AWS CodeBuild.
  4027  //
  4028  // Stops a running batch build.
  4029  //
  4030  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4031  // with awserr.Error's Code and Message methods to get detailed information about
  4032  // the error.
  4033  //
  4034  // See the AWS API reference guide for AWS CodeBuild's
  4035  // API operation StopBuildBatch for usage and error information.
  4036  //
  4037  // Returned Error Types:
  4038  //   * InvalidInputException
  4039  //   The input value that was provided is not valid.
  4040  //
  4041  //   * ResourceNotFoundException
  4042  //   The specified Amazon Web Services resource cannot be found.
  4043  //
  4044  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/StopBuildBatch
  4045  func (c *CodeBuild) StopBuildBatch(input *StopBuildBatchInput) (*StopBuildBatchOutput, error) {
  4046  	req, out := c.StopBuildBatchRequest(input)
  4047  	return out, req.Send()
  4048  }
  4049  
  4050  // StopBuildBatchWithContext is the same as StopBuildBatch with the addition of
  4051  // the ability to pass a context and additional request options.
  4052  //
  4053  // See StopBuildBatch 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.
  4059  func (c *CodeBuild) StopBuildBatchWithContext(ctx aws.Context, input *StopBuildBatchInput, opts ...request.Option) (*StopBuildBatchOutput, error) {
  4060  	req, out := c.StopBuildBatchRequest(input)
  4061  	req.SetContext(ctx)
  4062  	req.ApplyOptions(opts...)
  4063  	return out, req.Send()
  4064  }
  4065  
  4066  const opUpdateProject = "UpdateProject"
  4067  
  4068  // UpdateProjectRequest generates a "aws/request.Request" representing the
  4069  // client's request for the UpdateProject 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 UpdateProject for more information on using the UpdateProject
  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 UpdateProjectRequest method.
  4084  //    req, resp := client.UpdateProjectRequest(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/codebuild-2016-10-06/UpdateProject
  4092  func (c *CodeBuild) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) {
  4093  	op := &request.Operation{
  4094  		Name:       opUpdateProject,
  4095  		HTTPMethod: "POST",
  4096  		HTTPPath:   "/",
  4097  	}
  4098  
  4099  	if input == nil {
  4100  		input = &UpdateProjectInput{}
  4101  	}
  4102  
  4103  	output = &UpdateProjectOutput{}
  4104  	req = c.newRequest(op, input, output)
  4105  	return
  4106  }
  4107  
  4108  // UpdateProject API operation for AWS CodeBuild.
  4109  //
  4110  // Changes the settings of a build project.
  4111  //
  4112  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4113  // with awserr.Error's Code and Message methods to get detailed information about
  4114  // the error.
  4115  //
  4116  // See the AWS API reference guide for AWS CodeBuild's
  4117  // API operation UpdateProject for usage and error information.
  4118  //
  4119  // Returned Error Types:
  4120  //   * InvalidInputException
  4121  //   The input value that was provided is not valid.
  4122  //
  4123  //   * ResourceNotFoundException
  4124  //   The specified Amazon Web Services resource cannot be found.
  4125  //
  4126  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateProject
  4127  func (c *CodeBuild) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) {
  4128  	req, out := c.UpdateProjectRequest(input)
  4129  	return out, req.Send()
  4130  }
  4131  
  4132  // UpdateProjectWithContext is the same as UpdateProject with the addition of
  4133  // the ability to pass a context and additional request options.
  4134  //
  4135  // See UpdateProject for details on how to use this API operation.
  4136  //
  4137  // The context must be non-nil and will be used for request cancellation. If
  4138  // the context is nil a panic will occur. In the future the SDK may create
  4139  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4140  // for more information on using Contexts.
  4141  func (c *CodeBuild) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) {
  4142  	req, out := c.UpdateProjectRequest(input)
  4143  	req.SetContext(ctx)
  4144  	req.ApplyOptions(opts...)
  4145  	return out, req.Send()
  4146  }
  4147  
  4148  const opUpdateProjectVisibility = "UpdateProjectVisibility"
  4149  
  4150  // UpdateProjectVisibilityRequest generates a "aws/request.Request" representing the
  4151  // client's request for the UpdateProjectVisibility operation. The "output" return
  4152  // value will be populated with the request's response once the request completes
  4153  // successfully.
  4154  //
  4155  // Use "Send" method on the returned Request to send the API call to the service.
  4156  // the "output" return value is not valid until after Send returns without error.
  4157  //
  4158  // See UpdateProjectVisibility for more information on using the UpdateProjectVisibility
  4159  // API call, and error handling.
  4160  //
  4161  // This method is useful when you want to inject custom logic or configuration
  4162  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4163  //
  4164  //
  4165  //    // Example sending a request using the UpdateProjectVisibilityRequest method.
  4166  //    req, resp := client.UpdateProjectVisibilityRequest(params)
  4167  //
  4168  //    err := req.Send()
  4169  //    if err == nil { // resp is now filled
  4170  //        fmt.Println(resp)
  4171  //    }
  4172  //
  4173  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateProjectVisibility
  4174  func (c *CodeBuild) UpdateProjectVisibilityRequest(input *UpdateProjectVisibilityInput) (req *request.Request, output *UpdateProjectVisibilityOutput) {
  4175  	op := &request.Operation{
  4176  		Name:       opUpdateProjectVisibility,
  4177  		HTTPMethod: "POST",
  4178  		HTTPPath:   "/",
  4179  	}
  4180  
  4181  	if input == nil {
  4182  		input = &UpdateProjectVisibilityInput{}
  4183  	}
  4184  
  4185  	output = &UpdateProjectVisibilityOutput{}
  4186  	req = c.newRequest(op, input, output)
  4187  	return
  4188  }
  4189  
  4190  // UpdateProjectVisibility API operation for AWS CodeBuild.
  4191  //
  4192  // Changes the public visibility for a project. The project's build results,
  4193  // logs, and artifacts are available to the general public. For more information,
  4194  // see Public build projects (https://docs.aws.amazon.com/codebuild/latest/userguide/public-builds.html)
  4195  // in the CodeBuild User Guide.
  4196  //
  4197  // The following should be kept in mind when making your projects public:
  4198  //
  4199  //    * All of a project's build results, logs, and artifacts, including builds
  4200  //    that were run when the project was private, are available to the general
  4201  //    public.
  4202  //
  4203  //    * All build logs and artifacts are available to the public. Environment
  4204  //    variables, source code, and other sensitive information may have been
  4205  //    output to the build logs and artifacts. You must be careful about what
  4206  //    information is output to the build logs. Some best practice are: Do not
  4207  //    store sensitive values, especially Amazon Web Services access key IDs
  4208  //    and secret access keys, in environment variables. We recommend that you
  4209  //    use an Amazon EC2 Systems Manager Parameter Store or Secrets Manager to
  4210  //    store sensitive values. Follow Best practices for using webhooks (https://docs.aws.amazon.com/codebuild/latest/userguide/webhooks.html#webhook-best-practices)
  4211  //    in the CodeBuild User Guide to limit which entities can trigger a build,
  4212  //    and do not store the buildspec in the project itself, to ensure that your
  4213  //    webhooks are as secure as possible.
  4214  //
  4215  //    * A malicious user can use public builds to distribute malicious artifacts.
  4216  //    We recommend that you review all pull requests to verify that the pull
  4217  //    request is a legitimate change. We also recommend that you validate any
  4218  //    artifacts with their checksums to make sure that the correct artifacts
  4219  //    are being downloaded.
  4220  //
  4221  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4222  // with awserr.Error's Code and Message methods to get detailed information about
  4223  // the error.
  4224  //
  4225  // See the AWS API reference guide for AWS CodeBuild's
  4226  // API operation UpdateProjectVisibility for usage and error information.
  4227  //
  4228  // Returned Error Types:
  4229  //   * InvalidInputException
  4230  //   The input value that was provided is not valid.
  4231  //
  4232  //   * ResourceNotFoundException
  4233  //   The specified Amazon Web Services resource cannot be found.
  4234  //
  4235  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateProjectVisibility
  4236  func (c *CodeBuild) UpdateProjectVisibility(input *UpdateProjectVisibilityInput) (*UpdateProjectVisibilityOutput, error) {
  4237  	req, out := c.UpdateProjectVisibilityRequest(input)
  4238  	return out, req.Send()
  4239  }
  4240  
  4241  // UpdateProjectVisibilityWithContext is the same as UpdateProjectVisibility with the addition of
  4242  // the ability to pass a context and additional request options.
  4243  //
  4244  // See UpdateProjectVisibility for details on how to use this API operation.
  4245  //
  4246  // The context must be non-nil and will be used for request cancellation. If
  4247  // the context is nil a panic will occur. In the future the SDK may create
  4248  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4249  // for more information on using Contexts.
  4250  func (c *CodeBuild) UpdateProjectVisibilityWithContext(ctx aws.Context, input *UpdateProjectVisibilityInput, opts ...request.Option) (*UpdateProjectVisibilityOutput, error) {
  4251  	req, out := c.UpdateProjectVisibilityRequest(input)
  4252  	req.SetContext(ctx)
  4253  	req.ApplyOptions(opts...)
  4254  	return out, req.Send()
  4255  }
  4256  
  4257  const opUpdateReportGroup = "UpdateReportGroup"
  4258  
  4259  // UpdateReportGroupRequest generates a "aws/request.Request" representing the
  4260  // client's request for the UpdateReportGroup operation. The "output" return
  4261  // value will be populated with the request's response once the request completes
  4262  // successfully.
  4263  //
  4264  // Use "Send" method on the returned Request to send the API call to the service.
  4265  // the "output" return value is not valid until after Send returns without error.
  4266  //
  4267  // See UpdateReportGroup for more information on using the UpdateReportGroup
  4268  // API call, and error handling.
  4269  //
  4270  // This method is useful when you want to inject custom logic or configuration
  4271  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4272  //
  4273  //
  4274  //    // Example sending a request using the UpdateReportGroupRequest method.
  4275  //    req, resp := client.UpdateReportGroupRequest(params)
  4276  //
  4277  //    err := req.Send()
  4278  //    if err == nil { // resp is now filled
  4279  //        fmt.Println(resp)
  4280  //    }
  4281  //
  4282  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateReportGroup
  4283  func (c *CodeBuild) UpdateReportGroupRequest(input *UpdateReportGroupInput) (req *request.Request, output *UpdateReportGroupOutput) {
  4284  	op := &request.Operation{
  4285  		Name:       opUpdateReportGroup,
  4286  		HTTPMethod: "POST",
  4287  		HTTPPath:   "/",
  4288  	}
  4289  
  4290  	if input == nil {
  4291  		input = &UpdateReportGroupInput{}
  4292  	}
  4293  
  4294  	output = &UpdateReportGroupOutput{}
  4295  	req = c.newRequest(op, input, output)
  4296  	return
  4297  }
  4298  
  4299  // UpdateReportGroup API operation for AWS CodeBuild.
  4300  //
  4301  // Updates a report group.
  4302  //
  4303  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4304  // with awserr.Error's Code and Message methods to get detailed information about
  4305  // the error.
  4306  //
  4307  // See the AWS API reference guide for AWS CodeBuild's
  4308  // API operation UpdateReportGroup for usage and error information.
  4309  //
  4310  // Returned Error Types:
  4311  //   * InvalidInputException
  4312  //   The input value that was provided is not valid.
  4313  //
  4314  //   * ResourceNotFoundException
  4315  //   The specified Amazon Web Services resource cannot be found.
  4316  //
  4317  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateReportGroup
  4318  func (c *CodeBuild) UpdateReportGroup(input *UpdateReportGroupInput) (*UpdateReportGroupOutput, error) {
  4319  	req, out := c.UpdateReportGroupRequest(input)
  4320  	return out, req.Send()
  4321  }
  4322  
  4323  // UpdateReportGroupWithContext is the same as UpdateReportGroup with the addition of
  4324  // the ability to pass a context and additional request options.
  4325  //
  4326  // See UpdateReportGroup for details on how to use this API operation.
  4327  //
  4328  // The context must be non-nil and will be used for request cancellation. If
  4329  // the context is nil a panic will occur. In the future the SDK may create
  4330  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4331  // for more information on using Contexts.
  4332  func (c *CodeBuild) UpdateReportGroupWithContext(ctx aws.Context, input *UpdateReportGroupInput, opts ...request.Option) (*UpdateReportGroupOutput, error) {
  4333  	req, out := c.UpdateReportGroupRequest(input)
  4334  	req.SetContext(ctx)
  4335  	req.ApplyOptions(opts...)
  4336  	return out, req.Send()
  4337  }
  4338  
  4339  const opUpdateWebhook = "UpdateWebhook"
  4340  
  4341  // UpdateWebhookRequest generates a "aws/request.Request" representing the
  4342  // client's request for the UpdateWebhook operation. The "output" return
  4343  // value will be populated with the request's response once the request completes
  4344  // successfully.
  4345  //
  4346  // Use "Send" method on the returned Request to send the API call to the service.
  4347  // the "output" return value is not valid until after Send returns without error.
  4348  //
  4349  // See UpdateWebhook for more information on using the UpdateWebhook
  4350  // API call, and error handling.
  4351  //
  4352  // This method is useful when you want to inject custom logic or configuration
  4353  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4354  //
  4355  //
  4356  //    // Example sending a request using the UpdateWebhookRequest method.
  4357  //    req, resp := client.UpdateWebhookRequest(params)
  4358  //
  4359  //    err := req.Send()
  4360  //    if err == nil { // resp is now filled
  4361  //        fmt.Println(resp)
  4362  //    }
  4363  //
  4364  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateWebhook
  4365  func (c *CodeBuild) UpdateWebhookRequest(input *UpdateWebhookInput) (req *request.Request, output *UpdateWebhookOutput) {
  4366  	op := &request.Operation{
  4367  		Name:       opUpdateWebhook,
  4368  		HTTPMethod: "POST",
  4369  		HTTPPath:   "/",
  4370  	}
  4371  
  4372  	if input == nil {
  4373  		input = &UpdateWebhookInput{}
  4374  	}
  4375  
  4376  	output = &UpdateWebhookOutput{}
  4377  	req = c.newRequest(op, input, output)
  4378  	return
  4379  }
  4380  
  4381  // UpdateWebhook API operation for AWS CodeBuild.
  4382  //
  4383  // Updates the webhook associated with an CodeBuild build project.
  4384  //
  4385  // If you use Bitbucket for your repository, rotateSecret is ignored.
  4386  //
  4387  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4388  // with awserr.Error's Code and Message methods to get detailed information about
  4389  // the error.
  4390  //
  4391  // See the AWS API reference guide for AWS CodeBuild's
  4392  // API operation UpdateWebhook for usage and error information.
  4393  //
  4394  // Returned Error Types:
  4395  //   * InvalidInputException
  4396  //   The input value that was provided is not valid.
  4397  //
  4398  //   * ResourceNotFoundException
  4399  //   The specified Amazon Web Services resource cannot be found.
  4400  //
  4401  //   * OAuthProviderException
  4402  //   There was a problem with the underlying OAuth provider.
  4403  //
  4404  // See also, https://docs.aws.amazon.com/goto/WebAPI/codebuild-2016-10-06/UpdateWebhook
  4405  func (c *CodeBuild) UpdateWebhook(input *UpdateWebhookInput) (*UpdateWebhookOutput, error) {
  4406  	req, out := c.UpdateWebhookRequest(input)
  4407  	return out, req.Send()
  4408  }
  4409  
  4410  // UpdateWebhookWithContext is the same as UpdateWebhook with the addition of
  4411  // the ability to pass a context and additional request options.
  4412  //
  4413  // See UpdateWebhook for details on how to use this API operation.
  4414  //
  4415  // The context must be non-nil and will be used for request cancellation. If
  4416  // the context is nil a panic will occur. In the future the SDK may create
  4417  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4418  // for more information on using Contexts.
  4419  func (c *CodeBuild) UpdateWebhookWithContext(ctx aws.Context, input *UpdateWebhookInput, opts ...request.Option) (*UpdateWebhookOutput, error) {
  4420  	req, out := c.UpdateWebhookRequest(input)
  4421  	req.SetContext(ctx)
  4422  	req.ApplyOptions(opts...)
  4423  	return out, req.Send()
  4424  }
  4425  
  4426  // An Amazon Web Services service limit was exceeded for the calling Amazon
  4427  // Web Services account.
  4428  type AccountLimitExceededException struct {
  4429  	_            struct{}                  `type:"structure"`
  4430  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4431  
  4432  	Message_ *string `locationName:"message" type:"string"`
  4433  }
  4434  
  4435  // String returns the string representation.
  4436  //
  4437  // API parameter values that are decorated as "sensitive" in the API will not
  4438  // be included in the string output. The member name will be present, but the
  4439  // value will be replaced with "sensitive".
  4440  func (s AccountLimitExceededException) String() string {
  4441  	return awsutil.Prettify(s)
  4442  }
  4443  
  4444  // GoString returns the string representation.
  4445  //
  4446  // API parameter values that are decorated as "sensitive" in the API will not
  4447  // be included in the string output. The member name will be present, but the
  4448  // value will be replaced with "sensitive".
  4449  func (s AccountLimitExceededException) GoString() string {
  4450  	return s.String()
  4451  }
  4452  
  4453  func newErrorAccountLimitExceededException(v protocol.ResponseMetadata) error {
  4454  	return &AccountLimitExceededException{
  4455  		RespMetadata: v,
  4456  	}
  4457  }
  4458  
  4459  // Code returns the exception type name.
  4460  func (s *AccountLimitExceededException) Code() string {
  4461  	return "AccountLimitExceededException"
  4462  }
  4463  
  4464  // Message returns the exception's message.
  4465  func (s *AccountLimitExceededException) Message() string {
  4466  	if s.Message_ != nil {
  4467  		return *s.Message_
  4468  	}
  4469  	return ""
  4470  }
  4471  
  4472  // OrigErr always returns nil, satisfies awserr.Error interface.
  4473  func (s *AccountLimitExceededException) OrigErr() error {
  4474  	return nil
  4475  }
  4476  
  4477  func (s *AccountLimitExceededException) Error() string {
  4478  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4479  }
  4480  
  4481  // Status code returns the HTTP status code for the request's response error.
  4482  func (s *AccountLimitExceededException) StatusCode() int {
  4483  	return s.RespMetadata.StatusCode
  4484  }
  4485  
  4486  // RequestID returns the service's response RequestID for request.
  4487  func (s *AccountLimitExceededException) RequestID() string {
  4488  	return s.RespMetadata.RequestID
  4489  }
  4490  
  4491  type BatchDeleteBuildsInput struct {
  4492  	_ struct{} `type:"structure"`
  4493  
  4494  	// The IDs of the builds to delete.
  4495  	//
  4496  	// Ids is a required field
  4497  	Ids []*string `locationName:"ids" min:"1" type:"list" required:"true"`
  4498  }
  4499  
  4500  // String returns the string representation.
  4501  //
  4502  // API parameter values that are decorated as "sensitive" in the API will not
  4503  // be included in the string output. The member name will be present, but the
  4504  // value will be replaced with "sensitive".
  4505  func (s BatchDeleteBuildsInput) String() string {
  4506  	return awsutil.Prettify(s)
  4507  }
  4508  
  4509  // GoString returns the string representation.
  4510  //
  4511  // API parameter values that are decorated as "sensitive" in the API will not
  4512  // be included in the string output. The member name will be present, but the
  4513  // value will be replaced with "sensitive".
  4514  func (s BatchDeleteBuildsInput) GoString() string {
  4515  	return s.String()
  4516  }
  4517  
  4518  // Validate inspects the fields of the type to determine if they are valid.
  4519  func (s *BatchDeleteBuildsInput) Validate() error {
  4520  	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteBuildsInput"}
  4521  	if s.Ids == nil {
  4522  		invalidParams.Add(request.NewErrParamRequired("Ids"))
  4523  	}
  4524  	if s.Ids != nil && len(s.Ids) < 1 {
  4525  		invalidParams.Add(request.NewErrParamMinLen("Ids", 1))
  4526  	}
  4527  
  4528  	if invalidParams.Len() > 0 {
  4529  		return invalidParams
  4530  	}
  4531  	return nil
  4532  }
  4533  
  4534  // SetIds sets the Ids field's value.
  4535  func (s *BatchDeleteBuildsInput) SetIds(v []*string) *BatchDeleteBuildsInput {
  4536  	s.Ids = v
  4537  	return s
  4538  }
  4539  
  4540  type BatchDeleteBuildsOutput struct {
  4541  	_ struct{} `type:"structure"`
  4542  
  4543  	// The IDs of the builds that were successfully deleted.
  4544  	BuildsDeleted []*string `locationName:"buildsDeleted" min:"1" type:"list"`
  4545  
  4546  	// Information about any builds that could not be successfully deleted.
  4547  	BuildsNotDeleted []*BuildNotDeleted `locationName:"buildsNotDeleted" type:"list"`
  4548  }
  4549  
  4550  // String returns the string representation.
  4551  //
  4552  // API parameter values that are decorated as "sensitive" in the API will not
  4553  // be included in the string output. The member name will be present, but the
  4554  // value will be replaced with "sensitive".
  4555  func (s BatchDeleteBuildsOutput) String() string {
  4556  	return awsutil.Prettify(s)
  4557  }
  4558  
  4559  // GoString returns the string representation.
  4560  //
  4561  // API parameter values that are decorated as "sensitive" in the API will not
  4562  // be included in the string output. The member name will be present, but the
  4563  // value will be replaced with "sensitive".
  4564  func (s BatchDeleteBuildsOutput) GoString() string {
  4565  	return s.String()
  4566  }
  4567  
  4568  // SetBuildsDeleted sets the BuildsDeleted field's value.
  4569  func (s *BatchDeleteBuildsOutput) SetBuildsDeleted(v []*string) *BatchDeleteBuildsOutput {
  4570  	s.BuildsDeleted = v
  4571  	return s
  4572  }
  4573  
  4574  // SetBuildsNotDeleted sets the BuildsNotDeleted field's value.
  4575  func (s *BatchDeleteBuildsOutput) SetBuildsNotDeleted(v []*BuildNotDeleted) *BatchDeleteBuildsOutput {
  4576  	s.BuildsNotDeleted = v
  4577  	return s
  4578  }
  4579  
  4580  type BatchGetBuildBatchesInput struct {
  4581  	_ struct{} `type:"structure"`
  4582  
  4583  	// An array that contains the batch build identifiers to retrieve.
  4584  	//
  4585  	// Ids is a required field
  4586  	Ids []*string `locationName:"ids" type:"list" required:"true"`
  4587  }
  4588  
  4589  // String returns the string representation.
  4590  //
  4591  // API parameter values that are decorated as "sensitive" in the API will not
  4592  // be included in the string output. The member name will be present, but the
  4593  // value will be replaced with "sensitive".
  4594  func (s BatchGetBuildBatchesInput) String() string {
  4595  	return awsutil.Prettify(s)
  4596  }
  4597  
  4598  // GoString returns the string representation.
  4599  //
  4600  // API parameter values that are decorated as "sensitive" in the API will not
  4601  // be included in the string output. The member name will be present, but the
  4602  // value will be replaced with "sensitive".
  4603  func (s BatchGetBuildBatchesInput) GoString() string {
  4604  	return s.String()
  4605  }
  4606  
  4607  // Validate inspects the fields of the type to determine if they are valid.
  4608  func (s *BatchGetBuildBatchesInput) Validate() error {
  4609  	invalidParams := request.ErrInvalidParams{Context: "BatchGetBuildBatchesInput"}
  4610  	if s.Ids == nil {
  4611  		invalidParams.Add(request.NewErrParamRequired("Ids"))
  4612  	}
  4613  
  4614  	if invalidParams.Len() > 0 {
  4615  		return invalidParams
  4616  	}
  4617  	return nil
  4618  }
  4619  
  4620  // SetIds sets the Ids field's value.
  4621  func (s *BatchGetBuildBatchesInput) SetIds(v []*string) *BatchGetBuildBatchesInput {
  4622  	s.Ids = v
  4623  	return s
  4624  }
  4625  
  4626  type BatchGetBuildBatchesOutput struct {
  4627  	_ struct{} `type:"structure"`
  4628  
  4629  	// An array of BuildBatch objects that represent the retrieved batch builds.
  4630  	BuildBatches []*BuildBatch `locationName:"buildBatches" type:"list"`
  4631  
  4632  	// An array that contains the identifiers of any batch builds that are not found.
  4633  	BuildBatchesNotFound []*string `locationName:"buildBatchesNotFound" type:"list"`
  4634  }
  4635  
  4636  // String returns the string representation.
  4637  //
  4638  // API parameter values that are decorated as "sensitive" in the API will not
  4639  // be included in the string output. The member name will be present, but the
  4640  // value will be replaced with "sensitive".
  4641  func (s BatchGetBuildBatchesOutput) String() string {
  4642  	return awsutil.Prettify(s)
  4643  }
  4644  
  4645  // GoString returns the string representation.
  4646  //
  4647  // API parameter values that are decorated as "sensitive" in the API will not
  4648  // be included in the string output. The member name will be present, but the
  4649  // value will be replaced with "sensitive".
  4650  func (s BatchGetBuildBatchesOutput) GoString() string {
  4651  	return s.String()
  4652  }
  4653  
  4654  // SetBuildBatches sets the BuildBatches field's value.
  4655  func (s *BatchGetBuildBatchesOutput) SetBuildBatches(v []*BuildBatch) *BatchGetBuildBatchesOutput {
  4656  	s.BuildBatches = v
  4657  	return s
  4658  }
  4659  
  4660  // SetBuildBatchesNotFound sets the BuildBatchesNotFound field's value.
  4661  func (s *BatchGetBuildBatchesOutput) SetBuildBatchesNotFound(v []*string) *BatchGetBuildBatchesOutput {
  4662  	s.BuildBatchesNotFound = v
  4663  	return s
  4664  }
  4665  
  4666  type BatchGetBuildsInput struct {
  4667  	_ struct{} `type:"structure"`
  4668  
  4669  	// The IDs of the builds.
  4670  	//
  4671  	// Ids is a required field
  4672  	Ids []*string `locationName:"ids" min:"1" type:"list" required:"true"`
  4673  }
  4674  
  4675  // String returns the string representation.
  4676  //
  4677  // API parameter values that are decorated as "sensitive" in the API will not
  4678  // be included in the string output. The member name will be present, but the
  4679  // value will be replaced with "sensitive".
  4680  func (s BatchGetBuildsInput) String() string {
  4681  	return awsutil.Prettify(s)
  4682  }
  4683  
  4684  // GoString returns the string representation.
  4685  //
  4686  // API parameter values that are decorated as "sensitive" in the API will not
  4687  // be included in the string output. The member name will be present, but the
  4688  // value will be replaced with "sensitive".
  4689  func (s BatchGetBuildsInput) GoString() string {
  4690  	return s.String()
  4691  }
  4692  
  4693  // Validate inspects the fields of the type to determine if they are valid.
  4694  func (s *BatchGetBuildsInput) Validate() error {
  4695  	invalidParams := request.ErrInvalidParams{Context: "BatchGetBuildsInput"}
  4696  	if s.Ids == nil {
  4697  		invalidParams.Add(request.NewErrParamRequired("Ids"))
  4698  	}
  4699  	if s.Ids != nil && len(s.Ids) < 1 {
  4700  		invalidParams.Add(request.NewErrParamMinLen("Ids", 1))
  4701  	}
  4702  
  4703  	if invalidParams.Len() > 0 {
  4704  		return invalidParams
  4705  	}
  4706  	return nil
  4707  }
  4708  
  4709  // SetIds sets the Ids field's value.
  4710  func (s *BatchGetBuildsInput) SetIds(v []*string) *BatchGetBuildsInput {
  4711  	s.Ids = v
  4712  	return s
  4713  }
  4714  
  4715  type BatchGetBuildsOutput struct {
  4716  	_ struct{} `type:"structure"`
  4717  
  4718  	// Information about the requested builds.
  4719  	Builds []*Build `locationName:"builds" type:"list"`
  4720  
  4721  	// The IDs of builds for which information could not be found.
  4722  	BuildsNotFound []*string `locationName:"buildsNotFound" min:"1" type:"list"`
  4723  }
  4724  
  4725  // String returns the string representation.
  4726  //
  4727  // API parameter values that are decorated as "sensitive" in the API will not
  4728  // be included in the string output. The member name will be present, but the
  4729  // value will be replaced with "sensitive".
  4730  func (s BatchGetBuildsOutput) String() string {
  4731  	return awsutil.Prettify(s)
  4732  }
  4733  
  4734  // GoString returns the string representation.
  4735  //
  4736  // API parameter values that are decorated as "sensitive" in the API will not
  4737  // be included in the string output. The member name will be present, but the
  4738  // value will be replaced with "sensitive".
  4739  func (s BatchGetBuildsOutput) GoString() string {
  4740  	return s.String()
  4741  }
  4742  
  4743  // SetBuilds sets the Builds field's value.
  4744  func (s *BatchGetBuildsOutput) SetBuilds(v []*Build) *BatchGetBuildsOutput {
  4745  	s.Builds = v
  4746  	return s
  4747  }
  4748  
  4749  // SetBuildsNotFound sets the BuildsNotFound field's value.
  4750  func (s *BatchGetBuildsOutput) SetBuildsNotFound(v []*string) *BatchGetBuildsOutput {
  4751  	s.BuildsNotFound = v
  4752  	return s
  4753  }
  4754  
  4755  type BatchGetProjectsInput struct {
  4756  	_ struct{} `type:"structure"`
  4757  
  4758  	// The names or ARNs of the build projects. To get information about a project
  4759  	// shared with your Amazon Web Services account, its ARN must be specified.
  4760  	// You cannot specify a shared project using its name.
  4761  	//
  4762  	// Names is a required field
  4763  	Names []*string `locationName:"names" min:"1" type:"list" required:"true"`
  4764  }
  4765  
  4766  // String returns the string representation.
  4767  //
  4768  // API parameter values that are decorated as "sensitive" in the API will not
  4769  // be included in the string output. The member name will be present, but the
  4770  // value will be replaced with "sensitive".
  4771  func (s BatchGetProjectsInput) String() string {
  4772  	return awsutil.Prettify(s)
  4773  }
  4774  
  4775  // GoString returns the string representation.
  4776  //
  4777  // API parameter values that are decorated as "sensitive" in the API will not
  4778  // be included in the string output. The member name will be present, but the
  4779  // value will be replaced with "sensitive".
  4780  func (s BatchGetProjectsInput) GoString() string {
  4781  	return s.String()
  4782  }
  4783  
  4784  // Validate inspects the fields of the type to determine if they are valid.
  4785  func (s *BatchGetProjectsInput) Validate() error {
  4786  	invalidParams := request.ErrInvalidParams{Context: "BatchGetProjectsInput"}
  4787  	if s.Names == nil {
  4788  		invalidParams.Add(request.NewErrParamRequired("Names"))
  4789  	}
  4790  	if s.Names != nil && len(s.Names) < 1 {
  4791  		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
  4792  	}
  4793  
  4794  	if invalidParams.Len() > 0 {
  4795  		return invalidParams
  4796  	}
  4797  	return nil
  4798  }
  4799  
  4800  // SetNames sets the Names field's value.
  4801  func (s *BatchGetProjectsInput) SetNames(v []*string) *BatchGetProjectsInput {
  4802  	s.Names = v
  4803  	return s
  4804  }
  4805  
  4806  type BatchGetProjectsOutput struct {
  4807  	_ struct{} `type:"structure"`
  4808  
  4809  	// Information about the requested build projects.
  4810  	Projects []*Project `locationName:"projects" type:"list"`
  4811  
  4812  	// The names of build projects for which information could not be found.
  4813  	ProjectsNotFound []*string `locationName:"projectsNotFound" min:"1" type:"list"`
  4814  }
  4815  
  4816  // String returns the string representation.
  4817  //
  4818  // API parameter values that are decorated as "sensitive" in the API will not
  4819  // be included in the string output. The member name will be present, but the
  4820  // value will be replaced with "sensitive".
  4821  func (s BatchGetProjectsOutput) String() string {
  4822  	return awsutil.Prettify(s)
  4823  }
  4824  
  4825  // GoString returns the string representation.
  4826  //
  4827  // API parameter values that are decorated as "sensitive" in the API will not
  4828  // be included in the string output. The member name will be present, but the
  4829  // value will be replaced with "sensitive".
  4830  func (s BatchGetProjectsOutput) GoString() string {
  4831  	return s.String()
  4832  }
  4833  
  4834  // SetProjects sets the Projects field's value.
  4835  func (s *BatchGetProjectsOutput) SetProjects(v []*Project) *BatchGetProjectsOutput {
  4836  	s.Projects = v
  4837  	return s
  4838  }
  4839  
  4840  // SetProjectsNotFound sets the ProjectsNotFound field's value.
  4841  func (s *BatchGetProjectsOutput) SetProjectsNotFound(v []*string) *BatchGetProjectsOutput {
  4842  	s.ProjectsNotFound = v
  4843  	return s
  4844  }
  4845  
  4846  type BatchGetReportGroupsInput struct {
  4847  	_ struct{} `type:"structure"`
  4848  
  4849  	// An array of report group ARNs that identify the report groups to return.
  4850  	//
  4851  	// ReportGroupArns is a required field
  4852  	ReportGroupArns []*string `locationName:"reportGroupArns" min:"1" type:"list" required:"true"`
  4853  }
  4854  
  4855  // String returns the string representation.
  4856  //
  4857  // API parameter values that are decorated as "sensitive" in the API will not
  4858  // be included in the string output. The member name will be present, but the
  4859  // value will be replaced with "sensitive".
  4860  func (s BatchGetReportGroupsInput) String() string {
  4861  	return awsutil.Prettify(s)
  4862  }
  4863  
  4864  // GoString returns the string representation.
  4865  //
  4866  // API parameter values that are decorated as "sensitive" in the API will not
  4867  // be included in the string output. The member name will be present, but the
  4868  // value will be replaced with "sensitive".
  4869  func (s BatchGetReportGroupsInput) GoString() string {
  4870  	return s.String()
  4871  }
  4872  
  4873  // Validate inspects the fields of the type to determine if they are valid.
  4874  func (s *BatchGetReportGroupsInput) Validate() error {
  4875  	invalidParams := request.ErrInvalidParams{Context: "BatchGetReportGroupsInput"}
  4876  	if s.ReportGroupArns == nil {
  4877  		invalidParams.Add(request.NewErrParamRequired("ReportGroupArns"))
  4878  	}
  4879  	if s.ReportGroupArns != nil && len(s.ReportGroupArns) < 1 {
  4880  		invalidParams.Add(request.NewErrParamMinLen("ReportGroupArns", 1))
  4881  	}
  4882  
  4883  	if invalidParams.Len() > 0 {
  4884  		return invalidParams
  4885  	}
  4886  	return nil
  4887  }
  4888  
  4889  // SetReportGroupArns sets the ReportGroupArns field's value.
  4890  func (s *BatchGetReportGroupsInput) SetReportGroupArns(v []*string) *BatchGetReportGroupsInput {
  4891  	s.ReportGroupArns = v
  4892  	return s
  4893  }
  4894  
  4895  type BatchGetReportGroupsOutput struct {
  4896  	_ struct{} `type:"structure"`
  4897  
  4898  	// The array of report groups returned by BatchGetReportGroups.
  4899  	ReportGroups []*ReportGroup `locationName:"reportGroups" min:"1" type:"list"`
  4900  
  4901  	// An array of ARNs passed to BatchGetReportGroups that are not associated with
  4902  	// a ReportGroup.
  4903  	ReportGroupsNotFound []*string `locationName:"reportGroupsNotFound" min:"1" type:"list"`
  4904  }
  4905  
  4906  // String returns the string representation.
  4907  //
  4908  // API parameter values that are decorated as "sensitive" in the API will not
  4909  // be included in the string output. The member name will be present, but the
  4910  // value will be replaced with "sensitive".
  4911  func (s BatchGetReportGroupsOutput) String() string {
  4912  	return awsutil.Prettify(s)
  4913  }
  4914  
  4915  // GoString returns the string representation.
  4916  //
  4917  // API parameter values that are decorated as "sensitive" in the API will not
  4918  // be included in the string output. The member name will be present, but the
  4919  // value will be replaced with "sensitive".
  4920  func (s BatchGetReportGroupsOutput) GoString() string {
  4921  	return s.String()
  4922  }
  4923  
  4924  // SetReportGroups sets the ReportGroups field's value.
  4925  func (s *BatchGetReportGroupsOutput) SetReportGroups(v []*ReportGroup) *BatchGetReportGroupsOutput {
  4926  	s.ReportGroups = v
  4927  	return s
  4928  }
  4929  
  4930  // SetReportGroupsNotFound sets the ReportGroupsNotFound field's value.
  4931  func (s *BatchGetReportGroupsOutput) SetReportGroupsNotFound(v []*string) *BatchGetReportGroupsOutput {
  4932  	s.ReportGroupsNotFound = v
  4933  	return s
  4934  }
  4935  
  4936  type BatchGetReportsInput struct {
  4937  	_ struct{} `type:"structure"`
  4938  
  4939  	// An array of ARNs that identify the Report objects to return.
  4940  	//
  4941  	// ReportArns is a required field
  4942  	ReportArns []*string `locationName:"reportArns" min:"1" type:"list" required:"true"`
  4943  }
  4944  
  4945  // String returns the string representation.
  4946  //
  4947  // API parameter values that are decorated as "sensitive" in the API will not
  4948  // be included in the string output. The member name will be present, but the
  4949  // value will be replaced with "sensitive".
  4950  func (s BatchGetReportsInput) String() string {
  4951  	return awsutil.Prettify(s)
  4952  }
  4953  
  4954  // GoString returns the string representation.
  4955  //
  4956  // API parameter values that are decorated as "sensitive" in the API will not
  4957  // be included in the string output. The member name will be present, but the
  4958  // value will be replaced with "sensitive".
  4959  func (s BatchGetReportsInput) GoString() string {
  4960  	return s.String()
  4961  }
  4962  
  4963  // Validate inspects the fields of the type to determine if they are valid.
  4964  func (s *BatchGetReportsInput) Validate() error {
  4965  	invalidParams := request.ErrInvalidParams{Context: "BatchGetReportsInput"}
  4966  	if s.ReportArns == nil {
  4967  		invalidParams.Add(request.NewErrParamRequired("ReportArns"))
  4968  	}
  4969  	if s.ReportArns != nil && len(s.ReportArns) < 1 {
  4970  		invalidParams.Add(request.NewErrParamMinLen("ReportArns", 1))
  4971  	}
  4972  
  4973  	if invalidParams.Len() > 0 {
  4974  		return invalidParams
  4975  	}
  4976  	return nil
  4977  }
  4978  
  4979  // SetReportArns sets the ReportArns field's value.
  4980  func (s *BatchGetReportsInput) SetReportArns(v []*string) *BatchGetReportsInput {
  4981  	s.ReportArns = v
  4982  	return s
  4983  }
  4984  
  4985  type BatchGetReportsOutput struct {
  4986  	_ struct{} `type:"structure"`
  4987  
  4988  	// The array of Report objects returned by BatchGetReports.
  4989  	Reports []*Report `locationName:"reports" min:"1" type:"list"`
  4990  
  4991  	// An array of ARNs passed to BatchGetReportGroups that are not associated with
  4992  	// a Report.
  4993  	ReportsNotFound []*string `locationName:"reportsNotFound" min:"1" type:"list"`
  4994  }
  4995  
  4996  // String returns the string representation.
  4997  //
  4998  // API parameter values that are decorated as "sensitive" in the API will not
  4999  // be included in the string output. The member name will be present, but the
  5000  // value will be replaced with "sensitive".
  5001  func (s BatchGetReportsOutput) String() string {
  5002  	return awsutil.Prettify(s)
  5003  }
  5004  
  5005  // GoString returns the string representation.
  5006  //
  5007  // API parameter values that are decorated as "sensitive" in the API will not
  5008  // be included in the string output. The member name will be present, but the
  5009  // value will be replaced with "sensitive".
  5010  func (s BatchGetReportsOutput) GoString() string {
  5011  	return s.String()
  5012  }
  5013  
  5014  // SetReports sets the Reports field's value.
  5015  func (s *BatchGetReportsOutput) SetReports(v []*Report) *BatchGetReportsOutput {
  5016  	s.Reports = v
  5017  	return s
  5018  }
  5019  
  5020  // SetReportsNotFound sets the ReportsNotFound field's value.
  5021  func (s *BatchGetReportsOutput) SetReportsNotFound(v []*string) *BatchGetReportsOutput {
  5022  	s.ReportsNotFound = v
  5023  	return s
  5024  }
  5025  
  5026  // Specifies restrictions for the batch build.
  5027  type BatchRestrictions struct {
  5028  	_ struct{} `type:"structure"`
  5029  
  5030  	// An array of strings that specify the compute types that are allowed for the
  5031  	// batch build. See Build environment compute types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html)
  5032  	// in the CodeBuild User Guide for these values.
  5033  	ComputeTypesAllowed []*string `locationName:"computeTypesAllowed" type:"list"`
  5034  
  5035  	// Specifies the maximum number of builds allowed.
  5036  	MaximumBuildsAllowed *int64 `locationName:"maximumBuildsAllowed" type:"integer"`
  5037  }
  5038  
  5039  // String returns the string representation.
  5040  //
  5041  // API parameter values that are decorated as "sensitive" in the API will not
  5042  // be included in the string output. The member name will be present, but the
  5043  // value will be replaced with "sensitive".
  5044  func (s BatchRestrictions) String() string {
  5045  	return awsutil.Prettify(s)
  5046  }
  5047  
  5048  // GoString returns the string representation.
  5049  //
  5050  // API parameter values that are decorated as "sensitive" in the API will not
  5051  // be included in the string output. The member name will be present, but the
  5052  // value will be replaced with "sensitive".
  5053  func (s BatchRestrictions) GoString() string {
  5054  	return s.String()
  5055  }
  5056  
  5057  // SetComputeTypesAllowed sets the ComputeTypesAllowed field's value.
  5058  func (s *BatchRestrictions) SetComputeTypesAllowed(v []*string) *BatchRestrictions {
  5059  	s.ComputeTypesAllowed = v
  5060  	return s
  5061  }
  5062  
  5063  // SetMaximumBuildsAllowed sets the MaximumBuildsAllowed field's value.
  5064  func (s *BatchRestrictions) SetMaximumBuildsAllowed(v int64) *BatchRestrictions {
  5065  	s.MaximumBuildsAllowed = &v
  5066  	return s
  5067  }
  5068  
  5069  // Information about a build.
  5070  type Build struct {
  5071  	_ struct{} `type:"structure"`
  5072  
  5073  	// The Amazon Resource Name (ARN) of the build.
  5074  	Arn *string `locationName:"arn" min:"1" type:"string"`
  5075  
  5076  	// Information about the output artifacts for the build.
  5077  	Artifacts *BuildArtifacts `locationName:"artifacts" type:"structure"`
  5078  
  5079  	// The ARN of the batch build that this build is a member of, if applicable.
  5080  	BuildBatchArn *string `locationName:"buildBatchArn" type:"string"`
  5081  
  5082  	// Whether the build is complete. True if complete; otherwise, false.
  5083  	BuildComplete *bool `locationName:"buildComplete" type:"boolean"`
  5084  
  5085  	// The number of the build. For each project, the buildNumber of its first build
  5086  	// is 1. The buildNumber of each subsequent build is incremented by 1. If a
  5087  	// build is deleted, the buildNumber of other builds does not change.
  5088  	BuildNumber *int64 `locationName:"buildNumber" type:"long"`
  5089  
  5090  	// The current status of the build. Valid values include:
  5091  	//
  5092  	//    * FAILED: The build failed.
  5093  	//
  5094  	//    * FAULT: The build faulted.
  5095  	//
  5096  	//    * IN_PROGRESS: The build is still in progress.
  5097  	//
  5098  	//    * STOPPED: The build stopped.
  5099  	//
  5100  	//    * SUCCEEDED: The build succeeded.
  5101  	//
  5102  	//    * TIMED_OUT: The build timed out.
  5103  	BuildStatus *string `locationName:"buildStatus" type:"string" enum:"StatusType"`
  5104  
  5105  	// Information about the cache for the build.
  5106  	Cache *ProjectCache `locationName:"cache" type:"structure"`
  5107  
  5108  	// The current build phase.
  5109  	CurrentPhase *string `locationName:"currentPhase" type:"string"`
  5110  
  5111  	// Contains information about the debug session for this build.
  5112  	DebugSession *DebugSession `locationName:"debugSession" type:"structure"`
  5113  
  5114  	// The Key Management Service customer master key (CMK) to be used for encrypting
  5115  	// the build output artifacts.
  5116  	//
  5117  	// You can use a cross-account KMS key to encrypt the build output artifacts
  5118  	// if your service role has permission to that key.
  5119  	//
  5120  	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
  5121  	// the CMK's alias (using the format alias/<alias-name>).
  5122  	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
  5123  
  5124  	// When the build process ended, expressed in Unix time format.
  5125  	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
  5126  
  5127  	// Information about the build environment for this build.
  5128  	Environment *ProjectEnvironment `locationName:"environment" type:"structure"`
  5129  
  5130  	// A list of exported environment variables for this build.
  5131  	//
  5132  	// Exported environment variables are used in conjunction with CodePipeline
  5133  	// to export environment variables from the current build stage to subsequent
  5134  	// stages in the pipeline. For more information, see Working with variables
  5135  	// (https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-variables.html)
  5136  	// in the CodePipeline User Guide.
  5137  	ExportedEnvironmentVariables []*ExportedEnvironmentVariable `locationName:"exportedEnvironmentVariables" type:"list"`
  5138  
  5139  	// An array of ProjectFileSystemLocation objects for a CodeBuild build project.
  5140  	// A ProjectFileSystemLocation object specifies the identifier, location, mountOptions,
  5141  	// mountPoint, and type of a file system created using Amazon Elastic File System.
  5142  	FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"`
  5143  
  5144  	// The unique ID for the build.
  5145  	Id *string `locationName:"id" min:"1" type:"string"`
  5146  
  5147  	// The entity that started the build. Valid values include:
  5148  	//
  5149  	//    * If CodePipeline started the build, the pipeline's name (for example,
  5150  	//    codepipeline/my-demo-pipeline).
  5151  	//
  5152  	//    * If an IAM user started the build, the user's name (for example, MyUserName).
  5153  	//
  5154  	//    * If the Jenkins plugin for CodeBuild started the build, the string CodeBuild-Jenkins-Plugin.
  5155  	Initiator *string `locationName:"initiator" type:"string"`
  5156  
  5157  	// Information about the build's logs in CloudWatch Logs.
  5158  	Logs *LogsLocation `locationName:"logs" type:"structure"`
  5159  
  5160  	// Describes a network interface.
  5161  	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
  5162  
  5163  	// Information about all previous build phases that are complete and information
  5164  	// about any current build phase that is not yet complete.
  5165  	Phases []*BuildPhase `locationName:"phases" type:"list"`
  5166  
  5167  	// The name of the CodeBuild project.
  5168  	ProjectName *string `locationName:"projectName" min:"1" type:"string"`
  5169  
  5170  	// The number of minutes a build is allowed to be queued before it times out.
  5171  	QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" type:"integer"`
  5172  
  5173  	// An array of the ARNs associated with this build's reports.
  5174  	ReportArns []*string `locationName:"reportArns" type:"list"`
  5175  
  5176  	// An identifier for the version of this build's source code.
  5177  	//
  5178  	//    * For CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit
  5179  	//    ID.
  5180  	//
  5181  	//    * For CodePipeline, the source revision provided by CodePipeline.
  5182  	//
  5183  	//    * For Amazon S3, this does not apply.
  5184  	ResolvedSourceVersion *string `locationName:"resolvedSourceVersion" min:"1" type:"string"`
  5185  
  5186  	// An array of ProjectArtifacts objects.
  5187  	SecondaryArtifacts []*BuildArtifacts `locationName:"secondaryArtifacts" type:"list"`
  5188  
  5189  	// An array of ProjectSourceVersion objects. Each ProjectSourceVersion must
  5190  	// be one of:
  5191  	//
  5192  	//    * For CodeCommit: the commit ID, branch, or Git tag to use.
  5193  	//
  5194  	//    * For GitHub: the commit ID, pull request ID, branch name, or tag name
  5195  	//    that corresponds to the version of the source code you want to build.
  5196  	//    If a pull request ID is specified, it must use the format pr/pull-request-ID
  5197  	//    (for example, pr/25). If a branch name is specified, the branch's HEAD
  5198  	//    commit ID is used. If not specified, the default branch's HEAD commit
  5199  	//    ID is used.
  5200  	//
  5201  	//    * For Bitbucket: the commit ID, branch name, or tag name that corresponds
  5202  	//    to the version of the source code you want to build. If a branch name
  5203  	//    is specified, the branch's HEAD commit ID is used. If not specified, the
  5204  	//    default branch's HEAD commit ID is used.
  5205  	//
  5206  	//    * For Amazon S3: the version ID of the object that represents the build
  5207  	//    input ZIP file to use.
  5208  	SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"`
  5209  
  5210  	// An array of ProjectSource objects.
  5211  	SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"`
  5212  
  5213  	// The name of a service role used for this build.
  5214  	ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"`
  5215  
  5216  	// Information about the source code to be built.
  5217  	Source *ProjectSource `locationName:"source" type:"structure"`
  5218  
  5219  	// Any version identifier for the version of the source code to be built. If
  5220  	// sourceVersion is specified at the project level, then this sourceVersion
  5221  	// (at the build level) takes precedence.
  5222  	//
  5223  	// For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html)
  5224  	// in the CodeBuild User Guide.
  5225  	SourceVersion *string `locationName:"sourceVersion" min:"1" type:"string"`
  5226  
  5227  	// When the build process started, expressed in Unix time format.
  5228  	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  5229  
  5230  	// How long, in minutes, for CodeBuild to wait before timing out this build
  5231  	// if it does not get marked as completed.
  5232  	TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" type:"integer"`
  5233  
  5234  	// If your CodeBuild project accesses resources in an Amazon VPC, you provide
  5235  	// this parameter that identifies the VPC ID and the list of security group
  5236  	// IDs and subnet IDs. The security groups and subnets must belong to the same
  5237  	// VPC. You must provide at least one security group and one subnet ID.
  5238  	VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"`
  5239  }
  5240  
  5241  // String returns the string representation.
  5242  //
  5243  // API parameter values that are decorated as "sensitive" in the API will not
  5244  // be included in the string output. The member name will be present, but the
  5245  // value will be replaced with "sensitive".
  5246  func (s Build) String() string {
  5247  	return awsutil.Prettify(s)
  5248  }
  5249  
  5250  // GoString returns the string representation.
  5251  //
  5252  // API parameter values that are decorated as "sensitive" in the API will not
  5253  // be included in the string output. The member name will be present, but the
  5254  // value will be replaced with "sensitive".
  5255  func (s Build) GoString() string {
  5256  	return s.String()
  5257  }
  5258  
  5259  // SetArn sets the Arn field's value.
  5260  func (s *Build) SetArn(v string) *Build {
  5261  	s.Arn = &v
  5262  	return s
  5263  }
  5264  
  5265  // SetArtifacts sets the Artifacts field's value.
  5266  func (s *Build) SetArtifacts(v *BuildArtifacts) *Build {
  5267  	s.Artifacts = v
  5268  	return s
  5269  }
  5270  
  5271  // SetBuildBatchArn sets the BuildBatchArn field's value.
  5272  func (s *Build) SetBuildBatchArn(v string) *Build {
  5273  	s.BuildBatchArn = &v
  5274  	return s
  5275  }
  5276  
  5277  // SetBuildComplete sets the BuildComplete field's value.
  5278  func (s *Build) SetBuildComplete(v bool) *Build {
  5279  	s.BuildComplete = &v
  5280  	return s
  5281  }
  5282  
  5283  // SetBuildNumber sets the BuildNumber field's value.
  5284  func (s *Build) SetBuildNumber(v int64) *Build {
  5285  	s.BuildNumber = &v
  5286  	return s
  5287  }
  5288  
  5289  // SetBuildStatus sets the BuildStatus field's value.
  5290  func (s *Build) SetBuildStatus(v string) *Build {
  5291  	s.BuildStatus = &v
  5292  	return s
  5293  }
  5294  
  5295  // SetCache sets the Cache field's value.
  5296  func (s *Build) SetCache(v *ProjectCache) *Build {
  5297  	s.Cache = v
  5298  	return s
  5299  }
  5300  
  5301  // SetCurrentPhase sets the CurrentPhase field's value.
  5302  func (s *Build) SetCurrentPhase(v string) *Build {
  5303  	s.CurrentPhase = &v
  5304  	return s
  5305  }
  5306  
  5307  // SetDebugSession sets the DebugSession field's value.
  5308  func (s *Build) SetDebugSession(v *DebugSession) *Build {
  5309  	s.DebugSession = v
  5310  	return s
  5311  }
  5312  
  5313  // SetEncryptionKey sets the EncryptionKey field's value.
  5314  func (s *Build) SetEncryptionKey(v string) *Build {
  5315  	s.EncryptionKey = &v
  5316  	return s
  5317  }
  5318  
  5319  // SetEndTime sets the EndTime field's value.
  5320  func (s *Build) SetEndTime(v time.Time) *Build {
  5321  	s.EndTime = &v
  5322  	return s
  5323  }
  5324  
  5325  // SetEnvironment sets the Environment field's value.
  5326  func (s *Build) SetEnvironment(v *ProjectEnvironment) *Build {
  5327  	s.Environment = v
  5328  	return s
  5329  }
  5330  
  5331  // SetExportedEnvironmentVariables sets the ExportedEnvironmentVariables field's value.
  5332  func (s *Build) SetExportedEnvironmentVariables(v []*ExportedEnvironmentVariable) *Build {
  5333  	s.ExportedEnvironmentVariables = v
  5334  	return s
  5335  }
  5336  
  5337  // SetFileSystemLocations sets the FileSystemLocations field's value.
  5338  func (s *Build) SetFileSystemLocations(v []*ProjectFileSystemLocation) *Build {
  5339  	s.FileSystemLocations = v
  5340  	return s
  5341  }
  5342  
  5343  // SetId sets the Id field's value.
  5344  func (s *Build) SetId(v string) *Build {
  5345  	s.Id = &v
  5346  	return s
  5347  }
  5348  
  5349  // SetInitiator sets the Initiator field's value.
  5350  func (s *Build) SetInitiator(v string) *Build {
  5351  	s.Initiator = &v
  5352  	return s
  5353  }
  5354  
  5355  // SetLogs sets the Logs field's value.
  5356  func (s *Build) SetLogs(v *LogsLocation) *Build {
  5357  	s.Logs = v
  5358  	return s
  5359  }
  5360  
  5361  // SetNetworkInterface sets the NetworkInterface field's value.
  5362  func (s *Build) SetNetworkInterface(v *NetworkInterface) *Build {
  5363  	s.NetworkInterface = v
  5364  	return s
  5365  }
  5366  
  5367  // SetPhases sets the Phases field's value.
  5368  func (s *Build) SetPhases(v []*BuildPhase) *Build {
  5369  	s.Phases = v
  5370  	return s
  5371  }
  5372  
  5373  // SetProjectName sets the ProjectName field's value.
  5374  func (s *Build) SetProjectName(v string) *Build {
  5375  	s.ProjectName = &v
  5376  	return s
  5377  }
  5378  
  5379  // SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value.
  5380  func (s *Build) SetQueuedTimeoutInMinutes(v int64) *Build {
  5381  	s.QueuedTimeoutInMinutes = &v
  5382  	return s
  5383  }
  5384  
  5385  // SetReportArns sets the ReportArns field's value.
  5386  func (s *Build) SetReportArns(v []*string) *Build {
  5387  	s.ReportArns = v
  5388  	return s
  5389  }
  5390  
  5391  // SetResolvedSourceVersion sets the ResolvedSourceVersion field's value.
  5392  func (s *Build) SetResolvedSourceVersion(v string) *Build {
  5393  	s.ResolvedSourceVersion = &v
  5394  	return s
  5395  }
  5396  
  5397  // SetSecondaryArtifacts sets the SecondaryArtifacts field's value.
  5398  func (s *Build) SetSecondaryArtifacts(v []*BuildArtifacts) *Build {
  5399  	s.SecondaryArtifacts = v
  5400  	return s
  5401  }
  5402  
  5403  // SetSecondarySourceVersions sets the SecondarySourceVersions field's value.
  5404  func (s *Build) SetSecondarySourceVersions(v []*ProjectSourceVersion) *Build {
  5405  	s.SecondarySourceVersions = v
  5406  	return s
  5407  }
  5408  
  5409  // SetSecondarySources sets the SecondarySources field's value.
  5410  func (s *Build) SetSecondarySources(v []*ProjectSource) *Build {
  5411  	s.SecondarySources = v
  5412  	return s
  5413  }
  5414  
  5415  // SetServiceRole sets the ServiceRole field's value.
  5416  func (s *Build) SetServiceRole(v string) *Build {
  5417  	s.ServiceRole = &v
  5418  	return s
  5419  }
  5420  
  5421  // SetSource sets the Source field's value.
  5422  func (s *Build) SetSource(v *ProjectSource) *Build {
  5423  	s.Source = v
  5424  	return s
  5425  }
  5426  
  5427  // SetSourceVersion sets the SourceVersion field's value.
  5428  func (s *Build) SetSourceVersion(v string) *Build {
  5429  	s.SourceVersion = &v
  5430  	return s
  5431  }
  5432  
  5433  // SetStartTime sets the StartTime field's value.
  5434  func (s *Build) SetStartTime(v time.Time) *Build {
  5435  	s.StartTime = &v
  5436  	return s
  5437  }
  5438  
  5439  // SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
  5440  func (s *Build) SetTimeoutInMinutes(v int64) *Build {
  5441  	s.TimeoutInMinutes = &v
  5442  	return s
  5443  }
  5444  
  5445  // SetVpcConfig sets the VpcConfig field's value.
  5446  func (s *Build) SetVpcConfig(v *VpcConfig) *Build {
  5447  	s.VpcConfig = v
  5448  	return s
  5449  }
  5450  
  5451  // Information about build output artifacts.
  5452  type BuildArtifacts struct {
  5453  	_ struct{} `type:"structure"`
  5454  
  5455  	// An identifier for this artifact definition.
  5456  	ArtifactIdentifier *string `locationName:"artifactIdentifier" type:"string"`
  5457  
  5458  	// Specifies the bucket owner's access for objects that another account uploads
  5459  	// to their Amazon S3 bucket. By default, only the account that uploads the
  5460  	// objects to the bucket has access to these objects. This property allows you
  5461  	// to give the bucket owner access to these objects.
  5462  	//
  5463  	// To use this property, your CodeBuild service role must have the s3:PutBucketAcl
  5464  	// permission. This permission allows CodeBuild to modify the access control
  5465  	// list for the bucket.
  5466  	//
  5467  	// This property can be one of the following values:
  5468  	//
  5469  	// NONE
  5470  	//
  5471  	// The bucket owner does not have access to the objects. This is the default.
  5472  	//
  5473  	// READ_ONLY
  5474  	//
  5475  	// The bucket owner has read-only access to the objects. The uploading account
  5476  	// retains ownership of the objects.
  5477  	//
  5478  	// FULL
  5479  	//
  5480  	// The bucket owner has full access to the objects. Object ownership is determined
  5481  	// by the following criteria:
  5482  	//
  5483  	//    * If the bucket is configured with the Bucket owner preferred setting,
  5484  	//    the bucket owner owns the objects. The uploading account will have object
  5485  	//    access as specified by the bucket's policy.
  5486  	//
  5487  	//    * Otherwise, the uploading account retains ownership of the objects.
  5488  	//
  5489  	// For more information about Amazon S3 object ownership, see Controlling ownership
  5490  	// of uploaded objects using S3 Object Ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
  5491  	// in the Amazon Simple Storage Service User Guide.
  5492  	BucketOwnerAccess *string `locationName:"bucketOwnerAccess" type:"string" enum:"BucketOwnerAccess"`
  5493  
  5494  	// Information that tells you if encryption for build artifacts is disabled.
  5495  	EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"`
  5496  
  5497  	// Information about the location of the build artifacts.
  5498  	Location *string `locationName:"location" type:"string"`
  5499  
  5500  	// The MD5 hash of the build artifact.
  5501  	//
  5502  	// You can use this hash along with a checksum tool to confirm file integrity
  5503  	// and authenticity.
  5504  	//
  5505  	// This value is available only if the build project's packaging value is set
  5506  	// to ZIP.
  5507  	Md5sum *string `locationName:"md5sum" type:"string"`
  5508  
  5509  	// If this flag is set, a name specified in the buildspec file overrides the
  5510  	// artifact name. The name specified in a buildspec file is calculated at build
  5511  	// time and uses the Shell Command Language. For example, you can append a date
  5512  	// and time to your artifact name so that it is always unique.
  5513  	OverrideArtifactName *bool `locationName:"overrideArtifactName" type:"boolean"`
  5514  
  5515  	// The SHA-256 hash of the build artifact.
  5516  	//
  5517  	// You can use this hash along with a checksum tool to confirm file integrity
  5518  	// and authenticity.
  5519  	//
  5520  	// This value is available only if the build project's packaging value is set
  5521  	// to ZIP.
  5522  	Sha256sum *string `locationName:"sha256sum" type:"string"`
  5523  }
  5524  
  5525  // String returns the string representation.
  5526  //
  5527  // API parameter values that are decorated as "sensitive" in the API will not
  5528  // be included in the string output. The member name will be present, but the
  5529  // value will be replaced with "sensitive".
  5530  func (s BuildArtifacts) String() string {
  5531  	return awsutil.Prettify(s)
  5532  }
  5533  
  5534  // GoString returns the string representation.
  5535  //
  5536  // API parameter values that are decorated as "sensitive" in the API will not
  5537  // be included in the string output. The member name will be present, but the
  5538  // value will be replaced with "sensitive".
  5539  func (s BuildArtifacts) GoString() string {
  5540  	return s.String()
  5541  }
  5542  
  5543  // SetArtifactIdentifier sets the ArtifactIdentifier field's value.
  5544  func (s *BuildArtifacts) SetArtifactIdentifier(v string) *BuildArtifacts {
  5545  	s.ArtifactIdentifier = &v
  5546  	return s
  5547  }
  5548  
  5549  // SetBucketOwnerAccess sets the BucketOwnerAccess field's value.
  5550  func (s *BuildArtifacts) SetBucketOwnerAccess(v string) *BuildArtifacts {
  5551  	s.BucketOwnerAccess = &v
  5552  	return s
  5553  }
  5554  
  5555  // SetEncryptionDisabled sets the EncryptionDisabled field's value.
  5556  func (s *BuildArtifacts) SetEncryptionDisabled(v bool) *BuildArtifacts {
  5557  	s.EncryptionDisabled = &v
  5558  	return s
  5559  }
  5560  
  5561  // SetLocation sets the Location field's value.
  5562  func (s *BuildArtifacts) SetLocation(v string) *BuildArtifacts {
  5563  	s.Location = &v
  5564  	return s
  5565  }
  5566  
  5567  // SetMd5sum sets the Md5sum field's value.
  5568  func (s *BuildArtifacts) SetMd5sum(v string) *BuildArtifacts {
  5569  	s.Md5sum = &v
  5570  	return s
  5571  }
  5572  
  5573  // SetOverrideArtifactName sets the OverrideArtifactName field's value.
  5574  func (s *BuildArtifacts) SetOverrideArtifactName(v bool) *BuildArtifacts {
  5575  	s.OverrideArtifactName = &v
  5576  	return s
  5577  }
  5578  
  5579  // SetSha256sum sets the Sha256sum field's value.
  5580  func (s *BuildArtifacts) SetSha256sum(v string) *BuildArtifacts {
  5581  	s.Sha256sum = &v
  5582  	return s
  5583  }
  5584  
  5585  // Contains information about a batch build.
  5586  type BuildBatch struct {
  5587  	_ struct{} `type:"structure"`
  5588  
  5589  	// The ARN of the batch build.
  5590  	Arn *string `locationName:"arn" min:"1" type:"string"`
  5591  
  5592  	// A BuildArtifacts object the defines the build artifacts for this batch build.
  5593  	Artifacts *BuildArtifacts `locationName:"artifacts" type:"structure"`
  5594  
  5595  	// Contains configuration information about a batch build project.
  5596  	BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"`
  5597  
  5598  	// The number of the batch build. For each project, the buildBatchNumber of
  5599  	// its first batch build is 1. The buildBatchNumber of each subsequent batch
  5600  	// build is incremented by 1. If a batch build is deleted, the buildBatchNumber
  5601  	// of other batch builds does not change.
  5602  	BuildBatchNumber *int64 `locationName:"buildBatchNumber" type:"long"`
  5603  
  5604  	// The status of the batch build.
  5605  	BuildBatchStatus *string `locationName:"buildBatchStatus" type:"string" enum:"StatusType"`
  5606  
  5607  	// An array of BuildGroup objects that define the build groups for the batch
  5608  	// build.
  5609  	BuildGroups []*BuildGroup `locationName:"buildGroups" type:"list"`
  5610  
  5611  	// Specifies the maximum amount of time, in minutes, that the build in a batch
  5612  	// must be completed in.
  5613  	BuildTimeoutInMinutes *int64 `locationName:"buildTimeoutInMinutes" type:"integer"`
  5614  
  5615  	// Information about the cache for the build project.
  5616  	Cache *ProjectCache `locationName:"cache" type:"structure"`
  5617  
  5618  	// Indicates if the batch build is complete.
  5619  	Complete *bool `locationName:"complete" type:"boolean"`
  5620  
  5621  	// The current phase of the batch build.
  5622  	CurrentPhase *string `locationName:"currentPhase" type:"string"`
  5623  
  5624  	// Specifies if session debugging is enabled for this batch build. For more
  5625  	// information, see Viewing a running build in Session Manager (https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html).
  5626  	// Batch session debugging is not supported for matrix batch builds.
  5627  	DebugSessionEnabled *bool `locationName:"debugSessionEnabled" type:"boolean"`
  5628  
  5629  	// The Key Management Service customer master key (CMK) to be used for encrypting
  5630  	// the batch build output artifacts.
  5631  	//
  5632  	// You can use a cross-account KMS key to encrypt the build output artifacts
  5633  	// if your service role has permission to that key.
  5634  	//
  5635  	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
  5636  	// the CMK's alias (using the format alias/<alias-name>).
  5637  	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
  5638  
  5639  	// The date and time that the batch build ended.
  5640  	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
  5641  
  5642  	// Information about the build environment of the build project.
  5643  	Environment *ProjectEnvironment `locationName:"environment" type:"structure"`
  5644  
  5645  	// An array of ProjectFileSystemLocation objects for the batch build project.
  5646  	// A ProjectFileSystemLocation object specifies the identifier, location, mountOptions,
  5647  	// mountPoint, and type of a file system created using Amazon Elastic File System.
  5648  	FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"`
  5649  
  5650  	// The identifier of the batch build.
  5651  	Id *string `locationName:"id" min:"1" type:"string"`
  5652  
  5653  	// The entity that started the batch build. Valid values include:
  5654  	//
  5655  	//    * If CodePipeline started the build, the pipeline's name (for example,
  5656  	//    codepipeline/my-demo-pipeline).
  5657  	//
  5658  	//    * If an IAM user started the build, the user's name.
  5659  	//
  5660  	//    * If the Jenkins plugin for CodeBuild started the build, the string CodeBuild-Jenkins-Plugin.
  5661  	Initiator *string `locationName:"initiator" type:"string"`
  5662  
  5663  	// Information about logs for a build project. These can be logs in CloudWatch
  5664  	// Logs, built in a specified S3 bucket, or both.
  5665  	LogConfig *LogsConfig `locationName:"logConfig" type:"structure"`
  5666  
  5667  	// An array of BuildBatchPhase objects the specify the phases of the batch build.
  5668  	Phases []*BuildBatchPhase `locationName:"phases" type:"list"`
  5669  
  5670  	// The name of the batch build project.
  5671  	ProjectName *string `locationName:"projectName" min:"1" type:"string"`
  5672  
  5673  	// Specifies the amount of time, in minutes, that the batch build is allowed
  5674  	// to be queued before it times out.
  5675  	QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" type:"integer"`
  5676  
  5677  	// The identifier of the resolved version of this batch build's source code.
  5678  	//
  5679  	//    * For CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit
  5680  	//    ID.
  5681  	//
  5682  	//    * For CodePipeline, the source revision provided by CodePipeline.
  5683  	//
  5684  	//    * For Amazon S3, this does not apply.
  5685  	ResolvedSourceVersion *string `locationName:"resolvedSourceVersion" min:"1" type:"string"`
  5686  
  5687  	// An array of BuildArtifacts objects the define the build artifacts for this
  5688  	// batch build.
  5689  	SecondaryArtifacts []*BuildArtifacts `locationName:"secondaryArtifacts" type:"list"`
  5690  
  5691  	// An array of ProjectSourceVersion objects. Each ProjectSourceVersion must
  5692  	// be one of:
  5693  	//
  5694  	//    * For CodeCommit: the commit ID, branch, or Git tag to use.
  5695  	//
  5696  	//    * For GitHub: the commit ID, pull request ID, branch name, or tag name
  5697  	//    that corresponds to the version of the source code you want to build.
  5698  	//    If a pull request ID is specified, it must use the format pr/pull-request-ID
  5699  	//    (for example, pr/25). If a branch name is specified, the branch's HEAD
  5700  	//    commit ID is used. If not specified, the default branch's HEAD commit
  5701  	//    ID is used.
  5702  	//
  5703  	//    * For Bitbucket: the commit ID, branch name, or tag name that corresponds
  5704  	//    to the version of the source code you want to build. If a branch name
  5705  	//    is specified, the branch's HEAD commit ID is used. If not specified, the
  5706  	//    default branch's HEAD commit ID is used.
  5707  	//
  5708  	//    * For Amazon S3: the version ID of the object that represents the build
  5709  	//    input ZIP file to use.
  5710  	SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"`
  5711  
  5712  	// An array of ProjectSource objects that define the sources for the batch build.
  5713  	SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"`
  5714  
  5715  	// The name of a service role used for builds in the batch.
  5716  	ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"`
  5717  
  5718  	// Information about the build input source code for the build project.
  5719  	Source *ProjectSource `locationName:"source" type:"structure"`
  5720  
  5721  	// The identifier of the version of the source code to be built.
  5722  	SourceVersion *string `locationName:"sourceVersion" min:"1" type:"string"`
  5723  
  5724  	// The date and time that the batch build started.
  5725  	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  5726  
  5727  	// Information about the VPC configuration that CodeBuild accesses.
  5728  	VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"`
  5729  }
  5730  
  5731  // String returns the string representation.
  5732  //
  5733  // API parameter values that are decorated as "sensitive" in the API will not
  5734  // be included in the string output. The member name will be present, but the
  5735  // value will be replaced with "sensitive".
  5736  func (s BuildBatch) String() string {
  5737  	return awsutil.Prettify(s)
  5738  }
  5739  
  5740  // GoString returns the string representation.
  5741  //
  5742  // API parameter values that are decorated as "sensitive" in the API will not
  5743  // be included in the string output. The member name will be present, but the
  5744  // value will be replaced with "sensitive".
  5745  func (s BuildBatch) GoString() string {
  5746  	return s.String()
  5747  }
  5748  
  5749  // SetArn sets the Arn field's value.
  5750  func (s *BuildBatch) SetArn(v string) *BuildBatch {
  5751  	s.Arn = &v
  5752  	return s
  5753  }
  5754  
  5755  // SetArtifacts sets the Artifacts field's value.
  5756  func (s *BuildBatch) SetArtifacts(v *BuildArtifacts) *BuildBatch {
  5757  	s.Artifacts = v
  5758  	return s
  5759  }
  5760  
  5761  // SetBuildBatchConfig sets the BuildBatchConfig field's value.
  5762  func (s *BuildBatch) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *BuildBatch {
  5763  	s.BuildBatchConfig = v
  5764  	return s
  5765  }
  5766  
  5767  // SetBuildBatchNumber sets the BuildBatchNumber field's value.
  5768  func (s *BuildBatch) SetBuildBatchNumber(v int64) *BuildBatch {
  5769  	s.BuildBatchNumber = &v
  5770  	return s
  5771  }
  5772  
  5773  // SetBuildBatchStatus sets the BuildBatchStatus field's value.
  5774  func (s *BuildBatch) SetBuildBatchStatus(v string) *BuildBatch {
  5775  	s.BuildBatchStatus = &v
  5776  	return s
  5777  }
  5778  
  5779  // SetBuildGroups sets the BuildGroups field's value.
  5780  func (s *BuildBatch) SetBuildGroups(v []*BuildGroup) *BuildBatch {
  5781  	s.BuildGroups = v
  5782  	return s
  5783  }
  5784  
  5785  // SetBuildTimeoutInMinutes sets the BuildTimeoutInMinutes field's value.
  5786  func (s *BuildBatch) SetBuildTimeoutInMinutes(v int64) *BuildBatch {
  5787  	s.BuildTimeoutInMinutes = &v
  5788  	return s
  5789  }
  5790  
  5791  // SetCache sets the Cache field's value.
  5792  func (s *BuildBatch) SetCache(v *ProjectCache) *BuildBatch {
  5793  	s.Cache = v
  5794  	return s
  5795  }
  5796  
  5797  // SetComplete sets the Complete field's value.
  5798  func (s *BuildBatch) SetComplete(v bool) *BuildBatch {
  5799  	s.Complete = &v
  5800  	return s
  5801  }
  5802  
  5803  // SetCurrentPhase sets the CurrentPhase field's value.
  5804  func (s *BuildBatch) SetCurrentPhase(v string) *BuildBatch {
  5805  	s.CurrentPhase = &v
  5806  	return s
  5807  }
  5808  
  5809  // SetDebugSessionEnabled sets the DebugSessionEnabled field's value.
  5810  func (s *BuildBatch) SetDebugSessionEnabled(v bool) *BuildBatch {
  5811  	s.DebugSessionEnabled = &v
  5812  	return s
  5813  }
  5814  
  5815  // SetEncryptionKey sets the EncryptionKey field's value.
  5816  func (s *BuildBatch) SetEncryptionKey(v string) *BuildBatch {
  5817  	s.EncryptionKey = &v
  5818  	return s
  5819  }
  5820  
  5821  // SetEndTime sets the EndTime field's value.
  5822  func (s *BuildBatch) SetEndTime(v time.Time) *BuildBatch {
  5823  	s.EndTime = &v
  5824  	return s
  5825  }
  5826  
  5827  // SetEnvironment sets the Environment field's value.
  5828  func (s *BuildBatch) SetEnvironment(v *ProjectEnvironment) *BuildBatch {
  5829  	s.Environment = v
  5830  	return s
  5831  }
  5832  
  5833  // SetFileSystemLocations sets the FileSystemLocations field's value.
  5834  func (s *BuildBatch) SetFileSystemLocations(v []*ProjectFileSystemLocation) *BuildBatch {
  5835  	s.FileSystemLocations = v
  5836  	return s
  5837  }
  5838  
  5839  // SetId sets the Id field's value.
  5840  func (s *BuildBatch) SetId(v string) *BuildBatch {
  5841  	s.Id = &v
  5842  	return s
  5843  }
  5844  
  5845  // SetInitiator sets the Initiator field's value.
  5846  func (s *BuildBatch) SetInitiator(v string) *BuildBatch {
  5847  	s.Initiator = &v
  5848  	return s
  5849  }
  5850  
  5851  // SetLogConfig sets the LogConfig field's value.
  5852  func (s *BuildBatch) SetLogConfig(v *LogsConfig) *BuildBatch {
  5853  	s.LogConfig = v
  5854  	return s
  5855  }
  5856  
  5857  // SetPhases sets the Phases field's value.
  5858  func (s *BuildBatch) SetPhases(v []*BuildBatchPhase) *BuildBatch {
  5859  	s.Phases = v
  5860  	return s
  5861  }
  5862  
  5863  // SetProjectName sets the ProjectName field's value.
  5864  func (s *BuildBatch) SetProjectName(v string) *BuildBatch {
  5865  	s.ProjectName = &v
  5866  	return s
  5867  }
  5868  
  5869  // SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value.
  5870  func (s *BuildBatch) SetQueuedTimeoutInMinutes(v int64) *BuildBatch {
  5871  	s.QueuedTimeoutInMinutes = &v
  5872  	return s
  5873  }
  5874  
  5875  // SetResolvedSourceVersion sets the ResolvedSourceVersion field's value.
  5876  func (s *BuildBatch) SetResolvedSourceVersion(v string) *BuildBatch {
  5877  	s.ResolvedSourceVersion = &v
  5878  	return s
  5879  }
  5880  
  5881  // SetSecondaryArtifacts sets the SecondaryArtifacts field's value.
  5882  func (s *BuildBatch) SetSecondaryArtifacts(v []*BuildArtifacts) *BuildBatch {
  5883  	s.SecondaryArtifacts = v
  5884  	return s
  5885  }
  5886  
  5887  // SetSecondarySourceVersions sets the SecondarySourceVersions field's value.
  5888  func (s *BuildBatch) SetSecondarySourceVersions(v []*ProjectSourceVersion) *BuildBatch {
  5889  	s.SecondarySourceVersions = v
  5890  	return s
  5891  }
  5892  
  5893  // SetSecondarySources sets the SecondarySources field's value.
  5894  func (s *BuildBatch) SetSecondarySources(v []*ProjectSource) *BuildBatch {
  5895  	s.SecondarySources = v
  5896  	return s
  5897  }
  5898  
  5899  // SetServiceRole sets the ServiceRole field's value.
  5900  func (s *BuildBatch) SetServiceRole(v string) *BuildBatch {
  5901  	s.ServiceRole = &v
  5902  	return s
  5903  }
  5904  
  5905  // SetSource sets the Source field's value.
  5906  func (s *BuildBatch) SetSource(v *ProjectSource) *BuildBatch {
  5907  	s.Source = v
  5908  	return s
  5909  }
  5910  
  5911  // SetSourceVersion sets the SourceVersion field's value.
  5912  func (s *BuildBatch) SetSourceVersion(v string) *BuildBatch {
  5913  	s.SourceVersion = &v
  5914  	return s
  5915  }
  5916  
  5917  // SetStartTime sets the StartTime field's value.
  5918  func (s *BuildBatch) SetStartTime(v time.Time) *BuildBatch {
  5919  	s.StartTime = &v
  5920  	return s
  5921  }
  5922  
  5923  // SetVpcConfig sets the VpcConfig field's value.
  5924  func (s *BuildBatch) SetVpcConfig(v *VpcConfig) *BuildBatch {
  5925  	s.VpcConfig = v
  5926  	return s
  5927  }
  5928  
  5929  // Specifies filters when retrieving batch builds.
  5930  type BuildBatchFilter struct {
  5931  	_ struct{} `type:"structure"`
  5932  
  5933  	// The status of the batch builds to retrieve. Only batch builds that have this
  5934  	// status will be retrieved.
  5935  	Status *string `locationName:"status" type:"string" enum:"StatusType"`
  5936  }
  5937  
  5938  // String returns the string representation.
  5939  //
  5940  // API parameter values that are decorated as "sensitive" in the API will not
  5941  // be included in the string output. The member name will be present, but the
  5942  // value will be replaced with "sensitive".
  5943  func (s BuildBatchFilter) String() string {
  5944  	return awsutil.Prettify(s)
  5945  }
  5946  
  5947  // GoString returns the string representation.
  5948  //
  5949  // API parameter values that are decorated as "sensitive" in the API will not
  5950  // be included in the string output. The member name will be present, but the
  5951  // value will be replaced with "sensitive".
  5952  func (s BuildBatchFilter) GoString() string {
  5953  	return s.String()
  5954  }
  5955  
  5956  // SetStatus sets the Status field's value.
  5957  func (s *BuildBatchFilter) SetStatus(v string) *BuildBatchFilter {
  5958  	s.Status = &v
  5959  	return s
  5960  }
  5961  
  5962  // Contains information about a stage for a batch build.
  5963  type BuildBatchPhase struct {
  5964  	_ struct{} `type:"structure"`
  5965  
  5966  	// Additional information about the batch build phase. Especially to help troubleshoot
  5967  	// a failed batch build.
  5968  	Contexts []*PhaseContext `locationName:"contexts" type:"list"`
  5969  
  5970  	// How long, in seconds, between the starting and ending times of the batch
  5971  	// build's phase.
  5972  	DurationInSeconds *int64 `locationName:"durationInSeconds" type:"long"`
  5973  
  5974  	// When the batch build phase ended, expressed in Unix time format.
  5975  	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
  5976  
  5977  	// The current status of the batch build phase. Valid values include:
  5978  	//
  5979  	// FAILED
  5980  	//
  5981  	// The build phase failed.
  5982  	//
  5983  	// FAULT
  5984  	//
  5985  	// The build phase faulted.
  5986  	//
  5987  	// IN_PROGRESS
  5988  	//
  5989  	// The build phase is still in progress.
  5990  	//
  5991  	// STOPPED
  5992  	//
  5993  	// The build phase stopped.
  5994  	//
  5995  	// SUCCEEDED
  5996  	//
  5997  	// The build phase succeeded.
  5998  	//
  5999  	// TIMED_OUT
  6000  	//
  6001  	// The build phase timed out.
  6002  	PhaseStatus *string `locationName:"phaseStatus" type:"string" enum:"StatusType"`
  6003  
  6004  	// The name of the batch build phase. Valid values include:
  6005  	//
  6006  	// COMBINE_ARTIFACTS
  6007  	//
  6008  	// Build output artifacts are being combined and uploaded to the output location.
  6009  	//
  6010  	// DOWNLOAD_BATCHSPEC
  6011  	//
  6012  	// The batch build specification is being downloaded.
  6013  	//
  6014  	// FAILED
  6015  	//
  6016  	// One or more of the builds failed.
  6017  	//
  6018  	// IN_PROGRESS
  6019  	//
  6020  	// The batch build is in progress.
  6021  	//
  6022  	// STOPPED
  6023  	//
  6024  	// The batch build was stopped.
  6025  	//
  6026  	// SUBMITTED
  6027  	//
  6028  	// The btach build has been submitted.
  6029  	//
  6030  	// SUCCEEDED
  6031  	//
  6032  	// The batch build succeeded.
  6033  	PhaseType *string `locationName:"phaseType" type:"string" enum:"BuildBatchPhaseType"`
  6034  
  6035  	// When the batch build phase started, expressed in Unix time format.
  6036  	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  6037  }
  6038  
  6039  // String returns the string representation.
  6040  //
  6041  // API parameter values that are decorated as "sensitive" in the API will not
  6042  // be included in the string output. The member name will be present, but the
  6043  // value will be replaced with "sensitive".
  6044  func (s BuildBatchPhase) String() string {
  6045  	return awsutil.Prettify(s)
  6046  }
  6047  
  6048  // GoString returns the string representation.
  6049  //
  6050  // API parameter values that are decorated as "sensitive" in the API will not
  6051  // be included in the string output. The member name will be present, but the
  6052  // value will be replaced with "sensitive".
  6053  func (s BuildBatchPhase) GoString() string {
  6054  	return s.String()
  6055  }
  6056  
  6057  // SetContexts sets the Contexts field's value.
  6058  func (s *BuildBatchPhase) SetContexts(v []*PhaseContext) *BuildBatchPhase {
  6059  	s.Contexts = v
  6060  	return s
  6061  }
  6062  
  6063  // SetDurationInSeconds sets the DurationInSeconds field's value.
  6064  func (s *BuildBatchPhase) SetDurationInSeconds(v int64) *BuildBatchPhase {
  6065  	s.DurationInSeconds = &v
  6066  	return s
  6067  }
  6068  
  6069  // SetEndTime sets the EndTime field's value.
  6070  func (s *BuildBatchPhase) SetEndTime(v time.Time) *BuildBatchPhase {
  6071  	s.EndTime = &v
  6072  	return s
  6073  }
  6074  
  6075  // SetPhaseStatus sets the PhaseStatus field's value.
  6076  func (s *BuildBatchPhase) SetPhaseStatus(v string) *BuildBatchPhase {
  6077  	s.PhaseStatus = &v
  6078  	return s
  6079  }
  6080  
  6081  // SetPhaseType sets the PhaseType field's value.
  6082  func (s *BuildBatchPhase) SetPhaseType(v string) *BuildBatchPhase {
  6083  	s.PhaseType = &v
  6084  	return s
  6085  }
  6086  
  6087  // SetStartTime sets the StartTime field's value.
  6088  func (s *BuildBatchPhase) SetStartTime(v time.Time) *BuildBatchPhase {
  6089  	s.StartTime = &v
  6090  	return s
  6091  }
  6092  
  6093  // Contains information about a batch build build group. Build groups are used
  6094  // to combine builds that can run in parallel, while still being able to set
  6095  // dependencies on other build groups.
  6096  type BuildGroup struct {
  6097  	_ struct{} `type:"structure"`
  6098  
  6099  	// A BuildSummary object that contains a summary of the current build group.
  6100  	CurrentBuildSummary *BuildSummary `locationName:"currentBuildSummary" type:"structure"`
  6101  
  6102  	// An array of strings that contain the identifiers of the build groups that
  6103  	// this build group depends on.
  6104  	DependsOn []*string `locationName:"dependsOn" type:"list"`
  6105  
  6106  	// Contains the identifier of the build group.
  6107  	Identifier *string `locationName:"identifier" type:"string"`
  6108  
  6109  	// Specifies if failures in this build group can be ignored.
  6110  	IgnoreFailure *bool `locationName:"ignoreFailure" type:"boolean"`
  6111  
  6112  	// An array of BuildSummary objects that contain summaries of previous build
  6113  	// groups.
  6114  	PriorBuildSummaryList []*BuildSummary `locationName:"priorBuildSummaryList" type:"list"`
  6115  }
  6116  
  6117  // String returns the string representation.
  6118  //
  6119  // API parameter values that are decorated as "sensitive" in the API will not
  6120  // be included in the string output. The member name will be present, but the
  6121  // value will be replaced with "sensitive".
  6122  func (s BuildGroup) String() string {
  6123  	return awsutil.Prettify(s)
  6124  }
  6125  
  6126  // GoString returns the string representation.
  6127  //
  6128  // API parameter values that are decorated as "sensitive" in the API will not
  6129  // be included in the string output. The member name will be present, but the
  6130  // value will be replaced with "sensitive".
  6131  func (s BuildGroup) GoString() string {
  6132  	return s.String()
  6133  }
  6134  
  6135  // SetCurrentBuildSummary sets the CurrentBuildSummary field's value.
  6136  func (s *BuildGroup) SetCurrentBuildSummary(v *BuildSummary) *BuildGroup {
  6137  	s.CurrentBuildSummary = v
  6138  	return s
  6139  }
  6140  
  6141  // SetDependsOn sets the DependsOn field's value.
  6142  func (s *BuildGroup) SetDependsOn(v []*string) *BuildGroup {
  6143  	s.DependsOn = v
  6144  	return s
  6145  }
  6146  
  6147  // SetIdentifier sets the Identifier field's value.
  6148  func (s *BuildGroup) SetIdentifier(v string) *BuildGroup {
  6149  	s.Identifier = &v
  6150  	return s
  6151  }
  6152  
  6153  // SetIgnoreFailure sets the IgnoreFailure field's value.
  6154  func (s *BuildGroup) SetIgnoreFailure(v bool) *BuildGroup {
  6155  	s.IgnoreFailure = &v
  6156  	return s
  6157  }
  6158  
  6159  // SetPriorBuildSummaryList sets the PriorBuildSummaryList field's value.
  6160  func (s *BuildGroup) SetPriorBuildSummaryList(v []*BuildSummary) *BuildGroup {
  6161  	s.PriorBuildSummaryList = v
  6162  	return s
  6163  }
  6164  
  6165  // Information about a build that could not be successfully deleted.
  6166  type BuildNotDeleted struct {
  6167  	_ struct{} `type:"structure"`
  6168  
  6169  	// The ID of the build that could not be successfully deleted.
  6170  	Id *string `locationName:"id" min:"1" type:"string"`
  6171  
  6172  	// Additional information about the build that could not be successfully deleted.
  6173  	StatusCode *string `locationName:"statusCode" type:"string"`
  6174  }
  6175  
  6176  // String returns the string representation.
  6177  //
  6178  // API parameter values that are decorated as "sensitive" in the API will not
  6179  // be included in the string output. The member name will be present, but the
  6180  // value will be replaced with "sensitive".
  6181  func (s BuildNotDeleted) String() string {
  6182  	return awsutil.Prettify(s)
  6183  }
  6184  
  6185  // GoString returns the string representation.
  6186  //
  6187  // API parameter values that are decorated as "sensitive" in the API will not
  6188  // be included in the string output. The member name will be present, but the
  6189  // value will be replaced with "sensitive".
  6190  func (s BuildNotDeleted) GoString() string {
  6191  	return s.String()
  6192  }
  6193  
  6194  // SetId sets the Id field's value.
  6195  func (s *BuildNotDeleted) SetId(v string) *BuildNotDeleted {
  6196  	s.Id = &v
  6197  	return s
  6198  }
  6199  
  6200  // SetStatusCode sets the StatusCode field's value.
  6201  func (s *BuildNotDeleted) SetStatusCode(v string) *BuildNotDeleted {
  6202  	s.StatusCode = &v
  6203  	return s
  6204  }
  6205  
  6206  // Information about a stage for a build.
  6207  type BuildPhase struct {
  6208  	_ struct{} `type:"structure"`
  6209  
  6210  	// Additional information about a build phase, especially to help troubleshoot
  6211  	// a failed build.
  6212  	Contexts []*PhaseContext `locationName:"contexts" type:"list"`
  6213  
  6214  	// How long, in seconds, between the starting and ending times of the build's
  6215  	// phase.
  6216  	DurationInSeconds *int64 `locationName:"durationInSeconds" type:"long"`
  6217  
  6218  	// When the build phase ended, expressed in Unix time format.
  6219  	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
  6220  
  6221  	// The current status of the build phase. Valid values include:
  6222  	//
  6223  	// FAILED
  6224  	//
  6225  	// The build phase failed.
  6226  	//
  6227  	// FAULT
  6228  	//
  6229  	// The build phase faulted.
  6230  	//
  6231  	// IN_PROGRESS
  6232  	//
  6233  	// The build phase is still in progress.
  6234  	//
  6235  	// STOPPED
  6236  	//
  6237  	// The build phase stopped.
  6238  	//
  6239  	// SUCCEEDED
  6240  	//
  6241  	// The build phase succeeded.
  6242  	//
  6243  	// TIMED_OUT
  6244  	//
  6245  	// The build phase timed out.
  6246  	PhaseStatus *string `locationName:"phaseStatus" type:"string" enum:"StatusType"`
  6247  
  6248  	// The name of the build phase. Valid values include:
  6249  	//
  6250  	// BUILD
  6251  	//
  6252  	// Core build activities typically occur in this build phase.
  6253  	//
  6254  	// COMPLETED
  6255  	//
  6256  	// The build has been completed.
  6257  	//
  6258  	// DOWNLOAD_SOURCE
  6259  	//
  6260  	// Source code is being downloaded in this build phase.
  6261  	//
  6262  	// FINALIZING
  6263  	//
  6264  	// The build process is completing in this build phase.
  6265  	//
  6266  	// INSTALL
  6267  	//
  6268  	// Installation activities typically occur in this build phase.
  6269  	//
  6270  	// POST_BUILD
  6271  	//
  6272  	// Post-build activities typically occur in this build phase.
  6273  	//
  6274  	// PRE_BUILD
  6275  	//
  6276  	// Pre-build activities typically occur in this build phase.
  6277  	//
  6278  	// PROVISIONING
  6279  	//
  6280  	// The build environment is being set up.
  6281  	//
  6282  	// QUEUED
  6283  	//
  6284  	// The build has been submitted and is queued behind other submitted builds.
  6285  	//
  6286  	// SUBMITTED
  6287  	//
  6288  	// The build has been submitted.
  6289  	//
  6290  	// UPLOAD_ARTIFACTS
  6291  	//
  6292  	// Build output artifacts are being uploaded to the output location.
  6293  	PhaseType *string `locationName:"phaseType" type:"string" enum:"BuildPhaseType"`
  6294  
  6295  	// When the build phase started, expressed in Unix time format.
  6296  	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
  6297  }
  6298  
  6299  // String returns the string representation.
  6300  //
  6301  // API parameter values that are decorated as "sensitive" in the API will not
  6302  // be included in the string output. The member name will be present, but the
  6303  // value will be replaced with "sensitive".
  6304  func (s BuildPhase) String() string {
  6305  	return awsutil.Prettify(s)
  6306  }
  6307  
  6308  // GoString returns the string representation.
  6309  //
  6310  // API parameter values that are decorated as "sensitive" in the API will not
  6311  // be included in the string output. The member name will be present, but the
  6312  // value will be replaced with "sensitive".
  6313  func (s BuildPhase) GoString() string {
  6314  	return s.String()
  6315  }
  6316  
  6317  // SetContexts sets the Contexts field's value.
  6318  func (s *BuildPhase) SetContexts(v []*PhaseContext) *BuildPhase {
  6319  	s.Contexts = v
  6320  	return s
  6321  }
  6322  
  6323  // SetDurationInSeconds sets the DurationInSeconds field's value.
  6324  func (s *BuildPhase) SetDurationInSeconds(v int64) *BuildPhase {
  6325  	s.DurationInSeconds = &v
  6326  	return s
  6327  }
  6328  
  6329  // SetEndTime sets the EndTime field's value.
  6330  func (s *BuildPhase) SetEndTime(v time.Time) *BuildPhase {
  6331  	s.EndTime = &v
  6332  	return s
  6333  }
  6334  
  6335  // SetPhaseStatus sets the PhaseStatus field's value.
  6336  func (s *BuildPhase) SetPhaseStatus(v string) *BuildPhase {
  6337  	s.PhaseStatus = &v
  6338  	return s
  6339  }
  6340  
  6341  // SetPhaseType sets the PhaseType field's value.
  6342  func (s *BuildPhase) SetPhaseType(v string) *BuildPhase {
  6343  	s.PhaseType = &v
  6344  	return s
  6345  }
  6346  
  6347  // SetStartTime sets the StartTime field's value.
  6348  func (s *BuildPhase) SetStartTime(v time.Time) *BuildPhase {
  6349  	s.StartTime = &v
  6350  	return s
  6351  }
  6352  
  6353  // Contains information that defines how the CodeBuild build project reports
  6354  // the build status to the source provider.
  6355  type BuildStatusConfig struct {
  6356  	_ struct{} `type:"structure"`
  6357  
  6358  	// Specifies the context of the build status CodeBuild sends to the source provider.
  6359  	// The usage of this parameter depends on the source provider.
  6360  	//
  6361  	// Bitbucket
  6362  	//
  6363  	// This parameter is used for the name parameter in the Bitbucket commit status.
  6364  	// For more information, see build (https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build)
  6365  	// in the Bitbucket API documentation.
  6366  	//
  6367  	// GitHub/GitHub Enterprise Server
  6368  	//
  6369  	// This parameter is used for the context parameter in the GitHub commit status.
  6370  	// For more information, see Create a commit status (https://developer.github.com/v3/repos/statuses/#create-a-commit-status)
  6371  	// in the GitHub developer guide.
  6372  	Context *string `locationName:"context" type:"string"`
  6373  
  6374  	// Specifies the target url of the build status CodeBuild sends to the source
  6375  	// provider. The usage of this parameter depends on the source provider.
  6376  	//
  6377  	// Bitbucket
  6378  	//
  6379  	// This parameter is used for the url parameter in the Bitbucket commit status.
  6380  	// For more information, see build (https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Bworkspace%7D/%7Brepo_slug%7D/commit/%7Bnode%7D/statuses/build)
  6381  	// in the Bitbucket API documentation.
  6382  	//
  6383  	// GitHub/GitHub Enterprise Server
  6384  	//
  6385  	// This parameter is used for the target_url parameter in the GitHub commit
  6386  	// status. For more information, see Create a commit status (https://developer.github.com/v3/repos/statuses/#create-a-commit-status)
  6387  	// in the GitHub developer guide.
  6388  	TargetUrl *string `locationName:"targetUrl" type:"string"`
  6389  }
  6390  
  6391  // String returns the string representation.
  6392  //
  6393  // API parameter values that are decorated as "sensitive" in the API will not
  6394  // be included in the string output. The member name will be present, but the
  6395  // value will be replaced with "sensitive".
  6396  func (s BuildStatusConfig) String() string {
  6397  	return awsutil.Prettify(s)
  6398  }
  6399  
  6400  // GoString returns the string representation.
  6401  //
  6402  // API parameter values that are decorated as "sensitive" in the API will not
  6403  // be included in the string output. The member name will be present, but the
  6404  // value will be replaced with "sensitive".
  6405  func (s BuildStatusConfig) GoString() string {
  6406  	return s.String()
  6407  }
  6408  
  6409  // SetContext sets the Context field's value.
  6410  func (s *BuildStatusConfig) SetContext(v string) *BuildStatusConfig {
  6411  	s.Context = &v
  6412  	return s
  6413  }
  6414  
  6415  // SetTargetUrl sets the TargetUrl field's value.
  6416  func (s *BuildStatusConfig) SetTargetUrl(v string) *BuildStatusConfig {
  6417  	s.TargetUrl = &v
  6418  	return s
  6419  }
  6420  
  6421  // Contains summary information about a batch build group.
  6422  type BuildSummary struct {
  6423  	_ struct{} `type:"structure"`
  6424  
  6425  	// The batch build ARN.
  6426  	Arn *string `locationName:"arn" type:"string"`
  6427  
  6428  	// The status of the build group.
  6429  	//
  6430  	// FAILED
  6431  	//
  6432  	// The build group failed.
  6433  	//
  6434  	// FAULT
  6435  	//
  6436  	// The build group faulted.
  6437  	//
  6438  	// IN_PROGRESS
  6439  	//
  6440  	// The build group is still in progress.
  6441  	//
  6442  	// STOPPED
  6443  	//
  6444  	// The build group stopped.
  6445  	//
  6446  	// SUCCEEDED
  6447  	//
  6448  	// The build group succeeded.
  6449  	//
  6450  	// TIMED_OUT
  6451  	//
  6452  	// The build group timed out.
  6453  	BuildStatus *string `locationName:"buildStatus" type:"string" enum:"StatusType"`
  6454  
  6455  	// A ResolvedArtifact object that represents the primary build artifacts for
  6456  	// the build group.
  6457  	PrimaryArtifact *ResolvedArtifact `locationName:"primaryArtifact" type:"structure"`
  6458  
  6459  	// When the build was started, expressed in Unix time format.
  6460  	RequestedOn *time.Time `locationName:"requestedOn" type:"timestamp"`
  6461  
  6462  	// An array of ResolvedArtifact objects that represents the secondary build
  6463  	// artifacts for the build group.
  6464  	SecondaryArtifacts []*ResolvedArtifact `locationName:"secondaryArtifacts" type:"list"`
  6465  }
  6466  
  6467  // String returns the string representation.
  6468  //
  6469  // API parameter values that are decorated as "sensitive" in the API will not
  6470  // be included in the string output. The member name will be present, but the
  6471  // value will be replaced with "sensitive".
  6472  func (s BuildSummary) String() string {
  6473  	return awsutil.Prettify(s)
  6474  }
  6475  
  6476  // GoString returns the string representation.
  6477  //
  6478  // API parameter values that are decorated as "sensitive" in the API will not
  6479  // be included in the string output. The member name will be present, but the
  6480  // value will be replaced with "sensitive".
  6481  func (s BuildSummary) GoString() string {
  6482  	return s.String()
  6483  }
  6484  
  6485  // SetArn sets the Arn field's value.
  6486  func (s *BuildSummary) SetArn(v string) *BuildSummary {
  6487  	s.Arn = &v
  6488  	return s
  6489  }
  6490  
  6491  // SetBuildStatus sets the BuildStatus field's value.
  6492  func (s *BuildSummary) SetBuildStatus(v string) *BuildSummary {
  6493  	s.BuildStatus = &v
  6494  	return s
  6495  }
  6496  
  6497  // SetPrimaryArtifact sets the PrimaryArtifact field's value.
  6498  func (s *BuildSummary) SetPrimaryArtifact(v *ResolvedArtifact) *BuildSummary {
  6499  	s.PrimaryArtifact = v
  6500  	return s
  6501  }
  6502  
  6503  // SetRequestedOn sets the RequestedOn field's value.
  6504  func (s *BuildSummary) SetRequestedOn(v time.Time) *BuildSummary {
  6505  	s.RequestedOn = &v
  6506  	return s
  6507  }
  6508  
  6509  // SetSecondaryArtifacts sets the SecondaryArtifacts field's value.
  6510  func (s *BuildSummary) SetSecondaryArtifacts(v []*ResolvedArtifact) *BuildSummary {
  6511  	s.SecondaryArtifacts = v
  6512  	return s
  6513  }
  6514  
  6515  // Information about CloudWatch Logs for a build project.
  6516  type CloudWatchLogsConfig struct {
  6517  	_ struct{} `type:"structure"`
  6518  
  6519  	// The group name of the logs in CloudWatch Logs. For more information, see
  6520  	// Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html).
  6521  	GroupName *string `locationName:"groupName" type:"string"`
  6522  
  6523  	// The current status of the logs in CloudWatch Logs for a build project. Valid
  6524  	// values are:
  6525  	//
  6526  	//    * ENABLED: CloudWatch Logs are enabled for this build project.
  6527  	//
  6528  	//    * DISABLED: CloudWatch Logs are not enabled for this build project.
  6529  	//
  6530  	// Status is a required field
  6531  	Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"`
  6532  
  6533  	// The prefix of the stream name of the CloudWatch Logs. For more information,
  6534  	// see Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html).
  6535  	StreamName *string `locationName:"streamName" type:"string"`
  6536  }
  6537  
  6538  // String returns the string representation.
  6539  //
  6540  // API parameter values that are decorated as "sensitive" in the API will not
  6541  // be included in the string output. The member name will be present, but the
  6542  // value will be replaced with "sensitive".
  6543  func (s CloudWatchLogsConfig) String() string {
  6544  	return awsutil.Prettify(s)
  6545  }
  6546  
  6547  // GoString returns the string representation.
  6548  //
  6549  // API parameter values that are decorated as "sensitive" in the API will not
  6550  // be included in the string output. The member name will be present, but the
  6551  // value will be replaced with "sensitive".
  6552  func (s CloudWatchLogsConfig) GoString() string {
  6553  	return s.String()
  6554  }
  6555  
  6556  // Validate inspects the fields of the type to determine if they are valid.
  6557  func (s *CloudWatchLogsConfig) Validate() error {
  6558  	invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogsConfig"}
  6559  	if s.Status == nil {
  6560  		invalidParams.Add(request.NewErrParamRequired("Status"))
  6561  	}
  6562  
  6563  	if invalidParams.Len() > 0 {
  6564  		return invalidParams
  6565  	}
  6566  	return nil
  6567  }
  6568  
  6569  // SetGroupName sets the GroupName field's value.
  6570  func (s *CloudWatchLogsConfig) SetGroupName(v string) *CloudWatchLogsConfig {
  6571  	s.GroupName = &v
  6572  	return s
  6573  }
  6574  
  6575  // SetStatus sets the Status field's value.
  6576  func (s *CloudWatchLogsConfig) SetStatus(v string) *CloudWatchLogsConfig {
  6577  	s.Status = &v
  6578  	return s
  6579  }
  6580  
  6581  // SetStreamName sets the StreamName field's value.
  6582  func (s *CloudWatchLogsConfig) SetStreamName(v string) *CloudWatchLogsConfig {
  6583  	s.StreamName = &v
  6584  	return s
  6585  }
  6586  
  6587  // Contains code coverage report information.
  6588  //
  6589  // Line coverage measures how many statements your tests cover. A statement
  6590  // is a single instruction, not including comments, conditionals, etc.
  6591  //
  6592  // Branch coverage determines if your tests cover every possible branch of a
  6593  // control structure, such as an if or case statement.
  6594  type CodeCoverage struct {
  6595  	_ struct{} `type:"structure"`
  6596  
  6597  	// The percentage of branches that are covered by your tests.
  6598  	BranchCoveragePercentage *float64 `locationName:"branchCoveragePercentage" type:"double"`
  6599  
  6600  	// The number of conditional branches that are covered by your tests.
  6601  	BranchesCovered *int64 `locationName:"branchesCovered" type:"integer"`
  6602  
  6603  	// The number of conditional branches that are not covered by your tests.
  6604  	BranchesMissed *int64 `locationName:"branchesMissed" type:"integer"`
  6605  
  6606  	// The date and time that the tests were run.
  6607  	Expired *time.Time `locationName:"expired" type:"timestamp"`
  6608  
  6609  	// The path of the test report file.
  6610  	FilePath *string `locationName:"filePath" min:"1" type:"string"`
  6611  
  6612  	// The identifier of the code coverage report.
  6613  	Id *string `locationName:"id" min:"1" type:"string"`
  6614  
  6615  	// The percentage of lines that are covered by your tests.
  6616  	LineCoveragePercentage *float64 `locationName:"lineCoveragePercentage" type:"double"`
  6617  
  6618  	// The number of lines that are covered by your tests.
  6619  	LinesCovered *int64 `locationName:"linesCovered" type:"integer"`
  6620  
  6621  	// The number of lines that are not covered by your tests.
  6622  	LinesMissed *int64 `locationName:"linesMissed" type:"integer"`
  6623  
  6624  	// The ARN of the report.
  6625  	ReportARN *string `locationName:"reportARN" min:"1" type:"string"`
  6626  }
  6627  
  6628  // String returns the string representation.
  6629  //
  6630  // API parameter values that are decorated as "sensitive" in the API will not
  6631  // be included in the string output. The member name will be present, but the
  6632  // value will be replaced with "sensitive".
  6633  func (s CodeCoverage) String() string {
  6634  	return awsutil.Prettify(s)
  6635  }
  6636  
  6637  // GoString returns the string representation.
  6638  //
  6639  // API parameter values that are decorated as "sensitive" in the API will not
  6640  // be included in the string output. The member name will be present, but the
  6641  // value will be replaced with "sensitive".
  6642  func (s CodeCoverage) GoString() string {
  6643  	return s.String()
  6644  }
  6645  
  6646  // SetBranchCoveragePercentage sets the BranchCoveragePercentage field's value.
  6647  func (s *CodeCoverage) SetBranchCoveragePercentage(v float64) *CodeCoverage {
  6648  	s.BranchCoveragePercentage = &v
  6649  	return s
  6650  }
  6651  
  6652  // SetBranchesCovered sets the BranchesCovered field's value.
  6653  func (s *CodeCoverage) SetBranchesCovered(v int64) *CodeCoverage {
  6654  	s.BranchesCovered = &v
  6655  	return s
  6656  }
  6657  
  6658  // SetBranchesMissed sets the BranchesMissed field's value.
  6659  func (s *CodeCoverage) SetBranchesMissed(v int64) *CodeCoverage {
  6660  	s.BranchesMissed = &v
  6661  	return s
  6662  }
  6663  
  6664  // SetExpired sets the Expired field's value.
  6665  func (s *CodeCoverage) SetExpired(v time.Time) *CodeCoverage {
  6666  	s.Expired = &v
  6667  	return s
  6668  }
  6669  
  6670  // SetFilePath sets the FilePath field's value.
  6671  func (s *CodeCoverage) SetFilePath(v string) *CodeCoverage {
  6672  	s.FilePath = &v
  6673  	return s
  6674  }
  6675  
  6676  // SetId sets the Id field's value.
  6677  func (s *CodeCoverage) SetId(v string) *CodeCoverage {
  6678  	s.Id = &v
  6679  	return s
  6680  }
  6681  
  6682  // SetLineCoveragePercentage sets the LineCoveragePercentage field's value.
  6683  func (s *CodeCoverage) SetLineCoveragePercentage(v float64) *CodeCoverage {
  6684  	s.LineCoveragePercentage = &v
  6685  	return s
  6686  }
  6687  
  6688  // SetLinesCovered sets the LinesCovered field's value.
  6689  func (s *CodeCoverage) SetLinesCovered(v int64) *CodeCoverage {
  6690  	s.LinesCovered = &v
  6691  	return s
  6692  }
  6693  
  6694  // SetLinesMissed sets the LinesMissed field's value.
  6695  func (s *CodeCoverage) SetLinesMissed(v int64) *CodeCoverage {
  6696  	s.LinesMissed = &v
  6697  	return s
  6698  }
  6699  
  6700  // SetReportARN sets the ReportARN field's value.
  6701  func (s *CodeCoverage) SetReportARN(v string) *CodeCoverage {
  6702  	s.ReportARN = &v
  6703  	return s
  6704  }
  6705  
  6706  // Contains a summary of a code coverage report.
  6707  //
  6708  // Line coverage measures how many statements your tests cover. A statement
  6709  // is a single instruction, not including comments, conditionals, etc.
  6710  //
  6711  // Branch coverage determines if your tests cover every possible branch of a
  6712  // control structure, such as an if or case statement.
  6713  type CodeCoverageReportSummary struct {
  6714  	_ struct{} `type:"structure"`
  6715  
  6716  	// The percentage of branches that are covered by your tests.
  6717  	BranchCoveragePercentage *float64 `locationName:"branchCoveragePercentage" type:"double"`
  6718  
  6719  	// The number of conditional branches that are covered by your tests.
  6720  	BranchesCovered *int64 `locationName:"branchesCovered" type:"integer"`
  6721  
  6722  	// The number of conditional branches that are not covered by your tests.
  6723  	BranchesMissed *int64 `locationName:"branchesMissed" type:"integer"`
  6724  
  6725  	// The percentage of lines that are covered by your tests.
  6726  	LineCoveragePercentage *float64 `locationName:"lineCoveragePercentage" type:"double"`
  6727  
  6728  	// The number of lines that are covered by your tests.
  6729  	LinesCovered *int64 `locationName:"linesCovered" type:"integer"`
  6730  
  6731  	// The number of lines that are not covered by your tests.
  6732  	LinesMissed *int64 `locationName:"linesMissed" type:"integer"`
  6733  }
  6734  
  6735  // String returns the string representation.
  6736  //
  6737  // API parameter values that are decorated as "sensitive" in the API will not
  6738  // be included in the string output. The member name will be present, but the
  6739  // value will be replaced with "sensitive".
  6740  func (s CodeCoverageReportSummary) String() string {
  6741  	return awsutil.Prettify(s)
  6742  }
  6743  
  6744  // GoString returns the string representation.
  6745  //
  6746  // API parameter values that are decorated as "sensitive" in the API will not
  6747  // be included in the string output. The member name will be present, but the
  6748  // value will be replaced with "sensitive".
  6749  func (s CodeCoverageReportSummary) GoString() string {
  6750  	return s.String()
  6751  }
  6752  
  6753  // SetBranchCoveragePercentage sets the BranchCoveragePercentage field's value.
  6754  func (s *CodeCoverageReportSummary) SetBranchCoveragePercentage(v float64) *CodeCoverageReportSummary {
  6755  	s.BranchCoveragePercentage = &v
  6756  	return s
  6757  }
  6758  
  6759  // SetBranchesCovered sets the BranchesCovered field's value.
  6760  func (s *CodeCoverageReportSummary) SetBranchesCovered(v int64) *CodeCoverageReportSummary {
  6761  	s.BranchesCovered = &v
  6762  	return s
  6763  }
  6764  
  6765  // SetBranchesMissed sets the BranchesMissed field's value.
  6766  func (s *CodeCoverageReportSummary) SetBranchesMissed(v int64) *CodeCoverageReportSummary {
  6767  	s.BranchesMissed = &v
  6768  	return s
  6769  }
  6770  
  6771  // SetLineCoveragePercentage sets the LineCoveragePercentage field's value.
  6772  func (s *CodeCoverageReportSummary) SetLineCoveragePercentage(v float64) *CodeCoverageReportSummary {
  6773  	s.LineCoveragePercentage = &v
  6774  	return s
  6775  }
  6776  
  6777  // SetLinesCovered sets the LinesCovered field's value.
  6778  func (s *CodeCoverageReportSummary) SetLinesCovered(v int64) *CodeCoverageReportSummary {
  6779  	s.LinesCovered = &v
  6780  	return s
  6781  }
  6782  
  6783  // SetLinesMissed sets the LinesMissed field's value.
  6784  func (s *CodeCoverageReportSummary) SetLinesMissed(v int64) *CodeCoverageReportSummary {
  6785  	s.LinesMissed = &v
  6786  	return s
  6787  }
  6788  
  6789  type CreateProjectInput struct {
  6790  	_ struct{} `type:"structure"`
  6791  
  6792  	// Information about the build output artifacts for the build project.
  6793  	//
  6794  	// Artifacts is a required field
  6795  	Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure" required:"true"`
  6796  
  6797  	// Set this to true to generate a publicly accessible URL for your project's
  6798  	// build badge.
  6799  	BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"`
  6800  
  6801  	// A ProjectBuildBatchConfig object that defines the batch build options for
  6802  	// the project.
  6803  	BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"`
  6804  
  6805  	// Stores recently used information so that it can be quickly accessed at a
  6806  	// later time.
  6807  	Cache *ProjectCache `locationName:"cache" type:"structure"`
  6808  
  6809  	// The maximum number of concurrent builds that are allowed for this project.
  6810  	//
  6811  	// New builds are only started if the current number of builds is less than
  6812  	// or equal to this limit. If the current build count meets this limit, new
  6813  	// builds are throttled and are not run.
  6814  	ConcurrentBuildLimit *int64 `locationName:"concurrentBuildLimit" type:"integer"`
  6815  
  6816  	// A description that makes the build project easy to identify.
  6817  	Description *string `locationName:"description" type:"string"`
  6818  
  6819  	// The Key Management Service customer master key (CMK) to be used for encrypting
  6820  	// the build output artifacts.
  6821  	//
  6822  	// You can use a cross-account KMS key to encrypt the build output artifacts
  6823  	// if your service role has permission to that key.
  6824  	//
  6825  	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
  6826  	// the CMK's alias (using the format alias/<alias-name>).
  6827  	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
  6828  
  6829  	// Information about the build environment for the build project.
  6830  	//
  6831  	// Environment is a required field
  6832  	Environment *ProjectEnvironment `locationName:"environment" type:"structure" required:"true"`
  6833  
  6834  	// An array of ProjectFileSystemLocation objects for a CodeBuild build project.
  6835  	// A ProjectFileSystemLocation object specifies the identifier, location, mountOptions,
  6836  	// mountPoint, and type of a file system created using Amazon Elastic File System.
  6837  	FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"`
  6838  
  6839  	// Information about logs for the build project. These can be logs in CloudWatch
  6840  	// Logs, logs uploaded to a specified S3 bucket, or both.
  6841  	LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"`
  6842  
  6843  	// The name of the build project.
  6844  	//
  6845  	// Name is a required field
  6846  	Name *string `locationName:"name" min:"2" type:"string" required:"true"`
  6847  
  6848  	// The number of minutes a build is allowed to be queued before it times out.
  6849  	QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" type:"integer"`
  6850  
  6851  	// An array of ProjectArtifacts objects.
  6852  	SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"`
  6853  
  6854  	// An array of ProjectSourceVersion objects. If secondarySourceVersions is specified
  6855  	// at the build level, then they take precedence over these secondarySourceVersions
  6856  	// (at the project level).
  6857  	SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"`
  6858  
  6859  	// An array of ProjectSource objects.
  6860  	SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"`
  6861  
  6862  	// The ARN of the IAM role that enables CodeBuild to interact with dependent
  6863  	// Amazon Web Services services on behalf of the Amazon Web Services account.
  6864  	//
  6865  	// ServiceRole is a required field
  6866  	ServiceRole *string `locationName:"serviceRole" min:"1" type:"string" required:"true"`
  6867  
  6868  	// Information about the build input source code for the build project.
  6869  	//
  6870  	// Source is a required field
  6871  	Source *ProjectSource `locationName:"source" type:"structure" required:"true"`
  6872  
  6873  	// A version of the build input to be built for this project. If not specified,
  6874  	// the latest version is used. If specified, it must be one of:
  6875  	//
  6876  	//    * For CodeCommit: the commit ID, branch, or Git tag to use.
  6877  	//
  6878  	//    * For GitHub: the commit ID, pull request ID, branch name, or tag name
  6879  	//    that corresponds to the version of the source code you want to build.
  6880  	//    If a pull request ID is specified, it must use the format pr/pull-request-ID
  6881  	//    (for example pr/25). If a branch name is specified, the branch's HEAD
  6882  	//    commit ID is used. If not specified, the default branch's HEAD commit
  6883  	//    ID is used.
  6884  	//
  6885  	//    * For Bitbucket: the commit ID, branch name, or tag name that corresponds
  6886  	//    to the version of the source code you want to build. If a branch name
  6887  	//    is specified, the branch's HEAD commit ID is used. If not specified, the
  6888  	//    default branch's HEAD commit ID is used.
  6889  	//
  6890  	//    * For Amazon S3: the version ID of the object that represents the build
  6891  	//    input ZIP file to use.
  6892  	//
  6893  	// If sourceVersion is specified at the build level, then that version takes
  6894  	// precedence over this sourceVersion (at the project level).
  6895  	//
  6896  	// For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html)
  6897  	// in the CodeBuild User Guide.
  6898  	SourceVersion *string `locationName:"sourceVersion" type:"string"`
  6899  
  6900  	// A list of tag key and value pairs associated with this build project.
  6901  	//
  6902  	// These tags are available for use by Amazon Web Services services that support
  6903  	// CodeBuild build project tags.
  6904  	Tags []*Tag `locationName:"tags" type:"list"`
  6905  
  6906  	// How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before
  6907  	// it times out any build that has not been marked as completed. The default
  6908  	// is 60 minutes.
  6909  	TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"`
  6910  
  6911  	// VpcConfig enables CodeBuild to access resources in an Amazon VPC.
  6912  	VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"`
  6913  }
  6914  
  6915  // String returns the string representation.
  6916  //
  6917  // API parameter values that are decorated as "sensitive" in the API will not
  6918  // be included in the string output. The member name will be present, but the
  6919  // value will be replaced with "sensitive".
  6920  func (s CreateProjectInput) String() string {
  6921  	return awsutil.Prettify(s)
  6922  }
  6923  
  6924  // GoString returns the string representation.
  6925  //
  6926  // API parameter values that are decorated as "sensitive" in the API will not
  6927  // be included in the string output. The member name will be present, but the
  6928  // value will be replaced with "sensitive".
  6929  func (s CreateProjectInput) GoString() string {
  6930  	return s.String()
  6931  }
  6932  
  6933  // Validate inspects the fields of the type to determine if they are valid.
  6934  func (s *CreateProjectInput) Validate() error {
  6935  	invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"}
  6936  	if s.Artifacts == nil {
  6937  		invalidParams.Add(request.NewErrParamRequired("Artifacts"))
  6938  	}
  6939  	if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 {
  6940  		invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1))
  6941  	}
  6942  	if s.Environment == nil {
  6943  		invalidParams.Add(request.NewErrParamRequired("Environment"))
  6944  	}
  6945  	if s.Name == nil {
  6946  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6947  	}
  6948  	if s.Name != nil && len(*s.Name) < 2 {
  6949  		invalidParams.Add(request.NewErrParamMinLen("Name", 2))
  6950  	}
  6951  	if s.QueuedTimeoutInMinutes != nil && *s.QueuedTimeoutInMinutes < 5 {
  6952  		invalidParams.Add(request.NewErrParamMinValue("QueuedTimeoutInMinutes", 5))
  6953  	}
  6954  	if s.ServiceRole == nil {
  6955  		invalidParams.Add(request.NewErrParamRequired("ServiceRole"))
  6956  	}
  6957  	if s.ServiceRole != nil && len(*s.ServiceRole) < 1 {
  6958  		invalidParams.Add(request.NewErrParamMinLen("ServiceRole", 1))
  6959  	}
  6960  	if s.Source == nil {
  6961  		invalidParams.Add(request.NewErrParamRequired("Source"))
  6962  	}
  6963  	if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 5 {
  6964  		invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 5))
  6965  	}
  6966  	if s.Artifacts != nil {
  6967  		if err := s.Artifacts.Validate(); err != nil {
  6968  			invalidParams.AddNested("Artifacts", err.(request.ErrInvalidParams))
  6969  		}
  6970  	}
  6971  	if s.BuildBatchConfig != nil {
  6972  		if err := s.BuildBatchConfig.Validate(); err != nil {
  6973  			invalidParams.AddNested("BuildBatchConfig", err.(request.ErrInvalidParams))
  6974  		}
  6975  	}
  6976  	if s.Cache != nil {
  6977  		if err := s.Cache.Validate(); err != nil {
  6978  			invalidParams.AddNested("Cache", err.(request.ErrInvalidParams))
  6979  		}
  6980  	}
  6981  	if s.Environment != nil {
  6982  		if err := s.Environment.Validate(); err != nil {
  6983  			invalidParams.AddNested("Environment", err.(request.ErrInvalidParams))
  6984  		}
  6985  	}
  6986  	if s.LogsConfig != nil {
  6987  		if err := s.LogsConfig.Validate(); err != nil {
  6988  			invalidParams.AddNested("LogsConfig", err.(request.ErrInvalidParams))
  6989  		}
  6990  	}
  6991  	if s.SecondaryArtifacts != nil {
  6992  		for i, v := range s.SecondaryArtifacts {
  6993  			if v == nil {
  6994  				continue
  6995  			}
  6996  			if err := v.Validate(); err != nil {
  6997  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondaryArtifacts", i), err.(request.ErrInvalidParams))
  6998  			}
  6999  		}
  7000  	}
  7001  	if s.SecondarySourceVersions != nil {
  7002  		for i, v := range s.SecondarySourceVersions {
  7003  			if v == nil {
  7004  				continue
  7005  			}
  7006  			if err := v.Validate(); err != nil {
  7007  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourceVersions", i), err.(request.ErrInvalidParams))
  7008  			}
  7009  		}
  7010  	}
  7011  	if s.SecondarySources != nil {
  7012  		for i, v := range s.SecondarySources {
  7013  			if v == nil {
  7014  				continue
  7015  			}
  7016  			if err := v.Validate(); err != nil {
  7017  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySources", i), err.(request.ErrInvalidParams))
  7018  			}
  7019  		}
  7020  	}
  7021  	if s.Source != nil {
  7022  		if err := s.Source.Validate(); err != nil {
  7023  			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
  7024  		}
  7025  	}
  7026  	if s.Tags != nil {
  7027  		for i, v := range s.Tags {
  7028  			if v == nil {
  7029  				continue
  7030  			}
  7031  			if err := v.Validate(); err != nil {
  7032  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  7033  			}
  7034  		}
  7035  	}
  7036  	if s.VpcConfig != nil {
  7037  		if err := s.VpcConfig.Validate(); err != nil {
  7038  			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
  7039  		}
  7040  	}
  7041  
  7042  	if invalidParams.Len() > 0 {
  7043  		return invalidParams
  7044  	}
  7045  	return nil
  7046  }
  7047  
  7048  // SetArtifacts sets the Artifacts field's value.
  7049  func (s *CreateProjectInput) SetArtifacts(v *ProjectArtifacts) *CreateProjectInput {
  7050  	s.Artifacts = v
  7051  	return s
  7052  }
  7053  
  7054  // SetBadgeEnabled sets the BadgeEnabled field's value.
  7055  func (s *CreateProjectInput) SetBadgeEnabled(v bool) *CreateProjectInput {
  7056  	s.BadgeEnabled = &v
  7057  	return s
  7058  }
  7059  
  7060  // SetBuildBatchConfig sets the BuildBatchConfig field's value.
  7061  func (s *CreateProjectInput) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *CreateProjectInput {
  7062  	s.BuildBatchConfig = v
  7063  	return s
  7064  }
  7065  
  7066  // SetCache sets the Cache field's value.
  7067  func (s *CreateProjectInput) SetCache(v *ProjectCache) *CreateProjectInput {
  7068  	s.Cache = v
  7069  	return s
  7070  }
  7071  
  7072  // SetConcurrentBuildLimit sets the ConcurrentBuildLimit field's value.
  7073  func (s *CreateProjectInput) SetConcurrentBuildLimit(v int64) *CreateProjectInput {
  7074  	s.ConcurrentBuildLimit = &v
  7075  	return s
  7076  }
  7077  
  7078  // SetDescription sets the Description field's value.
  7079  func (s *CreateProjectInput) SetDescription(v string) *CreateProjectInput {
  7080  	s.Description = &v
  7081  	return s
  7082  }
  7083  
  7084  // SetEncryptionKey sets the EncryptionKey field's value.
  7085  func (s *CreateProjectInput) SetEncryptionKey(v string) *CreateProjectInput {
  7086  	s.EncryptionKey = &v
  7087  	return s
  7088  }
  7089  
  7090  // SetEnvironment sets the Environment field's value.
  7091  func (s *CreateProjectInput) SetEnvironment(v *ProjectEnvironment) *CreateProjectInput {
  7092  	s.Environment = v
  7093  	return s
  7094  }
  7095  
  7096  // SetFileSystemLocations sets the FileSystemLocations field's value.
  7097  func (s *CreateProjectInput) SetFileSystemLocations(v []*ProjectFileSystemLocation) *CreateProjectInput {
  7098  	s.FileSystemLocations = v
  7099  	return s
  7100  }
  7101  
  7102  // SetLogsConfig sets the LogsConfig field's value.
  7103  func (s *CreateProjectInput) SetLogsConfig(v *LogsConfig) *CreateProjectInput {
  7104  	s.LogsConfig = v
  7105  	return s
  7106  }
  7107  
  7108  // SetName sets the Name field's value.
  7109  func (s *CreateProjectInput) SetName(v string) *CreateProjectInput {
  7110  	s.Name = &v
  7111  	return s
  7112  }
  7113  
  7114  // SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value.
  7115  func (s *CreateProjectInput) SetQueuedTimeoutInMinutes(v int64) *CreateProjectInput {
  7116  	s.QueuedTimeoutInMinutes = &v
  7117  	return s
  7118  }
  7119  
  7120  // SetSecondaryArtifacts sets the SecondaryArtifacts field's value.
  7121  func (s *CreateProjectInput) SetSecondaryArtifacts(v []*ProjectArtifacts) *CreateProjectInput {
  7122  	s.SecondaryArtifacts = v
  7123  	return s
  7124  }
  7125  
  7126  // SetSecondarySourceVersions sets the SecondarySourceVersions field's value.
  7127  func (s *CreateProjectInput) SetSecondarySourceVersions(v []*ProjectSourceVersion) *CreateProjectInput {
  7128  	s.SecondarySourceVersions = v
  7129  	return s
  7130  }
  7131  
  7132  // SetSecondarySources sets the SecondarySources field's value.
  7133  func (s *CreateProjectInput) SetSecondarySources(v []*ProjectSource) *CreateProjectInput {
  7134  	s.SecondarySources = v
  7135  	return s
  7136  }
  7137  
  7138  // SetServiceRole sets the ServiceRole field's value.
  7139  func (s *CreateProjectInput) SetServiceRole(v string) *CreateProjectInput {
  7140  	s.ServiceRole = &v
  7141  	return s
  7142  }
  7143  
  7144  // SetSource sets the Source field's value.
  7145  func (s *CreateProjectInput) SetSource(v *ProjectSource) *CreateProjectInput {
  7146  	s.Source = v
  7147  	return s
  7148  }
  7149  
  7150  // SetSourceVersion sets the SourceVersion field's value.
  7151  func (s *CreateProjectInput) SetSourceVersion(v string) *CreateProjectInput {
  7152  	s.SourceVersion = &v
  7153  	return s
  7154  }
  7155  
  7156  // SetTags sets the Tags field's value.
  7157  func (s *CreateProjectInput) SetTags(v []*Tag) *CreateProjectInput {
  7158  	s.Tags = v
  7159  	return s
  7160  }
  7161  
  7162  // SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
  7163  func (s *CreateProjectInput) SetTimeoutInMinutes(v int64) *CreateProjectInput {
  7164  	s.TimeoutInMinutes = &v
  7165  	return s
  7166  }
  7167  
  7168  // SetVpcConfig sets the VpcConfig field's value.
  7169  func (s *CreateProjectInput) SetVpcConfig(v *VpcConfig) *CreateProjectInput {
  7170  	s.VpcConfig = v
  7171  	return s
  7172  }
  7173  
  7174  type CreateProjectOutput struct {
  7175  	_ struct{} `type:"structure"`
  7176  
  7177  	// Information about the build project that was created.
  7178  	Project *Project `locationName:"project" type:"structure"`
  7179  }
  7180  
  7181  // String returns the string representation.
  7182  //
  7183  // API parameter values that are decorated as "sensitive" in the API will not
  7184  // be included in the string output. The member name will be present, but the
  7185  // value will be replaced with "sensitive".
  7186  func (s CreateProjectOutput) String() string {
  7187  	return awsutil.Prettify(s)
  7188  }
  7189  
  7190  // GoString returns the string representation.
  7191  //
  7192  // API parameter values that are decorated as "sensitive" in the API will not
  7193  // be included in the string output. The member name will be present, but the
  7194  // value will be replaced with "sensitive".
  7195  func (s CreateProjectOutput) GoString() string {
  7196  	return s.String()
  7197  }
  7198  
  7199  // SetProject sets the Project field's value.
  7200  func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput {
  7201  	s.Project = v
  7202  	return s
  7203  }
  7204  
  7205  type CreateReportGroupInput struct {
  7206  	_ struct{} `type:"structure"`
  7207  
  7208  	// A ReportExportConfig object that contains information about where the report
  7209  	// group test results are exported.
  7210  	//
  7211  	// ExportConfig is a required field
  7212  	ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure" required:"true"`
  7213  
  7214  	// The name of the report group.
  7215  	//
  7216  	// Name is a required field
  7217  	Name *string `locationName:"name" min:"2" type:"string" required:"true"`
  7218  
  7219  	// A list of tag key and value pairs associated with this report group.
  7220  	//
  7221  	// These tags are available for use by Amazon Web Services services that support
  7222  	// CodeBuild report group tags.
  7223  	Tags []*Tag `locationName:"tags" type:"list"`
  7224  
  7225  	// The type of report group.
  7226  	//
  7227  	// Type is a required field
  7228  	Type *string `locationName:"type" type:"string" required:"true" enum:"ReportType"`
  7229  }
  7230  
  7231  // String returns the string representation.
  7232  //
  7233  // API parameter values that are decorated as "sensitive" in the API will not
  7234  // be included in the string output. The member name will be present, but the
  7235  // value will be replaced with "sensitive".
  7236  func (s CreateReportGroupInput) String() string {
  7237  	return awsutil.Prettify(s)
  7238  }
  7239  
  7240  // GoString returns the string representation.
  7241  //
  7242  // API parameter values that are decorated as "sensitive" in the API will not
  7243  // be included in the string output. The member name will be present, but the
  7244  // value will be replaced with "sensitive".
  7245  func (s CreateReportGroupInput) GoString() string {
  7246  	return s.String()
  7247  }
  7248  
  7249  // Validate inspects the fields of the type to determine if they are valid.
  7250  func (s *CreateReportGroupInput) Validate() error {
  7251  	invalidParams := request.ErrInvalidParams{Context: "CreateReportGroupInput"}
  7252  	if s.ExportConfig == nil {
  7253  		invalidParams.Add(request.NewErrParamRequired("ExportConfig"))
  7254  	}
  7255  	if s.Name == nil {
  7256  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7257  	}
  7258  	if s.Name != nil && len(*s.Name) < 2 {
  7259  		invalidParams.Add(request.NewErrParamMinLen("Name", 2))
  7260  	}
  7261  	if s.Type == nil {
  7262  		invalidParams.Add(request.NewErrParamRequired("Type"))
  7263  	}
  7264  	if s.ExportConfig != nil {
  7265  		if err := s.ExportConfig.Validate(); err != nil {
  7266  			invalidParams.AddNested("ExportConfig", err.(request.ErrInvalidParams))
  7267  		}
  7268  	}
  7269  	if s.Tags != nil {
  7270  		for i, v := range s.Tags {
  7271  			if v == nil {
  7272  				continue
  7273  			}
  7274  			if err := v.Validate(); err != nil {
  7275  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
  7276  			}
  7277  		}
  7278  	}
  7279  
  7280  	if invalidParams.Len() > 0 {
  7281  		return invalidParams
  7282  	}
  7283  	return nil
  7284  }
  7285  
  7286  // SetExportConfig sets the ExportConfig field's value.
  7287  func (s *CreateReportGroupInput) SetExportConfig(v *ReportExportConfig) *CreateReportGroupInput {
  7288  	s.ExportConfig = v
  7289  	return s
  7290  }
  7291  
  7292  // SetName sets the Name field's value.
  7293  func (s *CreateReportGroupInput) SetName(v string) *CreateReportGroupInput {
  7294  	s.Name = &v
  7295  	return s
  7296  }
  7297  
  7298  // SetTags sets the Tags field's value.
  7299  func (s *CreateReportGroupInput) SetTags(v []*Tag) *CreateReportGroupInput {
  7300  	s.Tags = v
  7301  	return s
  7302  }
  7303  
  7304  // SetType sets the Type field's value.
  7305  func (s *CreateReportGroupInput) SetType(v string) *CreateReportGroupInput {
  7306  	s.Type = &v
  7307  	return s
  7308  }
  7309  
  7310  type CreateReportGroupOutput struct {
  7311  	_ struct{} `type:"structure"`
  7312  
  7313  	// Information about the report group that was created.
  7314  	ReportGroup *ReportGroup `locationName:"reportGroup" type:"structure"`
  7315  }
  7316  
  7317  // String returns the string representation.
  7318  //
  7319  // API parameter values that are decorated as "sensitive" in the API will not
  7320  // be included in the string output. The member name will be present, but the
  7321  // value will be replaced with "sensitive".
  7322  func (s CreateReportGroupOutput) String() string {
  7323  	return awsutil.Prettify(s)
  7324  }
  7325  
  7326  // GoString returns the string representation.
  7327  //
  7328  // API parameter values that are decorated as "sensitive" in the API will not
  7329  // be included in the string output. The member name will be present, but the
  7330  // value will be replaced with "sensitive".
  7331  func (s CreateReportGroupOutput) GoString() string {
  7332  	return s.String()
  7333  }
  7334  
  7335  // SetReportGroup sets the ReportGroup field's value.
  7336  func (s *CreateReportGroupOutput) SetReportGroup(v *ReportGroup) *CreateReportGroupOutput {
  7337  	s.ReportGroup = v
  7338  	return s
  7339  }
  7340  
  7341  type CreateWebhookInput struct {
  7342  	_ struct{} `type:"structure"`
  7343  
  7344  	// A regular expression used to determine which repository branches are built
  7345  	// when a webhook is triggered. If the name of a branch matches the regular
  7346  	// expression, then it is built. If branchFilter is empty, then all branches
  7347  	// are built.
  7348  	//
  7349  	// It is recommended that you use filterGroups instead of branchFilter.
  7350  	BranchFilter *string `locationName:"branchFilter" type:"string"`
  7351  
  7352  	// Specifies the type of build this webhook will trigger.
  7353  	BuildType *string `locationName:"buildType" type:"string" enum:"WebhookBuildType"`
  7354  
  7355  	// An array of arrays of WebhookFilter objects used to determine which webhooks
  7356  	// are triggered. At least one WebhookFilter in the array must specify EVENT
  7357  	// as its type.
  7358  	//
  7359  	// For a build to be triggered, at least one filter group in the filterGroups
  7360  	// array must pass. For a filter group to pass, each of its filters must pass.
  7361  	FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"`
  7362  
  7363  	// The name of the CodeBuild project.
  7364  	//
  7365  	// ProjectName is a required field
  7366  	ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"`
  7367  }
  7368  
  7369  // String returns the string representation.
  7370  //
  7371  // API parameter values that are decorated as "sensitive" in the API will not
  7372  // be included in the string output. The member name will be present, but the
  7373  // value will be replaced with "sensitive".
  7374  func (s CreateWebhookInput) String() string {
  7375  	return awsutil.Prettify(s)
  7376  }
  7377  
  7378  // GoString returns the string representation.
  7379  //
  7380  // API parameter values that are decorated as "sensitive" in the API will not
  7381  // be included in the string output. The member name will be present, but the
  7382  // value will be replaced with "sensitive".
  7383  func (s CreateWebhookInput) GoString() string {
  7384  	return s.String()
  7385  }
  7386  
  7387  // Validate inspects the fields of the type to determine if they are valid.
  7388  func (s *CreateWebhookInput) Validate() error {
  7389  	invalidParams := request.ErrInvalidParams{Context: "CreateWebhookInput"}
  7390  	if s.ProjectName == nil {
  7391  		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
  7392  	}
  7393  	if s.ProjectName != nil && len(*s.ProjectName) < 2 {
  7394  		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2))
  7395  	}
  7396  
  7397  	if invalidParams.Len() > 0 {
  7398  		return invalidParams
  7399  	}
  7400  	return nil
  7401  }
  7402  
  7403  // SetBranchFilter sets the BranchFilter field's value.
  7404  func (s *CreateWebhookInput) SetBranchFilter(v string) *CreateWebhookInput {
  7405  	s.BranchFilter = &v
  7406  	return s
  7407  }
  7408  
  7409  // SetBuildType sets the BuildType field's value.
  7410  func (s *CreateWebhookInput) SetBuildType(v string) *CreateWebhookInput {
  7411  	s.BuildType = &v
  7412  	return s
  7413  }
  7414  
  7415  // SetFilterGroups sets the FilterGroups field's value.
  7416  func (s *CreateWebhookInput) SetFilterGroups(v [][]*WebhookFilter) *CreateWebhookInput {
  7417  	s.FilterGroups = v
  7418  	return s
  7419  }
  7420  
  7421  // SetProjectName sets the ProjectName field's value.
  7422  func (s *CreateWebhookInput) SetProjectName(v string) *CreateWebhookInput {
  7423  	s.ProjectName = &v
  7424  	return s
  7425  }
  7426  
  7427  type CreateWebhookOutput struct {
  7428  	_ struct{} `type:"structure"`
  7429  
  7430  	// Information about a webhook that connects repository events to a build project
  7431  	// in CodeBuild.
  7432  	Webhook *Webhook `locationName:"webhook" type:"structure"`
  7433  }
  7434  
  7435  // String returns the string representation.
  7436  //
  7437  // API parameter values that are decorated as "sensitive" in the API will not
  7438  // be included in the string output. The member name will be present, but the
  7439  // value will be replaced with "sensitive".
  7440  func (s CreateWebhookOutput) String() string {
  7441  	return awsutil.Prettify(s)
  7442  }
  7443  
  7444  // GoString returns the string representation.
  7445  //
  7446  // API parameter values that are decorated as "sensitive" in the API will not
  7447  // be included in the string output. The member name will be present, but the
  7448  // value will be replaced with "sensitive".
  7449  func (s CreateWebhookOutput) GoString() string {
  7450  	return s.String()
  7451  }
  7452  
  7453  // SetWebhook sets the Webhook field's value.
  7454  func (s *CreateWebhookOutput) SetWebhook(v *Webhook) *CreateWebhookOutput {
  7455  	s.Webhook = v
  7456  	return s
  7457  }
  7458  
  7459  // Contains information about the debug session for a build. For more information,
  7460  // see Viewing a running build in Session Manager (https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html).
  7461  type DebugSession struct {
  7462  	_ struct{} `type:"structure"`
  7463  
  7464  	// Specifies if session debugging is enabled for this build.
  7465  	SessionEnabled *bool `locationName:"sessionEnabled" type:"boolean"`
  7466  
  7467  	// Contains the identifier of the Session Manager session used for the build.
  7468  	// To work with the paused build, you open this session to examine, control,
  7469  	// and resume the build.
  7470  	SessionTarget *string `locationName:"sessionTarget" min:"1" type:"string"`
  7471  }
  7472  
  7473  // String returns the string representation.
  7474  //
  7475  // API parameter values that are decorated as "sensitive" in the API will not
  7476  // be included in the string output. The member name will be present, but the
  7477  // value will be replaced with "sensitive".
  7478  func (s DebugSession) String() string {
  7479  	return awsutil.Prettify(s)
  7480  }
  7481  
  7482  // GoString returns the string representation.
  7483  //
  7484  // API parameter values that are decorated as "sensitive" in the API will not
  7485  // be included in the string output. The member name will be present, but the
  7486  // value will be replaced with "sensitive".
  7487  func (s DebugSession) GoString() string {
  7488  	return s.String()
  7489  }
  7490  
  7491  // SetSessionEnabled sets the SessionEnabled field's value.
  7492  func (s *DebugSession) SetSessionEnabled(v bool) *DebugSession {
  7493  	s.SessionEnabled = &v
  7494  	return s
  7495  }
  7496  
  7497  // SetSessionTarget sets the SessionTarget field's value.
  7498  func (s *DebugSession) SetSessionTarget(v string) *DebugSession {
  7499  	s.SessionTarget = &v
  7500  	return s
  7501  }
  7502  
  7503  type DeleteBuildBatchInput struct {
  7504  	_ struct{} `type:"structure"`
  7505  
  7506  	// The identifier of the batch build to delete.
  7507  	//
  7508  	// Id is a required field
  7509  	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
  7510  }
  7511  
  7512  // String returns the string representation.
  7513  //
  7514  // API parameter values that are decorated as "sensitive" in the API will not
  7515  // be included in the string output. The member name will be present, but the
  7516  // value will be replaced with "sensitive".
  7517  func (s DeleteBuildBatchInput) String() string {
  7518  	return awsutil.Prettify(s)
  7519  }
  7520  
  7521  // GoString returns the string representation.
  7522  //
  7523  // API parameter values that are decorated as "sensitive" in the API will not
  7524  // be included in the string output. The member name will be present, but the
  7525  // value will be replaced with "sensitive".
  7526  func (s DeleteBuildBatchInput) GoString() string {
  7527  	return s.String()
  7528  }
  7529  
  7530  // Validate inspects the fields of the type to determine if they are valid.
  7531  func (s *DeleteBuildBatchInput) Validate() error {
  7532  	invalidParams := request.ErrInvalidParams{Context: "DeleteBuildBatchInput"}
  7533  	if s.Id == nil {
  7534  		invalidParams.Add(request.NewErrParamRequired("Id"))
  7535  	}
  7536  	if s.Id != nil && len(*s.Id) < 1 {
  7537  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
  7538  	}
  7539  
  7540  	if invalidParams.Len() > 0 {
  7541  		return invalidParams
  7542  	}
  7543  	return nil
  7544  }
  7545  
  7546  // SetId sets the Id field's value.
  7547  func (s *DeleteBuildBatchInput) SetId(v string) *DeleteBuildBatchInput {
  7548  	s.Id = &v
  7549  	return s
  7550  }
  7551  
  7552  type DeleteBuildBatchOutput struct {
  7553  	_ struct{} `type:"structure"`
  7554  
  7555  	// An array of strings that contain the identifiers of the builds that were
  7556  	// deleted.
  7557  	BuildsDeleted []*string `locationName:"buildsDeleted" min:"1" type:"list"`
  7558  
  7559  	// An array of BuildNotDeleted objects that specify the builds that could not
  7560  	// be deleted.
  7561  	BuildsNotDeleted []*BuildNotDeleted `locationName:"buildsNotDeleted" type:"list"`
  7562  
  7563  	// The status code.
  7564  	StatusCode *string `locationName:"statusCode" type:"string"`
  7565  }
  7566  
  7567  // String returns the string representation.
  7568  //
  7569  // API parameter values that are decorated as "sensitive" in the API will not
  7570  // be included in the string output. The member name will be present, but the
  7571  // value will be replaced with "sensitive".
  7572  func (s DeleteBuildBatchOutput) String() string {
  7573  	return awsutil.Prettify(s)
  7574  }
  7575  
  7576  // GoString returns the string representation.
  7577  //
  7578  // API parameter values that are decorated as "sensitive" in the API will not
  7579  // be included in the string output. The member name will be present, but the
  7580  // value will be replaced with "sensitive".
  7581  func (s DeleteBuildBatchOutput) GoString() string {
  7582  	return s.String()
  7583  }
  7584  
  7585  // SetBuildsDeleted sets the BuildsDeleted field's value.
  7586  func (s *DeleteBuildBatchOutput) SetBuildsDeleted(v []*string) *DeleteBuildBatchOutput {
  7587  	s.BuildsDeleted = v
  7588  	return s
  7589  }
  7590  
  7591  // SetBuildsNotDeleted sets the BuildsNotDeleted field's value.
  7592  func (s *DeleteBuildBatchOutput) SetBuildsNotDeleted(v []*BuildNotDeleted) *DeleteBuildBatchOutput {
  7593  	s.BuildsNotDeleted = v
  7594  	return s
  7595  }
  7596  
  7597  // SetStatusCode sets the StatusCode field's value.
  7598  func (s *DeleteBuildBatchOutput) SetStatusCode(v string) *DeleteBuildBatchOutput {
  7599  	s.StatusCode = &v
  7600  	return s
  7601  }
  7602  
  7603  type DeleteProjectInput struct {
  7604  	_ struct{} `type:"structure"`
  7605  
  7606  	// The name of the build project.
  7607  	//
  7608  	// Name is a required field
  7609  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7610  }
  7611  
  7612  // String returns the string representation.
  7613  //
  7614  // API parameter values that are decorated as "sensitive" in the API will not
  7615  // be included in the string output. The member name will be present, but the
  7616  // value will be replaced with "sensitive".
  7617  func (s DeleteProjectInput) String() string {
  7618  	return awsutil.Prettify(s)
  7619  }
  7620  
  7621  // GoString returns the string representation.
  7622  //
  7623  // API parameter values that are decorated as "sensitive" in the API will not
  7624  // be included in the string output. The member name will be present, but the
  7625  // value will be replaced with "sensitive".
  7626  func (s DeleteProjectInput) GoString() string {
  7627  	return s.String()
  7628  }
  7629  
  7630  // Validate inspects the fields of the type to determine if they are valid.
  7631  func (s *DeleteProjectInput) Validate() error {
  7632  	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
  7633  	if s.Name == nil {
  7634  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7635  	}
  7636  	if s.Name != nil && len(*s.Name) < 1 {
  7637  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7638  	}
  7639  
  7640  	if invalidParams.Len() > 0 {
  7641  		return invalidParams
  7642  	}
  7643  	return nil
  7644  }
  7645  
  7646  // SetName sets the Name field's value.
  7647  func (s *DeleteProjectInput) SetName(v string) *DeleteProjectInput {
  7648  	s.Name = &v
  7649  	return s
  7650  }
  7651  
  7652  type DeleteProjectOutput struct {
  7653  	_ struct{} `type:"structure"`
  7654  }
  7655  
  7656  // String returns the string representation.
  7657  //
  7658  // API parameter values that are decorated as "sensitive" in the API will not
  7659  // be included in the string output. The member name will be present, but the
  7660  // value will be replaced with "sensitive".
  7661  func (s DeleteProjectOutput) String() string {
  7662  	return awsutil.Prettify(s)
  7663  }
  7664  
  7665  // GoString returns the string representation.
  7666  //
  7667  // API parameter values that are decorated as "sensitive" in the API will not
  7668  // be included in the string output. The member name will be present, but the
  7669  // value will be replaced with "sensitive".
  7670  func (s DeleteProjectOutput) GoString() string {
  7671  	return s.String()
  7672  }
  7673  
  7674  type DeleteReportGroupInput struct {
  7675  	_ struct{} `type:"structure"`
  7676  
  7677  	// The ARN of the report group to delete.
  7678  	//
  7679  	// Arn is a required field
  7680  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
  7681  
  7682  	// If true, deletes any reports that belong to a report group before deleting
  7683  	// the report group.
  7684  	//
  7685  	// If false, you must delete any reports in the report group. Use ListReportsForReportGroup
  7686  	// (https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ListReportsForReportGroup.html)
  7687  	// to get the reports in a report group. Use DeleteReport (https://docs.aws.amazon.com/codebuild/latest/APIReference/API_DeleteReport.html)
  7688  	// to delete the reports. If you call DeleteReportGroup for a report group that
  7689  	// contains one or more reports, an exception is thrown.
  7690  	DeleteReports *bool `locationName:"deleteReports" type:"boolean"`
  7691  }
  7692  
  7693  // String returns the string representation.
  7694  //
  7695  // API parameter values that are decorated as "sensitive" in the API will not
  7696  // be included in the string output. The member name will be present, but the
  7697  // value will be replaced with "sensitive".
  7698  func (s DeleteReportGroupInput) String() string {
  7699  	return awsutil.Prettify(s)
  7700  }
  7701  
  7702  // GoString returns the string representation.
  7703  //
  7704  // API parameter values that are decorated as "sensitive" in the API will not
  7705  // be included in the string output. The member name will be present, but the
  7706  // value will be replaced with "sensitive".
  7707  func (s DeleteReportGroupInput) GoString() string {
  7708  	return s.String()
  7709  }
  7710  
  7711  // Validate inspects the fields of the type to determine if they are valid.
  7712  func (s *DeleteReportGroupInput) Validate() error {
  7713  	invalidParams := request.ErrInvalidParams{Context: "DeleteReportGroupInput"}
  7714  	if s.Arn == nil {
  7715  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  7716  	}
  7717  	if s.Arn != nil && len(*s.Arn) < 1 {
  7718  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  7719  	}
  7720  
  7721  	if invalidParams.Len() > 0 {
  7722  		return invalidParams
  7723  	}
  7724  	return nil
  7725  }
  7726  
  7727  // SetArn sets the Arn field's value.
  7728  func (s *DeleteReportGroupInput) SetArn(v string) *DeleteReportGroupInput {
  7729  	s.Arn = &v
  7730  	return s
  7731  }
  7732  
  7733  // SetDeleteReports sets the DeleteReports field's value.
  7734  func (s *DeleteReportGroupInput) SetDeleteReports(v bool) *DeleteReportGroupInput {
  7735  	s.DeleteReports = &v
  7736  	return s
  7737  }
  7738  
  7739  type DeleteReportGroupOutput struct {
  7740  	_ struct{} `type:"structure"`
  7741  }
  7742  
  7743  // String returns the string representation.
  7744  //
  7745  // API parameter values that are decorated as "sensitive" in the API will not
  7746  // be included in the string output. The member name will be present, but the
  7747  // value will be replaced with "sensitive".
  7748  func (s DeleteReportGroupOutput) String() string {
  7749  	return awsutil.Prettify(s)
  7750  }
  7751  
  7752  // GoString returns the string representation.
  7753  //
  7754  // API parameter values that are decorated as "sensitive" in the API will not
  7755  // be included in the string output. The member name will be present, but the
  7756  // value will be replaced with "sensitive".
  7757  func (s DeleteReportGroupOutput) GoString() string {
  7758  	return s.String()
  7759  }
  7760  
  7761  type DeleteReportInput struct {
  7762  	_ struct{} `type:"structure"`
  7763  
  7764  	// The ARN of the report to delete.
  7765  	//
  7766  	// Arn is a required field
  7767  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
  7768  }
  7769  
  7770  // String returns the string representation.
  7771  //
  7772  // API parameter values that are decorated as "sensitive" in the API will not
  7773  // be included in the string output. The member name will be present, but the
  7774  // value will be replaced with "sensitive".
  7775  func (s DeleteReportInput) String() string {
  7776  	return awsutil.Prettify(s)
  7777  }
  7778  
  7779  // GoString returns the string representation.
  7780  //
  7781  // API parameter values that are decorated as "sensitive" in the API will not
  7782  // be included in the string output. The member name will be present, but the
  7783  // value will be replaced with "sensitive".
  7784  func (s DeleteReportInput) GoString() string {
  7785  	return s.String()
  7786  }
  7787  
  7788  // Validate inspects the fields of the type to determine if they are valid.
  7789  func (s *DeleteReportInput) Validate() error {
  7790  	invalidParams := request.ErrInvalidParams{Context: "DeleteReportInput"}
  7791  	if s.Arn == nil {
  7792  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  7793  	}
  7794  	if s.Arn != nil && len(*s.Arn) < 1 {
  7795  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  7796  	}
  7797  
  7798  	if invalidParams.Len() > 0 {
  7799  		return invalidParams
  7800  	}
  7801  	return nil
  7802  }
  7803  
  7804  // SetArn sets the Arn field's value.
  7805  func (s *DeleteReportInput) SetArn(v string) *DeleteReportInput {
  7806  	s.Arn = &v
  7807  	return s
  7808  }
  7809  
  7810  type DeleteReportOutput struct {
  7811  	_ struct{} `type:"structure"`
  7812  }
  7813  
  7814  // String returns the string representation.
  7815  //
  7816  // API parameter values that are decorated as "sensitive" in the API will not
  7817  // be included in the string output. The member name will be present, but the
  7818  // value will be replaced with "sensitive".
  7819  func (s DeleteReportOutput) String() string {
  7820  	return awsutil.Prettify(s)
  7821  }
  7822  
  7823  // GoString returns the string representation.
  7824  //
  7825  // API parameter values that are decorated as "sensitive" in the API will not
  7826  // be included in the string output. The member name will be present, but the
  7827  // value will be replaced with "sensitive".
  7828  func (s DeleteReportOutput) GoString() string {
  7829  	return s.String()
  7830  }
  7831  
  7832  type DeleteResourcePolicyInput struct {
  7833  	_ struct{} `type:"structure"`
  7834  
  7835  	// The ARN of the resource that is associated with the resource policy.
  7836  	//
  7837  	// ResourceArn is a required field
  7838  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
  7839  }
  7840  
  7841  // String returns the string representation.
  7842  //
  7843  // API parameter values that are decorated as "sensitive" in the API will not
  7844  // be included in the string output. The member name will be present, but the
  7845  // value will be replaced with "sensitive".
  7846  func (s DeleteResourcePolicyInput) String() string {
  7847  	return awsutil.Prettify(s)
  7848  }
  7849  
  7850  // GoString returns the string representation.
  7851  //
  7852  // API parameter values that are decorated as "sensitive" in the API will not
  7853  // be included in the string output. The member name will be present, but the
  7854  // value will be replaced with "sensitive".
  7855  func (s DeleteResourcePolicyInput) GoString() string {
  7856  	return s.String()
  7857  }
  7858  
  7859  // Validate inspects the fields of the type to determine if they are valid.
  7860  func (s *DeleteResourcePolicyInput) Validate() error {
  7861  	invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"}
  7862  	if s.ResourceArn == nil {
  7863  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  7864  	}
  7865  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  7866  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  7867  	}
  7868  
  7869  	if invalidParams.Len() > 0 {
  7870  		return invalidParams
  7871  	}
  7872  	return nil
  7873  }
  7874  
  7875  // SetResourceArn sets the ResourceArn field's value.
  7876  func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput {
  7877  	s.ResourceArn = &v
  7878  	return s
  7879  }
  7880  
  7881  type DeleteResourcePolicyOutput struct {
  7882  	_ struct{} `type:"structure"`
  7883  }
  7884  
  7885  // String returns the string representation.
  7886  //
  7887  // API parameter values that are decorated as "sensitive" in the API will not
  7888  // be included in the string output. The member name will be present, but the
  7889  // value will be replaced with "sensitive".
  7890  func (s DeleteResourcePolicyOutput) String() string {
  7891  	return awsutil.Prettify(s)
  7892  }
  7893  
  7894  // GoString returns the string representation.
  7895  //
  7896  // API parameter values that are decorated as "sensitive" in the API will not
  7897  // be included in the string output. The member name will be present, but the
  7898  // value will be replaced with "sensitive".
  7899  func (s DeleteResourcePolicyOutput) GoString() string {
  7900  	return s.String()
  7901  }
  7902  
  7903  type DeleteSourceCredentialsInput struct {
  7904  	_ struct{} `type:"structure"`
  7905  
  7906  	// The Amazon Resource Name (ARN) of the token.
  7907  	//
  7908  	// Arn is a required field
  7909  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
  7910  }
  7911  
  7912  // String returns the string representation.
  7913  //
  7914  // API parameter values that are decorated as "sensitive" in the API will not
  7915  // be included in the string output. The member name will be present, but the
  7916  // value will be replaced with "sensitive".
  7917  func (s DeleteSourceCredentialsInput) String() string {
  7918  	return awsutil.Prettify(s)
  7919  }
  7920  
  7921  // GoString returns the string representation.
  7922  //
  7923  // API parameter values that are decorated as "sensitive" in the API will not
  7924  // be included in the string output. The member name will be present, but the
  7925  // value will be replaced with "sensitive".
  7926  func (s DeleteSourceCredentialsInput) GoString() string {
  7927  	return s.String()
  7928  }
  7929  
  7930  // Validate inspects the fields of the type to determine if they are valid.
  7931  func (s *DeleteSourceCredentialsInput) Validate() error {
  7932  	invalidParams := request.ErrInvalidParams{Context: "DeleteSourceCredentialsInput"}
  7933  	if s.Arn == nil {
  7934  		invalidParams.Add(request.NewErrParamRequired("Arn"))
  7935  	}
  7936  	if s.Arn != nil && len(*s.Arn) < 1 {
  7937  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
  7938  	}
  7939  
  7940  	if invalidParams.Len() > 0 {
  7941  		return invalidParams
  7942  	}
  7943  	return nil
  7944  }
  7945  
  7946  // SetArn sets the Arn field's value.
  7947  func (s *DeleteSourceCredentialsInput) SetArn(v string) *DeleteSourceCredentialsInput {
  7948  	s.Arn = &v
  7949  	return s
  7950  }
  7951  
  7952  type DeleteSourceCredentialsOutput struct {
  7953  	_ struct{} `type:"structure"`
  7954  
  7955  	// The Amazon Resource Name (ARN) of the token.
  7956  	Arn *string `locationName:"arn" min:"1" type:"string"`
  7957  }
  7958  
  7959  // String returns the string representation.
  7960  //
  7961  // API parameter values that are decorated as "sensitive" in the API will not
  7962  // be included in the string output. The member name will be present, but the
  7963  // value will be replaced with "sensitive".
  7964  func (s DeleteSourceCredentialsOutput) String() string {
  7965  	return awsutil.Prettify(s)
  7966  }
  7967  
  7968  // GoString returns the string representation.
  7969  //
  7970  // API parameter values that are decorated as "sensitive" in the API will not
  7971  // be included in the string output. The member name will be present, but the
  7972  // value will be replaced with "sensitive".
  7973  func (s DeleteSourceCredentialsOutput) GoString() string {
  7974  	return s.String()
  7975  }
  7976  
  7977  // SetArn sets the Arn field's value.
  7978  func (s *DeleteSourceCredentialsOutput) SetArn(v string) *DeleteSourceCredentialsOutput {
  7979  	s.Arn = &v
  7980  	return s
  7981  }
  7982  
  7983  type DeleteWebhookInput struct {
  7984  	_ struct{} `type:"structure"`
  7985  
  7986  	// The name of the CodeBuild project.
  7987  	//
  7988  	// ProjectName is a required field
  7989  	ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"`
  7990  }
  7991  
  7992  // String returns the string representation.
  7993  //
  7994  // API parameter values that are decorated as "sensitive" in the API will not
  7995  // be included in the string output. The member name will be present, but the
  7996  // value will be replaced with "sensitive".
  7997  func (s DeleteWebhookInput) String() string {
  7998  	return awsutil.Prettify(s)
  7999  }
  8000  
  8001  // GoString returns the string representation.
  8002  //
  8003  // API parameter values that are decorated as "sensitive" in the API will not
  8004  // be included in the string output. The member name will be present, but the
  8005  // value will be replaced with "sensitive".
  8006  func (s DeleteWebhookInput) GoString() string {
  8007  	return s.String()
  8008  }
  8009  
  8010  // Validate inspects the fields of the type to determine if they are valid.
  8011  func (s *DeleteWebhookInput) Validate() error {
  8012  	invalidParams := request.ErrInvalidParams{Context: "DeleteWebhookInput"}
  8013  	if s.ProjectName == nil {
  8014  		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
  8015  	}
  8016  	if s.ProjectName != nil && len(*s.ProjectName) < 2 {
  8017  		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2))
  8018  	}
  8019  
  8020  	if invalidParams.Len() > 0 {
  8021  		return invalidParams
  8022  	}
  8023  	return nil
  8024  }
  8025  
  8026  // SetProjectName sets the ProjectName field's value.
  8027  func (s *DeleteWebhookInput) SetProjectName(v string) *DeleteWebhookInput {
  8028  	s.ProjectName = &v
  8029  	return s
  8030  }
  8031  
  8032  type DeleteWebhookOutput struct {
  8033  	_ struct{} `type:"structure"`
  8034  }
  8035  
  8036  // String returns the string representation.
  8037  //
  8038  // API parameter values that are decorated as "sensitive" in the API will not
  8039  // be included in the string output. The member name will be present, but the
  8040  // value will be replaced with "sensitive".
  8041  func (s DeleteWebhookOutput) String() string {
  8042  	return awsutil.Prettify(s)
  8043  }
  8044  
  8045  // GoString returns the string representation.
  8046  //
  8047  // API parameter values that are decorated as "sensitive" in the API will not
  8048  // be included in the string output. The member name will be present, but the
  8049  // value will be replaced with "sensitive".
  8050  func (s DeleteWebhookOutput) GoString() string {
  8051  	return s.String()
  8052  }
  8053  
  8054  type DescribeCodeCoveragesInput struct {
  8055  	_ struct{} `type:"structure"`
  8056  
  8057  	// The maximum line coverage percentage to report.
  8058  	MaxLineCoveragePercentage *float64 `locationName:"maxLineCoveragePercentage" type:"double"`
  8059  
  8060  	// The maximum number of results to return.
  8061  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  8062  
  8063  	// The minimum line coverage percentage to report.
  8064  	MinLineCoveragePercentage *float64 `locationName:"minLineCoveragePercentage" type:"double"`
  8065  
  8066  	// The nextToken value returned from a previous call to DescribeCodeCoverages.
  8067  	// This specifies the next item to return. To return the beginning of the list,
  8068  	// exclude this parameter.
  8069  	NextToken *string `locationName:"nextToken" type:"string"`
  8070  
  8071  	// The ARN of the report for which test cases are returned.
  8072  	//
  8073  	// ReportArn is a required field
  8074  	ReportArn *string `locationName:"reportArn" min:"1" type:"string" required:"true"`
  8075  
  8076  	// Specifies how the results are sorted. Possible values are:
  8077  	//
  8078  	// FILE_PATH
  8079  	//
  8080  	// The results are sorted by file path.
  8081  	//
  8082  	// LINE_COVERAGE_PERCENTAGE
  8083  	//
  8084  	// The results are sorted by the percentage of lines that are covered.
  8085  	SortBy *string `locationName:"sortBy" type:"string" enum:"ReportCodeCoverageSortByType"`
  8086  
  8087  	// Specifies if the results are sorted in ascending or descending order.
  8088  	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
  8089  }
  8090  
  8091  // String returns the string representation.
  8092  //
  8093  // API parameter values that are decorated as "sensitive" in the API will not
  8094  // be included in the string output. The member name will be present, but the
  8095  // value will be replaced with "sensitive".
  8096  func (s DescribeCodeCoveragesInput) String() string {
  8097  	return awsutil.Prettify(s)
  8098  }
  8099  
  8100  // GoString returns the string representation.
  8101  //
  8102  // API parameter values that are decorated as "sensitive" in the API will not
  8103  // be included in the string output. The member name will be present, but the
  8104  // value will be replaced with "sensitive".
  8105  func (s DescribeCodeCoveragesInput) GoString() string {
  8106  	return s.String()
  8107  }
  8108  
  8109  // Validate inspects the fields of the type to determine if they are valid.
  8110  func (s *DescribeCodeCoveragesInput) Validate() error {
  8111  	invalidParams := request.ErrInvalidParams{Context: "DescribeCodeCoveragesInput"}
  8112  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8113  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8114  	}
  8115  	if s.ReportArn == nil {
  8116  		invalidParams.Add(request.NewErrParamRequired("ReportArn"))
  8117  	}
  8118  	if s.ReportArn != nil && len(*s.ReportArn) < 1 {
  8119  		invalidParams.Add(request.NewErrParamMinLen("ReportArn", 1))
  8120  	}
  8121  
  8122  	if invalidParams.Len() > 0 {
  8123  		return invalidParams
  8124  	}
  8125  	return nil
  8126  }
  8127  
  8128  // SetMaxLineCoveragePercentage sets the MaxLineCoveragePercentage field's value.
  8129  func (s *DescribeCodeCoveragesInput) SetMaxLineCoveragePercentage(v float64) *DescribeCodeCoveragesInput {
  8130  	s.MaxLineCoveragePercentage = &v
  8131  	return s
  8132  }
  8133  
  8134  // SetMaxResults sets the MaxResults field's value.
  8135  func (s *DescribeCodeCoveragesInput) SetMaxResults(v int64) *DescribeCodeCoveragesInput {
  8136  	s.MaxResults = &v
  8137  	return s
  8138  }
  8139  
  8140  // SetMinLineCoveragePercentage sets the MinLineCoveragePercentage field's value.
  8141  func (s *DescribeCodeCoveragesInput) SetMinLineCoveragePercentage(v float64) *DescribeCodeCoveragesInput {
  8142  	s.MinLineCoveragePercentage = &v
  8143  	return s
  8144  }
  8145  
  8146  // SetNextToken sets the NextToken field's value.
  8147  func (s *DescribeCodeCoveragesInput) SetNextToken(v string) *DescribeCodeCoveragesInput {
  8148  	s.NextToken = &v
  8149  	return s
  8150  }
  8151  
  8152  // SetReportArn sets the ReportArn field's value.
  8153  func (s *DescribeCodeCoveragesInput) SetReportArn(v string) *DescribeCodeCoveragesInput {
  8154  	s.ReportArn = &v
  8155  	return s
  8156  }
  8157  
  8158  // SetSortBy sets the SortBy field's value.
  8159  func (s *DescribeCodeCoveragesInput) SetSortBy(v string) *DescribeCodeCoveragesInput {
  8160  	s.SortBy = &v
  8161  	return s
  8162  }
  8163  
  8164  // SetSortOrder sets the SortOrder field's value.
  8165  func (s *DescribeCodeCoveragesInput) SetSortOrder(v string) *DescribeCodeCoveragesInput {
  8166  	s.SortOrder = &v
  8167  	return s
  8168  }
  8169  
  8170  type DescribeCodeCoveragesOutput struct {
  8171  	_ struct{} `type:"structure"`
  8172  
  8173  	// An array of CodeCoverage objects that contain the results.
  8174  	CodeCoverages []*CodeCoverage `locationName:"codeCoverages" type:"list"`
  8175  
  8176  	// If there are more items to return, this contains a token that is passed to
  8177  	// a subsequent call to DescribeCodeCoverages to retrieve the next set of items.
  8178  	NextToken *string `locationName:"nextToken" type:"string"`
  8179  }
  8180  
  8181  // String returns the string representation.
  8182  //
  8183  // API parameter values that are decorated as "sensitive" in the API will not
  8184  // be included in the string output. The member name will be present, but the
  8185  // value will be replaced with "sensitive".
  8186  func (s DescribeCodeCoveragesOutput) String() string {
  8187  	return awsutil.Prettify(s)
  8188  }
  8189  
  8190  // GoString returns the string representation.
  8191  //
  8192  // API parameter values that are decorated as "sensitive" in the API will not
  8193  // be included in the string output. The member name will be present, but the
  8194  // value will be replaced with "sensitive".
  8195  func (s DescribeCodeCoveragesOutput) GoString() string {
  8196  	return s.String()
  8197  }
  8198  
  8199  // SetCodeCoverages sets the CodeCoverages field's value.
  8200  func (s *DescribeCodeCoveragesOutput) SetCodeCoverages(v []*CodeCoverage) *DescribeCodeCoveragesOutput {
  8201  	s.CodeCoverages = v
  8202  	return s
  8203  }
  8204  
  8205  // SetNextToken sets the NextToken field's value.
  8206  func (s *DescribeCodeCoveragesOutput) SetNextToken(v string) *DescribeCodeCoveragesOutput {
  8207  	s.NextToken = &v
  8208  	return s
  8209  }
  8210  
  8211  type DescribeTestCasesInput struct {
  8212  	_ struct{} `type:"structure"`
  8213  
  8214  	// A TestCaseFilter object used to filter the returned reports.
  8215  	Filter *TestCaseFilter `locationName:"filter" type:"structure"`
  8216  
  8217  	// The maximum number of paginated test cases returned per response. Use nextToken
  8218  	// to iterate pages in the list of returned TestCase objects. The default value
  8219  	// is 100.
  8220  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  8221  
  8222  	// During a previous call, the maximum number of items that can be returned
  8223  	// is the value specified in maxResults. If there more items in the list, then
  8224  	// a unique string called a nextToken is returned. To get the next batch of
  8225  	// items in the list, call this operation again, adding the next token to the
  8226  	// call. To get all of the items in the list, keep calling this operation with
  8227  	// each subsequent next token that is returned, until no more next tokens are
  8228  	// returned.
  8229  	NextToken *string `locationName:"nextToken" type:"string"`
  8230  
  8231  	// The ARN of the report for which test cases are returned.
  8232  	//
  8233  	// ReportArn is a required field
  8234  	ReportArn *string `locationName:"reportArn" type:"string" required:"true"`
  8235  }
  8236  
  8237  // String returns the string representation.
  8238  //
  8239  // API parameter values that are decorated as "sensitive" in the API will not
  8240  // be included in the string output. The member name will be present, but the
  8241  // value will be replaced with "sensitive".
  8242  func (s DescribeTestCasesInput) String() string {
  8243  	return awsutil.Prettify(s)
  8244  }
  8245  
  8246  // GoString returns the string representation.
  8247  //
  8248  // API parameter values that are decorated as "sensitive" in the API will not
  8249  // be included in the string output. The member name will be present, but the
  8250  // value will be replaced with "sensitive".
  8251  func (s DescribeTestCasesInput) GoString() string {
  8252  	return s.String()
  8253  }
  8254  
  8255  // Validate inspects the fields of the type to determine if they are valid.
  8256  func (s *DescribeTestCasesInput) Validate() error {
  8257  	invalidParams := request.ErrInvalidParams{Context: "DescribeTestCasesInput"}
  8258  	if s.MaxResults != nil && *s.MaxResults < 1 {
  8259  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  8260  	}
  8261  	if s.ReportArn == nil {
  8262  		invalidParams.Add(request.NewErrParamRequired("ReportArn"))
  8263  	}
  8264  
  8265  	if invalidParams.Len() > 0 {
  8266  		return invalidParams
  8267  	}
  8268  	return nil
  8269  }
  8270  
  8271  // SetFilter sets the Filter field's value.
  8272  func (s *DescribeTestCasesInput) SetFilter(v *TestCaseFilter) *DescribeTestCasesInput {
  8273  	s.Filter = v
  8274  	return s
  8275  }
  8276  
  8277  // SetMaxResults sets the MaxResults field's value.
  8278  func (s *DescribeTestCasesInput) SetMaxResults(v int64) *DescribeTestCasesInput {
  8279  	s.MaxResults = &v
  8280  	return s
  8281  }
  8282  
  8283  // SetNextToken sets the NextToken field's value.
  8284  func (s *DescribeTestCasesInput) SetNextToken(v string) *DescribeTestCasesInput {
  8285  	s.NextToken = &v
  8286  	return s
  8287  }
  8288  
  8289  // SetReportArn sets the ReportArn field's value.
  8290  func (s *DescribeTestCasesInput) SetReportArn(v string) *DescribeTestCasesInput {
  8291  	s.ReportArn = &v
  8292  	return s
  8293  }
  8294  
  8295  type DescribeTestCasesOutput struct {
  8296  	_ struct{} `type:"structure"`
  8297  
  8298  	// During a previous call, the maximum number of items that can be returned
  8299  	// is the value specified in maxResults. If there more items in the list, then
  8300  	// a unique string called a nextToken is returned. To get the next batch of
  8301  	// items in the list, call this operation again, adding the next token to the
  8302  	// call. To get all of the items in the list, keep calling this operation with
  8303  	// each subsequent next token that is returned, until no more next tokens are
  8304  	// returned.
  8305  	NextToken *string `locationName:"nextToken" type:"string"`
  8306  
  8307  	// The returned list of test cases.
  8308  	TestCases []*TestCase `locationName:"testCases" type:"list"`
  8309  }
  8310  
  8311  // String returns the string representation.
  8312  //
  8313  // API parameter values that are decorated as "sensitive" in the API will not
  8314  // be included in the string output. The member name will be present, but the
  8315  // value will be replaced with "sensitive".
  8316  func (s DescribeTestCasesOutput) String() string {
  8317  	return awsutil.Prettify(s)
  8318  }
  8319  
  8320  // GoString returns the string representation.
  8321  //
  8322  // API parameter values that are decorated as "sensitive" in the API will not
  8323  // be included in the string output. The member name will be present, but the
  8324  // value will be replaced with "sensitive".
  8325  func (s DescribeTestCasesOutput) GoString() string {
  8326  	return s.String()
  8327  }
  8328  
  8329  // SetNextToken sets the NextToken field's value.
  8330  func (s *DescribeTestCasesOutput) SetNextToken(v string) *DescribeTestCasesOutput {
  8331  	s.NextToken = &v
  8332  	return s
  8333  }
  8334  
  8335  // SetTestCases sets the TestCases field's value.
  8336  func (s *DescribeTestCasesOutput) SetTestCases(v []*TestCase) *DescribeTestCasesOutput {
  8337  	s.TestCases = v
  8338  	return s
  8339  }
  8340  
  8341  // Information about a Docker image that is managed by CodeBuild.
  8342  type EnvironmentImage struct {
  8343  	_ struct{} `type:"structure"`
  8344  
  8345  	// The description of the Docker image.
  8346  	Description *string `locationName:"description" type:"string"`
  8347  
  8348  	// The name of the Docker image.
  8349  	Name *string `locationName:"name" type:"string"`
  8350  
  8351  	// A list of environment image versions.
  8352  	Versions []*string `locationName:"versions" type:"list"`
  8353  }
  8354  
  8355  // String returns the string representation.
  8356  //
  8357  // API parameter values that are decorated as "sensitive" in the API will not
  8358  // be included in the string output. The member name will be present, but the
  8359  // value will be replaced with "sensitive".
  8360  func (s EnvironmentImage) String() string {
  8361  	return awsutil.Prettify(s)
  8362  }
  8363  
  8364  // GoString returns the string representation.
  8365  //
  8366  // API parameter values that are decorated as "sensitive" in the API will not
  8367  // be included in the string output. The member name will be present, but the
  8368  // value will be replaced with "sensitive".
  8369  func (s EnvironmentImage) GoString() string {
  8370  	return s.String()
  8371  }
  8372  
  8373  // SetDescription sets the Description field's value.
  8374  func (s *EnvironmentImage) SetDescription(v string) *EnvironmentImage {
  8375  	s.Description = &v
  8376  	return s
  8377  }
  8378  
  8379  // SetName sets the Name field's value.
  8380  func (s *EnvironmentImage) SetName(v string) *EnvironmentImage {
  8381  	s.Name = &v
  8382  	return s
  8383  }
  8384  
  8385  // SetVersions sets the Versions field's value.
  8386  func (s *EnvironmentImage) SetVersions(v []*string) *EnvironmentImage {
  8387  	s.Versions = v
  8388  	return s
  8389  }
  8390  
  8391  // A set of Docker images that are related by programming language and are managed
  8392  // by CodeBuild.
  8393  type EnvironmentLanguage struct {
  8394  	_ struct{} `type:"structure"`
  8395  
  8396  	// The list of Docker images that are related by the specified programming language.
  8397  	Images []*EnvironmentImage `locationName:"images" type:"list"`
  8398  
  8399  	// The programming language for the Docker images.
  8400  	Language *string `locationName:"language" type:"string" enum:"LanguageType"`
  8401  }
  8402  
  8403  // String returns the string representation.
  8404  //
  8405  // API parameter values that are decorated as "sensitive" in the API will not
  8406  // be included in the string output. The member name will be present, but the
  8407  // value will be replaced with "sensitive".
  8408  func (s EnvironmentLanguage) String() string {
  8409  	return awsutil.Prettify(s)
  8410  }
  8411  
  8412  // GoString returns the string representation.
  8413  //
  8414  // API parameter values that are decorated as "sensitive" in the API will not
  8415  // be included in the string output. The member name will be present, but the
  8416  // value will be replaced with "sensitive".
  8417  func (s EnvironmentLanguage) GoString() string {
  8418  	return s.String()
  8419  }
  8420  
  8421  // SetImages sets the Images field's value.
  8422  func (s *EnvironmentLanguage) SetImages(v []*EnvironmentImage) *EnvironmentLanguage {
  8423  	s.Images = v
  8424  	return s
  8425  }
  8426  
  8427  // SetLanguage sets the Language field's value.
  8428  func (s *EnvironmentLanguage) SetLanguage(v string) *EnvironmentLanguage {
  8429  	s.Language = &v
  8430  	return s
  8431  }
  8432  
  8433  // A set of Docker images that are related by platform and are managed by CodeBuild.
  8434  type EnvironmentPlatform struct {
  8435  	_ struct{} `type:"structure"`
  8436  
  8437  	// The list of programming languages that are available for the specified platform.
  8438  	Languages []*EnvironmentLanguage `locationName:"languages" type:"list"`
  8439  
  8440  	// The platform's name.
  8441  	Platform *string `locationName:"platform" type:"string" enum:"PlatformType"`
  8442  }
  8443  
  8444  // String returns the string representation.
  8445  //
  8446  // API parameter values that are decorated as "sensitive" in the API will not
  8447  // be included in the string output. The member name will be present, but the
  8448  // value will be replaced with "sensitive".
  8449  func (s EnvironmentPlatform) String() string {
  8450  	return awsutil.Prettify(s)
  8451  }
  8452  
  8453  // GoString returns the string representation.
  8454  //
  8455  // API parameter values that are decorated as "sensitive" in the API will not
  8456  // be included in the string output. The member name will be present, but the
  8457  // value will be replaced with "sensitive".
  8458  func (s EnvironmentPlatform) GoString() string {
  8459  	return s.String()
  8460  }
  8461  
  8462  // SetLanguages sets the Languages field's value.
  8463  func (s *EnvironmentPlatform) SetLanguages(v []*EnvironmentLanguage) *EnvironmentPlatform {
  8464  	s.Languages = v
  8465  	return s
  8466  }
  8467  
  8468  // SetPlatform sets the Platform field's value.
  8469  func (s *EnvironmentPlatform) SetPlatform(v string) *EnvironmentPlatform {
  8470  	s.Platform = &v
  8471  	return s
  8472  }
  8473  
  8474  // Information about an environment variable for a build project or a build.
  8475  type EnvironmentVariable struct {
  8476  	_ struct{} `type:"structure"`
  8477  
  8478  	// The name or key of the environment variable.
  8479  	//
  8480  	// Name is a required field
  8481  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  8482  
  8483  	// The type of environment variable. Valid values include:
  8484  	//
  8485  	//    * PARAMETER_STORE: An environment variable stored in Systems Manager Parameter
  8486  	//    Store. To learn how to specify a parameter store environment variable,
  8487  	//    see env/parameter-store (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.parameter-store)
  8488  	//    in the CodeBuild User Guide.
  8489  	//
  8490  	//    * PLAINTEXT: An environment variable in plain text format. This is the
  8491  	//    default value.
  8492  	//
  8493  	//    * SECRETS_MANAGER: An environment variable stored in Secrets Manager.
  8494  	//    To learn how to specify a secrets manager environment variable, see env/secrets-manager
  8495  	//    (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.secrets-manager)
  8496  	//    in the CodeBuild User Guide.
  8497  	Type *string `locationName:"type" type:"string" enum:"EnvironmentVariableType"`
  8498  
  8499  	// The value of the environment variable.
  8500  	//
  8501  	// We strongly discourage the use of PLAINTEXT environment variables to store
  8502  	// sensitive values, especially Amazon Web Services secret key IDs and secret
  8503  	// access keys. PLAINTEXT environment variables can be displayed in plain text
  8504  	// using the CodeBuild console and the CLI. For sensitive values, we recommend
  8505  	// you use an environment variable of type PARAMETER_STORE or SECRETS_MANAGER.
  8506  	//
  8507  	// Value is a required field
  8508  	Value *string `locationName:"value" type:"string" required:"true"`
  8509  }
  8510  
  8511  // String returns the string representation.
  8512  //
  8513  // API parameter values that are decorated as "sensitive" in the API will not
  8514  // be included in the string output. The member name will be present, but the
  8515  // value will be replaced with "sensitive".
  8516  func (s EnvironmentVariable) String() string {
  8517  	return awsutil.Prettify(s)
  8518  }
  8519  
  8520  // GoString returns the string representation.
  8521  //
  8522  // API parameter values that are decorated as "sensitive" in the API will not
  8523  // be included in the string output. The member name will be present, but the
  8524  // value will be replaced with "sensitive".
  8525  func (s EnvironmentVariable) GoString() string {
  8526  	return s.String()
  8527  }
  8528  
  8529  // Validate inspects the fields of the type to determine if they are valid.
  8530  func (s *EnvironmentVariable) Validate() error {
  8531  	invalidParams := request.ErrInvalidParams{Context: "EnvironmentVariable"}
  8532  	if s.Name == nil {
  8533  		invalidParams.Add(request.NewErrParamRequired("Name"))
  8534  	}
  8535  	if s.Name != nil && len(*s.Name) < 1 {
  8536  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8537  	}
  8538  	if s.Value == nil {
  8539  		invalidParams.Add(request.NewErrParamRequired("Value"))
  8540  	}
  8541  
  8542  	if invalidParams.Len() > 0 {
  8543  		return invalidParams
  8544  	}
  8545  	return nil
  8546  }
  8547  
  8548  // SetName sets the Name field's value.
  8549  func (s *EnvironmentVariable) SetName(v string) *EnvironmentVariable {
  8550  	s.Name = &v
  8551  	return s
  8552  }
  8553  
  8554  // SetType sets the Type field's value.
  8555  func (s *EnvironmentVariable) SetType(v string) *EnvironmentVariable {
  8556  	s.Type = &v
  8557  	return s
  8558  }
  8559  
  8560  // SetValue sets the Value field's value.
  8561  func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable {
  8562  	s.Value = &v
  8563  	return s
  8564  }
  8565  
  8566  // Contains information about an exported environment variable.
  8567  //
  8568  // Exported environment variables are used in conjunction with CodePipeline
  8569  // to export environment variables from the current build stage to subsequent
  8570  // stages in the pipeline. For more information, see Working with variables
  8571  // (https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-variables.html)
  8572  // in the CodePipeline User Guide.
  8573  //
  8574  // During a build, the value of a variable is available starting with the install
  8575  // phase. It can be updated between the start of the install phase and the end
  8576  // of the post_build phase. After the post_build phase ends, the value of exported
  8577  // variables cannot change.
  8578  type ExportedEnvironmentVariable struct {
  8579  	_ struct{} `type:"structure"`
  8580  
  8581  	// The name of the exported environment variable.
  8582  	Name *string `locationName:"name" min:"1" type:"string"`
  8583  
  8584  	// The value assigned to the exported environment variable.
  8585  	Value *string `locationName:"value" type:"string"`
  8586  }
  8587  
  8588  // String returns the string representation.
  8589  //
  8590  // API parameter values that are decorated as "sensitive" in the API will not
  8591  // be included in the string output. The member name will be present, but the
  8592  // value will be replaced with "sensitive".
  8593  func (s ExportedEnvironmentVariable) String() string {
  8594  	return awsutil.Prettify(s)
  8595  }
  8596  
  8597  // GoString returns the string representation.
  8598  //
  8599  // API parameter values that are decorated as "sensitive" in the API will not
  8600  // be included in the string output. The member name will be present, but the
  8601  // value will be replaced with "sensitive".
  8602  func (s ExportedEnvironmentVariable) GoString() string {
  8603  	return s.String()
  8604  }
  8605  
  8606  // SetName sets the Name field's value.
  8607  func (s *ExportedEnvironmentVariable) SetName(v string) *ExportedEnvironmentVariable {
  8608  	s.Name = &v
  8609  	return s
  8610  }
  8611  
  8612  // SetValue sets the Value field's value.
  8613  func (s *ExportedEnvironmentVariable) SetValue(v string) *ExportedEnvironmentVariable {
  8614  	s.Value = &v
  8615  	return s
  8616  }
  8617  
  8618  type GetReportGroupTrendInput struct {
  8619  	_ struct{} `type:"structure"`
  8620  
  8621  	// The number of reports to analyze. This operation always retrieves the most
  8622  	// recent reports.
  8623  	//
  8624  	// If this parameter is omitted, the most recent 100 reports are analyzed.
  8625  	NumOfReports *int64 `locationName:"numOfReports" min:"1" type:"integer"`
  8626  
  8627  	// The ARN of the report group that contains the reports to analyze.
  8628  	//
  8629  	// ReportGroupArn is a required field
  8630  	ReportGroupArn *string `locationName:"reportGroupArn" min:"1" type:"string" required:"true"`
  8631  
  8632  	// The test report value to accumulate. This must be one of the following values:
  8633  	//
  8634  	// Test reports:
  8635  	//
  8636  	// DURATION
  8637  	//
  8638  	// Accumulate the test run times for the specified reports.
  8639  	//
  8640  	// PASS_RATE
  8641  	//
  8642  	// Accumulate the percentage of tests that passed for the specified test reports.
  8643  	//
  8644  	// TOTAL
  8645  	//
  8646  	// Accumulate the total number of tests for the specified test reports.
  8647  	//
  8648  	// Code coverage reports:
  8649  	//
  8650  	// BRANCH_COVERAGE
  8651  	//
  8652  	// Accumulate the branch coverage percentages for the specified test reports.
  8653  	//
  8654  	// BRANCHES_COVERED
  8655  	//
  8656  	// Accumulate the branches covered values for the specified test reports.
  8657  	//
  8658  	// BRANCHES_MISSED
  8659  	//
  8660  	// Accumulate the branches missed values for the specified test reports.
  8661  	//
  8662  	// LINE_COVERAGE
  8663  	//
  8664  	// Accumulate the line coverage percentages for the specified test reports.
  8665  	//
  8666  	// LINES_COVERED
  8667  	//
  8668  	// Accumulate the lines covered values for the specified test reports.
  8669  	//
  8670  	// LINES_MISSED
  8671  	//
  8672  	// Accumulate the lines not covered values for the specified test reports.
  8673  	//
  8674  	// TrendField is a required field
  8675  	TrendField *string `locationName:"trendField" type:"string" required:"true" enum:"ReportGroupTrendFieldType"`
  8676  }
  8677  
  8678  // String returns the string representation.
  8679  //
  8680  // API parameter values that are decorated as "sensitive" in the API will not
  8681  // be included in the string output. The member name will be present, but the
  8682  // value will be replaced with "sensitive".
  8683  func (s GetReportGroupTrendInput) String() string {
  8684  	return awsutil.Prettify(s)
  8685  }
  8686  
  8687  // GoString returns the string representation.
  8688  //
  8689  // API parameter values that are decorated as "sensitive" in the API will not
  8690  // be included in the string output. The member name will be present, but the
  8691  // value will be replaced with "sensitive".
  8692  func (s GetReportGroupTrendInput) GoString() string {
  8693  	return s.String()
  8694  }
  8695  
  8696  // Validate inspects the fields of the type to determine if they are valid.
  8697  func (s *GetReportGroupTrendInput) Validate() error {
  8698  	invalidParams := request.ErrInvalidParams{Context: "GetReportGroupTrendInput"}
  8699  	if s.NumOfReports != nil && *s.NumOfReports < 1 {
  8700  		invalidParams.Add(request.NewErrParamMinValue("NumOfReports", 1))
  8701  	}
  8702  	if s.ReportGroupArn == nil {
  8703  		invalidParams.Add(request.NewErrParamRequired("ReportGroupArn"))
  8704  	}
  8705  	if s.ReportGroupArn != nil && len(*s.ReportGroupArn) < 1 {
  8706  		invalidParams.Add(request.NewErrParamMinLen("ReportGroupArn", 1))
  8707  	}
  8708  	if s.TrendField == nil {
  8709  		invalidParams.Add(request.NewErrParamRequired("TrendField"))
  8710  	}
  8711  
  8712  	if invalidParams.Len() > 0 {
  8713  		return invalidParams
  8714  	}
  8715  	return nil
  8716  }
  8717  
  8718  // SetNumOfReports sets the NumOfReports field's value.
  8719  func (s *GetReportGroupTrendInput) SetNumOfReports(v int64) *GetReportGroupTrendInput {
  8720  	s.NumOfReports = &v
  8721  	return s
  8722  }
  8723  
  8724  // SetReportGroupArn sets the ReportGroupArn field's value.
  8725  func (s *GetReportGroupTrendInput) SetReportGroupArn(v string) *GetReportGroupTrendInput {
  8726  	s.ReportGroupArn = &v
  8727  	return s
  8728  }
  8729  
  8730  // SetTrendField sets the TrendField field's value.
  8731  func (s *GetReportGroupTrendInput) SetTrendField(v string) *GetReportGroupTrendInput {
  8732  	s.TrendField = &v
  8733  	return s
  8734  }
  8735  
  8736  type GetReportGroupTrendOutput struct {
  8737  	_ struct{} `type:"structure"`
  8738  
  8739  	// An array that contains the raw data for each report.
  8740  	RawData []*ReportWithRawData `locationName:"rawData" type:"list"`
  8741  
  8742  	// Contains the accumulated trend data.
  8743  	Stats *ReportGroupTrendStats `locationName:"stats" type:"structure"`
  8744  }
  8745  
  8746  // String returns the string representation.
  8747  //
  8748  // API parameter values that are decorated as "sensitive" in the API will not
  8749  // be included in the string output. The member name will be present, but the
  8750  // value will be replaced with "sensitive".
  8751  func (s GetReportGroupTrendOutput) String() string {
  8752  	return awsutil.Prettify(s)
  8753  }
  8754  
  8755  // GoString returns the string representation.
  8756  //
  8757  // API parameter values that are decorated as "sensitive" in the API will not
  8758  // be included in the string output. The member name will be present, but the
  8759  // value will be replaced with "sensitive".
  8760  func (s GetReportGroupTrendOutput) GoString() string {
  8761  	return s.String()
  8762  }
  8763  
  8764  // SetRawData sets the RawData field's value.
  8765  func (s *GetReportGroupTrendOutput) SetRawData(v []*ReportWithRawData) *GetReportGroupTrendOutput {
  8766  	s.RawData = v
  8767  	return s
  8768  }
  8769  
  8770  // SetStats sets the Stats field's value.
  8771  func (s *GetReportGroupTrendOutput) SetStats(v *ReportGroupTrendStats) *GetReportGroupTrendOutput {
  8772  	s.Stats = v
  8773  	return s
  8774  }
  8775  
  8776  type GetResourcePolicyInput struct {
  8777  	_ struct{} `type:"structure"`
  8778  
  8779  	// The ARN of the resource that is associated with the resource policy.
  8780  	//
  8781  	// ResourceArn is a required field
  8782  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
  8783  }
  8784  
  8785  // String returns the string representation.
  8786  //
  8787  // API parameter values that are decorated as "sensitive" in the API will not
  8788  // be included in the string output. The member name will be present, but the
  8789  // value will be replaced with "sensitive".
  8790  func (s GetResourcePolicyInput) String() string {
  8791  	return awsutil.Prettify(s)
  8792  }
  8793  
  8794  // GoString returns the string representation.
  8795  //
  8796  // API parameter values that are decorated as "sensitive" in the API will not
  8797  // be included in the string output. The member name will be present, but the
  8798  // value will be replaced with "sensitive".
  8799  func (s GetResourcePolicyInput) GoString() string {
  8800  	return s.String()
  8801  }
  8802  
  8803  // Validate inspects the fields of the type to determine if they are valid.
  8804  func (s *GetResourcePolicyInput) Validate() error {
  8805  	invalidParams := request.ErrInvalidParams{Context: "GetResourcePolicyInput"}
  8806  	if s.ResourceArn == nil {
  8807  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  8808  	}
  8809  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  8810  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  8811  	}
  8812  
  8813  	if invalidParams.Len() > 0 {
  8814  		return invalidParams
  8815  	}
  8816  	return nil
  8817  }
  8818  
  8819  // SetResourceArn sets the ResourceArn field's value.
  8820  func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput {
  8821  	s.ResourceArn = &v
  8822  	return s
  8823  }
  8824  
  8825  type GetResourcePolicyOutput struct {
  8826  	_ struct{} `type:"structure"`
  8827  
  8828  	// The resource policy for the resource identified by the input ARN parameter.
  8829  	Policy *string `locationName:"policy" min:"1" type:"string"`
  8830  }
  8831  
  8832  // String returns the string representation.
  8833  //
  8834  // API parameter values that are decorated as "sensitive" in the API will not
  8835  // be included in the string output. The member name will be present, but the
  8836  // value will be replaced with "sensitive".
  8837  func (s GetResourcePolicyOutput) String() string {
  8838  	return awsutil.Prettify(s)
  8839  }
  8840  
  8841  // GoString returns the string representation.
  8842  //
  8843  // API parameter values that are decorated as "sensitive" in the API will not
  8844  // be included in the string output. The member name will be present, but the
  8845  // value will be replaced with "sensitive".
  8846  func (s GetResourcePolicyOutput) GoString() string {
  8847  	return s.String()
  8848  }
  8849  
  8850  // SetPolicy sets the Policy field's value.
  8851  func (s *GetResourcePolicyOutput) SetPolicy(v string) *GetResourcePolicyOutput {
  8852  	s.Policy = &v
  8853  	return s
  8854  }
  8855  
  8856  // Information about the Git submodules configuration for an CodeBuild build
  8857  // project.
  8858  type GitSubmodulesConfig struct {
  8859  	_ struct{} `type:"structure"`
  8860  
  8861  	// Set to true to fetch Git submodules for your CodeBuild build project.
  8862  	//
  8863  	// FetchSubmodules is a required field
  8864  	FetchSubmodules *bool `locationName:"fetchSubmodules" type:"boolean" required:"true"`
  8865  }
  8866  
  8867  // String returns the string representation.
  8868  //
  8869  // API parameter values that are decorated as "sensitive" in the API will not
  8870  // be included in the string output. The member name will be present, but the
  8871  // value will be replaced with "sensitive".
  8872  func (s GitSubmodulesConfig) String() string {
  8873  	return awsutil.Prettify(s)
  8874  }
  8875  
  8876  // GoString returns the string representation.
  8877  //
  8878  // API parameter values that are decorated as "sensitive" in the API will not
  8879  // be included in the string output. The member name will be present, but the
  8880  // value will be replaced with "sensitive".
  8881  func (s GitSubmodulesConfig) GoString() string {
  8882  	return s.String()
  8883  }
  8884  
  8885  // Validate inspects the fields of the type to determine if they are valid.
  8886  func (s *GitSubmodulesConfig) Validate() error {
  8887  	invalidParams := request.ErrInvalidParams{Context: "GitSubmodulesConfig"}
  8888  	if s.FetchSubmodules == nil {
  8889  		invalidParams.Add(request.NewErrParamRequired("FetchSubmodules"))
  8890  	}
  8891  
  8892  	if invalidParams.Len() > 0 {
  8893  		return invalidParams
  8894  	}
  8895  	return nil
  8896  }
  8897  
  8898  // SetFetchSubmodules sets the FetchSubmodules field's value.
  8899  func (s *GitSubmodulesConfig) SetFetchSubmodules(v bool) *GitSubmodulesConfig {
  8900  	s.FetchSubmodules = &v
  8901  	return s
  8902  }
  8903  
  8904  type ImportSourceCredentialsInput struct {
  8905  	_ struct{} `type:"structure"`
  8906  
  8907  	// The type of authentication used to connect to a GitHub, GitHub Enterprise,
  8908  	// or Bitbucket repository. An OAUTH connection is not supported by the API
  8909  	// and must be created using the CodeBuild console.
  8910  	//
  8911  	// AuthType is a required field
  8912  	AuthType *string `locationName:"authType" type:"string" required:"true" enum:"AuthType"`
  8913  
  8914  	// The source provider used for this project.
  8915  	//
  8916  	// ServerType is a required field
  8917  	ServerType *string `locationName:"serverType" type:"string" required:"true" enum:"ServerType"`
  8918  
  8919  	// Set to false to prevent overwriting the repository source credentials. Set
  8920  	// to true to overwrite the repository source credentials. The default value
  8921  	// is true.
  8922  	ShouldOverwrite *bool `locationName:"shouldOverwrite" type:"boolean"`
  8923  
  8924  	// For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket,
  8925  	// this is the app password.
  8926  	//
  8927  	// Token is a sensitive parameter and its value will be
  8928  	// replaced with "sensitive" in string returned by ImportSourceCredentialsInput's
  8929  	// String and GoString methods.
  8930  	//
  8931  	// Token is a required field
  8932  	Token *string `locationName:"token" min:"1" type:"string" required:"true" sensitive:"true"`
  8933  
  8934  	// The Bitbucket username when the authType is BASIC_AUTH. This parameter is
  8935  	// not valid for other types of source providers or connections.
  8936  	Username *string `locationName:"username" min:"1" type:"string"`
  8937  }
  8938  
  8939  // String returns the string representation.
  8940  //
  8941  // API parameter values that are decorated as "sensitive" in the API will not
  8942  // be included in the string output. The member name will be present, but the
  8943  // value will be replaced with "sensitive".
  8944  func (s ImportSourceCredentialsInput) String() string {
  8945  	return awsutil.Prettify(s)
  8946  }
  8947  
  8948  // GoString returns the string representation.
  8949  //
  8950  // API parameter values that are decorated as "sensitive" in the API will not
  8951  // be included in the string output. The member name will be present, but the
  8952  // value will be replaced with "sensitive".
  8953  func (s ImportSourceCredentialsInput) GoString() string {
  8954  	return s.String()
  8955  }
  8956  
  8957  // Validate inspects the fields of the type to determine if they are valid.
  8958  func (s *ImportSourceCredentialsInput) Validate() error {
  8959  	invalidParams := request.ErrInvalidParams{Context: "ImportSourceCredentialsInput"}
  8960  	if s.AuthType == nil {
  8961  		invalidParams.Add(request.NewErrParamRequired("AuthType"))
  8962  	}
  8963  	if s.ServerType == nil {
  8964  		invalidParams.Add(request.NewErrParamRequired("ServerType"))
  8965  	}
  8966  	if s.Token == nil {
  8967  		invalidParams.Add(request.NewErrParamRequired("Token"))
  8968  	}
  8969  	if s.Token != nil && len(*s.Token) < 1 {
  8970  		invalidParams.Add(request.NewErrParamMinLen("Token", 1))
  8971  	}
  8972  	if s.Username != nil && len(*s.Username) < 1 {
  8973  		invalidParams.Add(request.NewErrParamMinLen("Username", 1))
  8974  	}
  8975  
  8976  	if invalidParams.Len() > 0 {
  8977  		return invalidParams
  8978  	}
  8979  	return nil
  8980  }
  8981  
  8982  // SetAuthType sets the AuthType field's value.
  8983  func (s *ImportSourceCredentialsInput) SetAuthType(v string) *ImportSourceCredentialsInput {
  8984  	s.AuthType = &v
  8985  	return s
  8986  }
  8987  
  8988  // SetServerType sets the ServerType field's value.
  8989  func (s *ImportSourceCredentialsInput) SetServerType(v string) *ImportSourceCredentialsInput {
  8990  	s.ServerType = &v
  8991  	return s
  8992  }
  8993  
  8994  // SetShouldOverwrite sets the ShouldOverwrite field's value.
  8995  func (s *ImportSourceCredentialsInput) SetShouldOverwrite(v bool) *ImportSourceCredentialsInput {
  8996  	s.ShouldOverwrite = &v
  8997  	return s
  8998  }
  8999  
  9000  // SetToken sets the Token field's value.
  9001  func (s *ImportSourceCredentialsInput) SetToken(v string) *ImportSourceCredentialsInput {
  9002  	s.Token = &v
  9003  	return s
  9004  }
  9005  
  9006  // SetUsername sets the Username field's value.
  9007  func (s *ImportSourceCredentialsInput) SetUsername(v string) *ImportSourceCredentialsInput {
  9008  	s.Username = &v
  9009  	return s
  9010  }
  9011  
  9012  type ImportSourceCredentialsOutput struct {
  9013  	_ struct{} `type:"structure"`
  9014  
  9015  	// The Amazon Resource Name (ARN) of the token.
  9016  	Arn *string `locationName:"arn" min:"1" type:"string"`
  9017  }
  9018  
  9019  // String returns the string representation.
  9020  //
  9021  // API parameter values that are decorated as "sensitive" in the API will not
  9022  // be included in the string output. The member name will be present, but the
  9023  // value will be replaced with "sensitive".
  9024  func (s ImportSourceCredentialsOutput) String() string {
  9025  	return awsutil.Prettify(s)
  9026  }
  9027  
  9028  // GoString returns the string representation.
  9029  //
  9030  // API parameter values that are decorated as "sensitive" in the API will not
  9031  // be included in the string output. The member name will be present, but the
  9032  // value will be replaced with "sensitive".
  9033  func (s ImportSourceCredentialsOutput) GoString() string {
  9034  	return s.String()
  9035  }
  9036  
  9037  // SetArn sets the Arn field's value.
  9038  func (s *ImportSourceCredentialsOutput) SetArn(v string) *ImportSourceCredentialsOutput {
  9039  	s.Arn = &v
  9040  	return s
  9041  }
  9042  
  9043  // The input value that was provided is not valid.
  9044  type InvalidInputException struct {
  9045  	_            struct{}                  `type:"structure"`
  9046  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  9047  
  9048  	Message_ *string `locationName:"message" type:"string"`
  9049  }
  9050  
  9051  // String returns the string representation.
  9052  //
  9053  // API parameter values that are decorated as "sensitive" in the API will not
  9054  // be included in the string output. The member name will be present, but the
  9055  // value will be replaced with "sensitive".
  9056  func (s InvalidInputException) String() string {
  9057  	return awsutil.Prettify(s)
  9058  }
  9059  
  9060  // GoString returns the string representation.
  9061  //
  9062  // API parameter values that are decorated as "sensitive" in the API will not
  9063  // be included in the string output. The member name will be present, but the
  9064  // value will be replaced with "sensitive".
  9065  func (s InvalidInputException) GoString() string {
  9066  	return s.String()
  9067  }
  9068  
  9069  func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
  9070  	return &InvalidInputException{
  9071  		RespMetadata: v,
  9072  	}
  9073  }
  9074  
  9075  // Code returns the exception type name.
  9076  func (s *InvalidInputException) Code() string {
  9077  	return "InvalidInputException"
  9078  }
  9079  
  9080  // Message returns the exception's message.
  9081  func (s *InvalidInputException) Message() string {
  9082  	if s.Message_ != nil {
  9083  		return *s.Message_
  9084  	}
  9085  	return ""
  9086  }
  9087  
  9088  // OrigErr always returns nil, satisfies awserr.Error interface.
  9089  func (s *InvalidInputException) OrigErr() error {
  9090  	return nil
  9091  }
  9092  
  9093  func (s *InvalidInputException) Error() string {
  9094  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  9095  }
  9096  
  9097  // Status code returns the HTTP status code for the request's response error.
  9098  func (s *InvalidInputException) StatusCode() int {
  9099  	return s.RespMetadata.StatusCode
  9100  }
  9101  
  9102  // RequestID returns the service's response RequestID for request.
  9103  func (s *InvalidInputException) RequestID() string {
  9104  	return s.RespMetadata.RequestID
  9105  }
  9106  
  9107  type InvalidateProjectCacheInput struct {
  9108  	_ struct{} `type:"structure"`
  9109  
  9110  	// The name of the CodeBuild build project that the cache is reset for.
  9111  	//
  9112  	// ProjectName is a required field
  9113  	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
  9114  }
  9115  
  9116  // String returns the string representation.
  9117  //
  9118  // API parameter values that are decorated as "sensitive" in the API will not
  9119  // be included in the string output. The member name will be present, but the
  9120  // value will be replaced with "sensitive".
  9121  func (s InvalidateProjectCacheInput) String() string {
  9122  	return awsutil.Prettify(s)
  9123  }
  9124  
  9125  // GoString returns the string representation.
  9126  //
  9127  // API parameter values that are decorated as "sensitive" in the API will not
  9128  // be included in the string output. The member name will be present, but the
  9129  // value will be replaced with "sensitive".
  9130  func (s InvalidateProjectCacheInput) GoString() string {
  9131  	return s.String()
  9132  }
  9133  
  9134  // Validate inspects the fields of the type to determine if they are valid.
  9135  func (s *InvalidateProjectCacheInput) Validate() error {
  9136  	invalidParams := request.ErrInvalidParams{Context: "InvalidateProjectCacheInput"}
  9137  	if s.ProjectName == nil {
  9138  		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
  9139  	}
  9140  	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
  9141  		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
  9142  	}
  9143  
  9144  	if invalidParams.Len() > 0 {
  9145  		return invalidParams
  9146  	}
  9147  	return nil
  9148  }
  9149  
  9150  // SetProjectName sets the ProjectName field's value.
  9151  func (s *InvalidateProjectCacheInput) SetProjectName(v string) *InvalidateProjectCacheInput {
  9152  	s.ProjectName = &v
  9153  	return s
  9154  }
  9155  
  9156  type InvalidateProjectCacheOutput struct {
  9157  	_ struct{} `type:"structure"`
  9158  }
  9159  
  9160  // String returns the string representation.
  9161  //
  9162  // API parameter values that are decorated as "sensitive" in the API will not
  9163  // be included in the string output. The member name will be present, but the
  9164  // value will be replaced with "sensitive".
  9165  func (s InvalidateProjectCacheOutput) String() string {
  9166  	return awsutil.Prettify(s)
  9167  }
  9168  
  9169  // GoString returns the string representation.
  9170  //
  9171  // API parameter values that are decorated as "sensitive" in the API will not
  9172  // be included in the string output. The member name will be present, but the
  9173  // value will be replaced with "sensitive".
  9174  func (s InvalidateProjectCacheOutput) GoString() string {
  9175  	return s.String()
  9176  }
  9177  
  9178  type ListBuildBatchesForProjectInput struct {
  9179  	_ struct{} `type:"structure"`
  9180  
  9181  	// A BuildBatchFilter object that specifies the filters for the search.
  9182  	Filter *BuildBatchFilter `locationName:"filter" type:"structure"`
  9183  
  9184  	// The maximum number of results to return.
  9185  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  9186  
  9187  	// The nextToken value returned from a previous call to ListBuildBatchesForProject.
  9188  	// This specifies the next item to return. To return the beginning of the list,
  9189  	// exclude this parameter.
  9190  	NextToken *string `locationName:"nextToken" type:"string"`
  9191  
  9192  	// The name of the project.
  9193  	ProjectName *string `locationName:"projectName" min:"1" type:"string"`
  9194  
  9195  	// Specifies the sort order of the returned items. Valid values include:
  9196  	//
  9197  	//    * ASCENDING: List the batch build identifiers in ascending order by identifier.
  9198  	//
  9199  	//    * DESCENDING: List the batch build identifiers in descending order by
  9200  	//    identifier.
  9201  	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
  9202  }
  9203  
  9204  // String returns the string representation.
  9205  //
  9206  // API parameter values that are decorated as "sensitive" in the API will not
  9207  // be included in the string output. The member name will be present, but the
  9208  // value will be replaced with "sensitive".
  9209  func (s ListBuildBatchesForProjectInput) String() string {
  9210  	return awsutil.Prettify(s)
  9211  }
  9212  
  9213  // GoString returns the string representation.
  9214  //
  9215  // API parameter values that are decorated as "sensitive" in the API will not
  9216  // be included in the string output. The member name will be present, but the
  9217  // value will be replaced with "sensitive".
  9218  func (s ListBuildBatchesForProjectInput) GoString() string {
  9219  	return s.String()
  9220  }
  9221  
  9222  // Validate inspects the fields of the type to determine if they are valid.
  9223  func (s *ListBuildBatchesForProjectInput) Validate() error {
  9224  	invalidParams := request.ErrInvalidParams{Context: "ListBuildBatchesForProjectInput"}
  9225  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9226  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9227  	}
  9228  	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
  9229  		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
  9230  	}
  9231  
  9232  	if invalidParams.Len() > 0 {
  9233  		return invalidParams
  9234  	}
  9235  	return nil
  9236  }
  9237  
  9238  // SetFilter sets the Filter field's value.
  9239  func (s *ListBuildBatchesForProjectInput) SetFilter(v *BuildBatchFilter) *ListBuildBatchesForProjectInput {
  9240  	s.Filter = v
  9241  	return s
  9242  }
  9243  
  9244  // SetMaxResults sets the MaxResults field's value.
  9245  func (s *ListBuildBatchesForProjectInput) SetMaxResults(v int64) *ListBuildBatchesForProjectInput {
  9246  	s.MaxResults = &v
  9247  	return s
  9248  }
  9249  
  9250  // SetNextToken sets the NextToken field's value.
  9251  func (s *ListBuildBatchesForProjectInput) SetNextToken(v string) *ListBuildBatchesForProjectInput {
  9252  	s.NextToken = &v
  9253  	return s
  9254  }
  9255  
  9256  // SetProjectName sets the ProjectName field's value.
  9257  func (s *ListBuildBatchesForProjectInput) SetProjectName(v string) *ListBuildBatchesForProjectInput {
  9258  	s.ProjectName = &v
  9259  	return s
  9260  }
  9261  
  9262  // SetSortOrder sets the SortOrder field's value.
  9263  func (s *ListBuildBatchesForProjectInput) SetSortOrder(v string) *ListBuildBatchesForProjectInput {
  9264  	s.SortOrder = &v
  9265  	return s
  9266  }
  9267  
  9268  type ListBuildBatchesForProjectOutput struct {
  9269  	_ struct{} `type:"structure"`
  9270  
  9271  	// An array of strings that contains the batch build identifiers.
  9272  	Ids []*string `locationName:"ids" type:"list"`
  9273  
  9274  	// If there are more items to return, this contains a token that is passed to
  9275  	// a subsequent call to ListBuildBatchesForProject to retrieve the next set
  9276  	// of items.
  9277  	NextToken *string `locationName:"nextToken" type:"string"`
  9278  }
  9279  
  9280  // String returns the string representation.
  9281  //
  9282  // API parameter values that are decorated as "sensitive" in the API will not
  9283  // be included in the string output. The member name will be present, but the
  9284  // value will be replaced with "sensitive".
  9285  func (s ListBuildBatchesForProjectOutput) String() string {
  9286  	return awsutil.Prettify(s)
  9287  }
  9288  
  9289  // GoString returns the string representation.
  9290  //
  9291  // API parameter values that are decorated as "sensitive" in the API will not
  9292  // be included in the string output. The member name will be present, but the
  9293  // value will be replaced with "sensitive".
  9294  func (s ListBuildBatchesForProjectOutput) GoString() string {
  9295  	return s.String()
  9296  }
  9297  
  9298  // SetIds sets the Ids field's value.
  9299  func (s *ListBuildBatchesForProjectOutput) SetIds(v []*string) *ListBuildBatchesForProjectOutput {
  9300  	s.Ids = v
  9301  	return s
  9302  }
  9303  
  9304  // SetNextToken sets the NextToken field's value.
  9305  func (s *ListBuildBatchesForProjectOutput) SetNextToken(v string) *ListBuildBatchesForProjectOutput {
  9306  	s.NextToken = &v
  9307  	return s
  9308  }
  9309  
  9310  type ListBuildBatchesInput struct {
  9311  	_ struct{} `type:"structure"`
  9312  
  9313  	// A BuildBatchFilter object that specifies the filters for the search.
  9314  	Filter *BuildBatchFilter `locationName:"filter" type:"structure"`
  9315  
  9316  	// The maximum number of results to return.
  9317  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  9318  
  9319  	// The nextToken value returned from a previous call to ListBuildBatches. This
  9320  	// specifies the next item to return. To return the beginning of the list, exclude
  9321  	// this parameter.
  9322  	NextToken *string `locationName:"nextToken" type:"string"`
  9323  
  9324  	// Specifies the sort order of the returned items. Valid values include:
  9325  	//
  9326  	//    * ASCENDING: List the batch build identifiers in ascending order by identifier.
  9327  	//
  9328  	//    * DESCENDING: List the batch build identifiers in descending order by
  9329  	//    identifier.
  9330  	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
  9331  }
  9332  
  9333  // String returns the string representation.
  9334  //
  9335  // API parameter values that are decorated as "sensitive" in the API will not
  9336  // be included in the string output. The member name will be present, but the
  9337  // value will be replaced with "sensitive".
  9338  func (s ListBuildBatchesInput) String() string {
  9339  	return awsutil.Prettify(s)
  9340  }
  9341  
  9342  // GoString returns the string representation.
  9343  //
  9344  // API parameter values that are decorated as "sensitive" in the API will not
  9345  // be included in the string output. The member name will be present, but the
  9346  // value will be replaced with "sensitive".
  9347  func (s ListBuildBatchesInput) GoString() string {
  9348  	return s.String()
  9349  }
  9350  
  9351  // Validate inspects the fields of the type to determine if they are valid.
  9352  func (s *ListBuildBatchesInput) Validate() error {
  9353  	invalidParams := request.ErrInvalidParams{Context: "ListBuildBatchesInput"}
  9354  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9355  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9356  	}
  9357  
  9358  	if invalidParams.Len() > 0 {
  9359  		return invalidParams
  9360  	}
  9361  	return nil
  9362  }
  9363  
  9364  // SetFilter sets the Filter field's value.
  9365  func (s *ListBuildBatchesInput) SetFilter(v *BuildBatchFilter) *ListBuildBatchesInput {
  9366  	s.Filter = v
  9367  	return s
  9368  }
  9369  
  9370  // SetMaxResults sets the MaxResults field's value.
  9371  func (s *ListBuildBatchesInput) SetMaxResults(v int64) *ListBuildBatchesInput {
  9372  	s.MaxResults = &v
  9373  	return s
  9374  }
  9375  
  9376  // SetNextToken sets the NextToken field's value.
  9377  func (s *ListBuildBatchesInput) SetNextToken(v string) *ListBuildBatchesInput {
  9378  	s.NextToken = &v
  9379  	return s
  9380  }
  9381  
  9382  // SetSortOrder sets the SortOrder field's value.
  9383  func (s *ListBuildBatchesInput) SetSortOrder(v string) *ListBuildBatchesInput {
  9384  	s.SortOrder = &v
  9385  	return s
  9386  }
  9387  
  9388  type ListBuildBatchesOutput struct {
  9389  	_ struct{} `type:"structure"`
  9390  
  9391  	// An array of strings that contains the batch build identifiers.
  9392  	Ids []*string `locationName:"ids" type:"list"`
  9393  
  9394  	// If there are more items to return, this contains a token that is passed to
  9395  	// a subsequent call to ListBuildBatches to retrieve the next set of items.
  9396  	NextToken *string `locationName:"nextToken" type:"string"`
  9397  }
  9398  
  9399  // String returns the string representation.
  9400  //
  9401  // API parameter values that are decorated as "sensitive" in the API will not
  9402  // be included in the string output. The member name will be present, but the
  9403  // value will be replaced with "sensitive".
  9404  func (s ListBuildBatchesOutput) String() string {
  9405  	return awsutil.Prettify(s)
  9406  }
  9407  
  9408  // GoString returns the string representation.
  9409  //
  9410  // API parameter values that are decorated as "sensitive" in the API will not
  9411  // be included in the string output. The member name will be present, but the
  9412  // value will be replaced with "sensitive".
  9413  func (s ListBuildBatchesOutput) GoString() string {
  9414  	return s.String()
  9415  }
  9416  
  9417  // SetIds sets the Ids field's value.
  9418  func (s *ListBuildBatchesOutput) SetIds(v []*string) *ListBuildBatchesOutput {
  9419  	s.Ids = v
  9420  	return s
  9421  }
  9422  
  9423  // SetNextToken sets the NextToken field's value.
  9424  func (s *ListBuildBatchesOutput) SetNextToken(v string) *ListBuildBatchesOutput {
  9425  	s.NextToken = &v
  9426  	return s
  9427  }
  9428  
  9429  type ListBuildsForProjectInput struct {
  9430  	_ struct{} `type:"structure"`
  9431  
  9432  	// During a previous call, if there are more than 100 items in the list, only
  9433  	// the first 100 items are returned, along with a unique string called a nextToken.
  9434  	// To get the next batch of items in the list, call this operation again, adding
  9435  	// the next token to the call. To get all of the items in the list, keep calling
  9436  	// this operation with each subsequent next token that is returned, until no
  9437  	// more next tokens are returned.
  9438  	NextToken *string `locationName:"nextToken" type:"string"`
  9439  
  9440  	// The name of the CodeBuild project.
  9441  	//
  9442  	// ProjectName is a required field
  9443  	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
  9444  
  9445  	// The order to sort the results in. The results are sorted by build number,
  9446  	// not the build identifier. If this is not specified, the results are sorted
  9447  	// in descending order.
  9448  	//
  9449  	// Valid values include:
  9450  	//
  9451  	//    * ASCENDING: List the build identifiers in ascending order, by build number.
  9452  	//
  9453  	//    * DESCENDING: List the build identifiers in descending order, by build
  9454  	//    number.
  9455  	//
  9456  	// If the project has more than 100 builds, setting the sort order will result
  9457  	// in an error.
  9458  	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
  9459  }
  9460  
  9461  // String returns the string representation.
  9462  //
  9463  // API parameter values that are decorated as "sensitive" in the API will not
  9464  // be included in the string output. The member name will be present, but the
  9465  // value will be replaced with "sensitive".
  9466  func (s ListBuildsForProjectInput) String() string {
  9467  	return awsutil.Prettify(s)
  9468  }
  9469  
  9470  // GoString returns the string representation.
  9471  //
  9472  // API parameter values that are decorated as "sensitive" in the API will not
  9473  // be included in the string output. The member name will be present, but the
  9474  // value will be replaced with "sensitive".
  9475  func (s ListBuildsForProjectInput) GoString() string {
  9476  	return s.String()
  9477  }
  9478  
  9479  // Validate inspects the fields of the type to determine if they are valid.
  9480  func (s *ListBuildsForProjectInput) Validate() error {
  9481  	invalidParams := request.ErrInvalidParams{Context: "ListBuildsForProjectInput"}
  9482  	if s.ProjectName == nil {
  9483  		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
  9484  	}
  9485  	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
  9486  		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
  9487  	}
  9488  
  9489  	if invalidParams.Len() > 0 {
  9490  		return invalidParams
  9491  	}
  9492  	return nil
  9493  }
  9494  
  9495  // SetNextToken sets the NextToken field's value.
  9496  func (s *ListBuildsForProjectInput) SetNextToken(v string) *ListBuildsForProjectInput {
  9497  	s.NextToken = &v
  9498  	return s
  9499  }
  9500  
  9501  // SetProjectName sets the ProjectName field's value.
  9502  func (s *ListBuildsForProjectInput) SetProjectName(v string) *ListBuildsForProjectInput {
  9503  	s.ProjectName = &v
  9504  	return s
  9505  }
  9506  
  9507  // SetSortOrder sets the SortOrder field's value.
  9508  func (s *ListBuildsForProjectInput) SetSortOrder(v string) *ListBuildsForProjectInput {
  9509  	s.SortOrder = &v
  9510  	return s
  9511  }
  9512  
  9513  type ListBuildsForProjectOutput struct {
  9514  	_ struct{} `type:"structure"`
  9515  
  9516  	// A list of build identifiers for the specified build project, with each build
  9517  	// ID representing a single build.
  9518  	Ids []*string `locationName:"ids" min:"1" type:"list"`
  9519  
  9520  	// If there are more than 100 items in the list, only the first 100 items are
  9521  	// returned, along with a unique string called a nextToken. To get the next
  9522  	// batch of items in the list, call this operation again, adding the next token
  9523  	// to the call.
  9524  	NextToken *string `locationName:"nextToken" type:"string"`
  9525  }
  9526  
  9527  // String returns the string representation.
  9528  //
  9529  // API parameter values that are decorated as "sensitive" in the API will not
  9530  // be included in the string output. The member name will be present, but the
  9531  // value will be replaced with "sensitive".
  9532  func (s ListBuildsForProjectOutput) String() string {
  9533  	return awsutil.Prettify(s)
  9534  }
  9535  
  9536  // GoString returns the string representation.
  9537  //
  9538  // API parameter values that are decorated as "sensitive" in the API will not
  9539  // be included in the string output. The member name will be present, but the
  9540  // value will be replaced with "sensitive".
  9541  func (s ListBuildsForProjectOutput) GoString() string {
  9542  	return s.String()
  9543  }
  9544  
  9545  // SetIds sets the Ids field's value.
  9546  func (s *ListBuildsForProjectOutput) SetIds(v []*string) *ListBuildsForProjectOutput {
  9547  	s.Ids = v
  9548  	return s
  9549  }
  9550  
  9551  // SetNextToken sets the NextToken field's value.
  9552  func (s *ListBuildsForProjectOutput) SetNextToken(v string) *ListBuildsForProjectOutput {
  9553  	s.NextToken = &v
  9554  	return s
  9555  }
  9556  
  9557  type ListBuildsInput struct {
  9558  	_ struct{} `type:"structure"`
  9559  
  9560  	// During a previous call, if there are more than 100 items in the list, only
  9561  	// the first 100 items are returned, along with a unique string called a nextToken.
  9562  	// To get the next batch of items in the list, call this operation again, adding
  9563  	// the next token to the call. To get all of the items in the list, keep calling
  9564  	// this operation with each subsequent next token that is returned, until no
  9565  	// more next tokens are returned.
  9566  	NextToken *string `locationName:"nextToken" type:"string"`
  9567  
  9568  	// The order to list build IDs. Valid values include:
  9569  	//
  9570  	//    * ASCENDING: List the build IDs in ascending order by build ID.
  9571  	//
  9572  	//    * DESCENDING: List the build IDs in descending order by build ID.
  9573  	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
  9574  }
  9575  
  9576  // String returns the string representation.
  9577  //
  9578  // API parameter values that are decorated as "sensitive" in the API will not
  9579  // be included in the string output. The member name will be present, but the
  9580  // value will be replaced with "sensitive".
  9581  func (s ListBuildsInput) String() string {
  9582  	return awsutil.Prettify(s)
  9583  }
  9584  
  9585  // GoString returns the string representation.
  9586  //
  9587  // API parameter values that are decorated as "sensitive" in the API will not
  9588  // be included in the string output. The member name will be present, but the
  9589  // value will be replaced with "sensitive".
  9590  func (s ListBuildsInput) GoString() string {
  9591  	return s.String()
  9592  }
  9593  
  9594  // SetNextToken sets the NextToken field's value.
  9595  func (s *ListBuildsInput) SetNextToken(v string) *ListBuildsInput {
  9596  	s.NextToken = &v
  9597  	return s
  9598  }
  9599  
  9600  // SetSortOrder sets the SortOrder field's value.
  9601  func (s *ListBuildsInput) SetSortOrder(v string) *ListBuildsInput {
  9602  	s.SortOrder = &v
  9603  	return s
  9604  }
  9605  
  9606  type ListBuildsOutput struct {
  9607  	_ struct{} `type:"structure"`
  9608  
  9609  	// A list of build IDs, with each build ID representing a single build.
  9610  	Ids []*string `locationName:"ids" min:"1" type:"list"`
  9611  
  9612  	// If there are more than 100 items in the list, only the first 100 items are
  9613  	// returned, along with a unique string called a nextToken. To get the next
  9614  	// batch of items in the list, call this operation again, adding the next token
  9615  	// to the call.
  9616  	NextToken *string `locationName:"nextToken" type:"string"`
  9617  }
  9618  
  9619  // String returns the string representation.
  9620  //
  9621  // API parameter values that are decorated as "sensitive" in the API will not
  9622  // be included in the string output. The member name will be present, but the
  9623  // value will be replaced with "sensitive".
  9624  func (s ListBuildsOutput) String() string {
  9625  	return awsutil.Prettify(s)
  9626  }
  9627  
  9628  // GoString returns the string representation.
  9629  //
  9630  // API parameter values that are decorated as "sensitive" in the API will not
  9631  // be included in the string output. The member name will be present, but the
  9632  // value will be replaced with "sensitive".
  9633  func (s ListBuildsOutput) GoString() string {
  9634  	return s.String()
  9635  }
  9636  
  9637  // SetIds sets the Ids field's value.
  9638  func (s *ListBuildsOutput) SetIds(v []*string) *ListBuildsOutput {
  9639  	s.Ids = v
  9640  	return s
  9641  }
  9642  
  9643  // SetNextToken sets the NextToken field's value.
  9644  func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput {
  9645  	s.NextToken = &v
  9646  	return s
  9647  }
  9648  
  9649  type ListCuratedEnvironmentImagesInput struct {
  9650  	_ struct{} `type:"structure"`
  9651  }
  9652  
  9653  // String returns the string representation.
  9654  //
  9655  // API parameter values that are decorated as "sensitive" in the API will not
  9656  // be included in the string output. The member name will be present, but the
  9657  // value will be replaced with "sensitive".
  9658  func (s ListCuratedEnvironmentImagesInput) String() string {
  9659  	return awsutil.Prettify(s)
  9660  }
  9661  
  9662  // GoString returns the string representation.
  9663  //
  9664  // API parameter values that are decorated as "sensitive" in the API will not
  9665  // be included in the string output. The member name will be present, but the
  9666  // value will be replaced with "sensitive".
  9667  func (s ListCuratedEnvironmentImagesInput) GoString() string {
  9668  	return s.String()
  9669  }
  9670  
  9671  type ListCuratedEnvironmentImagesOutput struct {
  9672  	_ struct{} `type:"structure"`
  9673  
  9674  	// Information about supported platforms for Docker images that are managed
  9675  	// by CodeBuild.
  9676  	Platforms []*EnvironmentPlatform `locationName:"platforms" type:"list"`
  9677  }
  9678  
  9679  // String returns the string representation.
  9680  //
  9681  // API parameter values that are decorated as "sensitive" in the API will not
  9682  // be included in the string output. The member name will be present, but the
  9683  // value will be replaced with "sensitive".
  9684  func (s ListCuratedEnvironmentImagesOutput) String() string {
  9685  	return awsutil.Prettify(s)
  9686  }
  9687  
  9688  // GoString returns the string representation.
  9689  //
  9690  // API parameter values that are decorated as "sensitive" in the API will not
  9691  // be included in the string output. The member name will be present, but the
  9692  // value will be replaced with "sensitive".
  9693  func (s ListCuratedEnvironmentImagesOutput) GoString() string {
  9694  	return s.String()
  9695  }
  9696  
  9697  // SetPlatforms sets the Platforms field's value.
  9698  func (s *ListCuratedEnvironmentImagesOutput) SetPlatforms(v []*EnvironmentPlatform) *ListCuratedEnvironmentImagesOutput {
  9699  	s.Platforms = v
  9700  	return s
  9701  }
  9702  
  9703  type ListProjectsInput struct {
  9704  	_ struct{} `type:"structure"`
  9705  
  9706  	// During a previous call, if there are more than 100 items in the list, only
  9707  	// the first 100 items are returned, along with a unique string called a nextToken.
  9708  	// To get the next batch of items in the list, call this operation again, adding
  9709  	// the next token to the call. To get all of the items in the list, keep calling
  9710  	// this operation with each subsequent next token that is returned, until no
  9711  	// more next tokens are returned.
  9712  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
  9713  
  9714  	// The criterion to be used to list build project names. Valid values include:
  9715  	//
  9716  	//    * CREATED_TIME: List based on when each build project was created.
  9717  	//
  9718  	//    * LAST_MODIFIED_TIME: List based on when information about each build
  9719  	//    project was last changed.
  9720  	//
  9721  	//    * NAME: List based on each build project's name.
  9722  	//
  9723  	// Use sortOrder to specify in what order to list the build project names based
  9724  	// on the preceding criteria.
  9725  	SortBy *string `locationName:"sortBy" type:"string" enum:"ProjectSortByType"`
  9726  
  9727  	// The order in which to list build projects. Valid values include:
  9728  	//
  9729  	//    * ASCENDING: List in ascending order.
  9730  	//
  9731  	//    * DESCENDING: List in descending order.
  9732  	//
  9733  	// Use sortBy to specify the criterion to be used to list build project names.
  9734  	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
  9735  }
  9736  
  9737  // String returns the string representation.
  9738  //
  9739  // API parameter values that are decorated as "sensitive" in the API will not
  9740  // be included in the string output. The member name will be present, but the
  9741  // value will be replaced with "sensitive".
  9742  func (s ListProjectsInput) String() string {
  9743  	return awsutil.Prettify(s)
  9744  }
  9745  
  9746  // GoString returns the string representation.
  9747  //
  9748  // API parameter values that are decorated as "sensitive" in the API will not
  9749  // be included in the string output. The member name will be present, but the
  9750  // value will be replaced with "sensitive".
  9751  func (s ListProjectsInput) GoString() string {
  9752  	return s.String()
  9753  }
  9754  
  9755  // Validate inspects the fields of the type to determine if they are valid.
  9756  func (s *ListProjectsInput) Validate() error {
  9757  	invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"}
  9758  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  9759  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  9760  	}
  9761  
  9762  	if invalidParams.Len() > 0 {
  9763  		return invalidParams
  9764  	}
  9765  	return nil
  9766  }
  9767  
  9768  // SetNextToken sets the NextToken field's value.
  9769  func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput {
  9770  	s.NextToken = &v
  9771  	return s
  9772  }
  9773  
  9774  // SetSortBy sets the SortBy field's value.
  9775  func (s *ListProjectsInput) SetSortBy(v string) *ListProjectsInput {
  9776  	s.SortBy = &v
  9777  	return s
  9778  }
  9779  
  9780  // SetSortOrder sets the SortOrder field's value.
  9781  func (s *ListProjectsInput) SetSortOrder(v string) *ListProjectsInput {
  9782  	s.SortOrder = &v
  9783  	return s
  9784  }
  9785  
  9786  type ListProjectsOutput struct {
  9787  	_ struct{} `type:"structure"`
  9788  
  9789  	// If there are more than 100 items in the list, only the first 100 items are
  9790  	// returned, along with a unique string called a nextToken. To get the next
  9791  	// batch of items in the list, call this operation again, adding the next token
  9792  	// to the call.
  9793  	NextToken *string `locationName:"nextToken" type:"string"`
  9794  
  9795  	// The list of build project names, with each build project name representing
  9796  	// a single build project.
  9797  	Projects []*string `locationName:"projects" min:"1" type:"list"`
  9798  }
  9799  
  9800  // String returns the string representation.
  9801  //
  9802  // API parameter values that are decorated as "sensitive" in the API will not
  9803  // be included in the string output. The member name will be present, but the
  9804  // value will be replaced with "sensitive".
  9805  func (s ListProjectsOutput) String() string {
  9806  	return awsutil.Prettify(s)
  9807  }
  9808  
  9809  // GoString returns the string representation.
  9810  //
  9811  // API parameter values that are decorated as "sensitive" in the API will not
  9812  // be included in the string output. The member name will be present, but the
  9813  // value will be replaced with "sensitive".
  9814  func (s ListProjectsOutput) GoString() string {
  9815  	return s.String()
  9816  }
  9817  
  9818  // SetNextToken sets the NextToken field's value.
  9819  func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput {
  9820  	s.NextToken = &v
  9821  	return s
  9822  }
  9823  
  9824  // SetProjects sets the Projects field's value.
  9825  func (s *ListProjectsOutput) SetProjects(v []*string) *ListProjectsOutput {
  9826  	s.Projects = v
  9827  	return s
  9828  }
  9829  
  9830  type ListReportGroupsInput struct {
  9831  	_ struct{} `type:"structure"`
  9832  
  9833  	// The maximum number of paginated report groups returned per response. Use
  9834  	// nextToken to iterate pages in the list of returned ReportGroup objects. The
  9835  	// default value is 100.
  9836  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  9837  
  9838  	// During a previous call, the maximum number of items that can be returned
  9839  	// is the value specified in maxResults. If there more items in the list, then
  9840  	// a unique string called a nextToken is returned. To get the next batch of
  9841  	// items in the list, call this operation again, adding the next token to the
  9842  	// call. To get all of the items in the list, keep calling this operation with
  9843  	// each subsequent next token that is returned, until no more next tokens are
  9844  	// returned.
  9845  	NextToken *string `locationName:"nextToken" type:"string"`
  9846  
  9847  	// The criterion to be used to list build report groups. Valid values include:
  9848  	//
  9849  	//    * CREATED_TIME: List based on when each report group was created.
  9850  	//
  9851  	//    * LAST_MODIFIED_TIME: List based on when each report group was last changed.
  9852  	//
  9853  	//    * NAME: List based on each report group's name.
  9854  	SortBy *string `locationName:"sortBy" type:"string" enum:"ReportGroupSortByType"`
  9855  
  9856  	// Used to specify the order to sort the list of returned report groups. Valid
  9857  	// values are ASCENDING and DESCENDING.
  9858  	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
  9859  }
  9860  
  9861  // String returns the string representation.
  9862  //
  9863  // API parameter values that are decorated as "sensitive" in the API will not
  9864  // be included in the string output. The member name will be present, but the
  9865  // value will be replaced with "sensitive".
  9866  func (s ListReportGroupsInput) String() string {
  9867  	return awsutil.Prettify(s)
  9868  }
  9869  
  9870  // GoString returns the string representation.
  9871  //
  9872  // API parameter values that are decorated as "sensitive" in the API will not
  9873  // be included in the string output. The member name will be present, but the
  9874  // value will be replaced with "sensitive".
  9875  func (s ListReportGroupsInput) GoString() string {
  9876  	return s.String()
  9877  }
  9878  
  9879  // Validate inspects the fields of the type to determine if they are valid.
  9880  func (s *ListReportGroupsInput) Validate() error {
  9881  	invalidParams := request.ErrInvalidParams{Context: "ListReportGroupsInput"}
  9882  	if s.MaxResults != nil && *s.MaxResults < 1 {
  9883  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  9884  	}
  9885  
  9886  	if invalidParams.Len() > 0 {
  9887  		return invalidParams
  9888  	}
  9889  	return nil
  9890  }
  9891  
  9892  // SetMaxResults sets the MaxResults field's value.
  9893  func (s *ListReportGroupsInput) SetMaxResults(v int64) *ListReportGroupsInput {
  9894  	s.MaxResults = &v
  9895  	return s
  9896  }
  9897  
  9898  // SetNextToken sets the NextToken field's value.
  9899  func (s *ListReportGroupsInput) SetNextToken(v string) *ListReportGroupsInput {
  9900  	s.NextToken = &v
  9901  	return s
  9902  }
  9903  
  9904  // SetSortBy sets the SortBy field's value.
  9905  func (s *ListReportGroupsInput) SetSortBy(v string) *ListReportGroupsInput {
  9906  	s.SortBy = &v
  9907  	return s
  9908  }
  9909  
  9910  // SetSortOrder sets the SortOrder field's value.
  9911  func (s *ListReportGroupsInput) SetSortOrder(v string) *ListReportGroupsInput {
  9912  	s.SortOrder = &v
  9913  	return s
  9914  }
  9915  
  9916  type ListReportGroupsOutput struct {
  9917  	_ struct{} `type:"structure"`
  9918  
  9919  	// During a previous call, the maximum number of items that can be returned
  9920  	// is the value specified in maxResults. If there more items in the list, then
  9921  	// a unique string called a nextToken is returned. To get the next batch of
  9922  	// items in the list, call this operation again, adding the next token to the
  9923  	// call. To get all of the items in the list, keep calling this operation with
  9924  	// each subsequent next token that is returned, until no more next tokens are
  9925  	// returned.
  9926  	NextToken *string `locationName:"nextToken" type:"string"`
  9927  
  9928  	// The list of ARNs for the report groups in the current Amazon Web Services
  9929  	// account.
  9930  	ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"`
  9931  }
  9932  
  9933  // String returns the string representation.
  9934  //
  9935  // API parameter values that are decorated as "sensitive" in the API will not
  9936  // be included in the string output. The member name will be present, but the
  9937  // value will be replaced with "sensitive".
  9938  func (s ListReportGroupsOutput) String() string {
  9939  	return awsutil.Prettify(s)
  9940  }
  9941  
  9942  // GoString returns the string representation.
  9943  //
  9944  // API parameter values that are decorated as "sensitive" in the API will not
  9945  // be included in the string output. The member name will be present, but the
  9946  // value will be replaced with "sensitive".
  9947  func (s ListReportGroupsOutput) GoString() string {
  9948  	return s.String()
  9949  }
  9950  
  9951  // SetNextToken sets the NextToken field's value.
  9952  func (s *ListReportGroupsOutput) SetNextToken(v string) *ListReportGroupsOutput {
  9953  	s.NextToken = &v
  9954  	return s
  9955  }
  9956  
  9957  // SetReportGroups sets the ReportGroups field's value.
  9958  func (s *ListReportGroupsOutput) SetReportGroups(v []*string) *ListReportGroupsOutput {
  9959  	s.ReportGroups = v
  9960  	return s
  9961  }
  9962  
  9963  type ListReportsForReportGroupInput struct {
  9964  	_ struct{} `type:"structure"`
  9965  
  9966  	// A ReportFilter object used to filter the returned reports.
  9967  	Filter *ReportFilter `locationName:"filter" type:"structure"`
  9968  
  9969  	// The maximum number of paginated reports in this report group returned per
  9970  	// response. Use nextToken to iterate pages in the list of returned Report objects.
  9971  	// The default value is 100.
  9972  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
  9973  
  9974  	// During a previous call, the maximum number of items that can be returned
  9975  	// is the value specified in maxResults. If there more items in the list, then
  9976  	// a unique string called a nextToken is returned. To get the next batch of
  9977  	// items in the list, call this operation again, adding the next token to the
  9978  	// call. To get all of the items in the list, keep calling this operation with
  9979  	// each subsequent next token that is returned, until no more next tokens are
  9980  	// returned.
  9981  	NextToken *string `locationName:"nextToken" type:"string"`
  9982  
  9983  	// The ARN of the report group for which you want to return report ARNs.
  9984  	//
  9985  	// ReportGroupArn is a required field
  9986  	ReportGroupArn *string `locationName:"reportGroupArn" type:"string" required:"true"`
  9987  
  9988  	// Use to specify whether the results are returned in ascending or descending
  9989  	// order.
  9990  	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
  9991  }
  9992  
  9993  // String returns the string representation.
  9994  //
  9995  // API parameter values that are decorated as "sensitive" in the API will not
  9996  // be included in the string output. The member name will be present, but the
  9997  // value will be replaced with "sensitive".
  9998  func (s ListReportsForReportGroupInput) String() string {
  9999  	return awsutil.Prettify(s)
 10000  }
 10001  
 10002  // GoString returns the string representation.
 10003  //
 10004  // API parameter values that are decorated as "sensitive" in the API will not
 10005  // be included in the string output. The member name will be present, but the
 10006  // value will be replaced with "sensitive".
 10007  func (s ListReportsForReportGroupInput) GoString() string {
 10008  	return s.String()
 10009  }
 10010  
 10011  // Validate inspects the fields of the type to determine if they are valid.
 10012  func (s *ListReportsForReportGroupInput) Validate() error {
 10013  	invalidParams := request.ErrInvalidParams{Context: "ListReportsForReportGroupInput"}
 10014  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10015  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10016  	}
 10017  	if s.ReportGroupArn == nil {
 10018  		invalidParams.Add(request.NewErrParamRequired("ReportGroupArn"))
 10019  	}
 10020  
 10021  	if invalidParams.Len() > 0 {
 10022  		return invalidParams
 10023  	}
 10024  	return nil
 10025  }
 10026  
 10027  // SetFilter sets the Filter field's value.
 10028  func (s *ListReportsForReportGroupInput) SetFilter(v *ReportFilter) *ListReportsForReportGroupInput {
 10029  	s.Filter = v
 10030  	return s
 10031  }
 10032  
 10033  // SetMaxResults sets the MaxResults field's value.
 10034  func (s *ListReportsForReportGroupInput) SetMaxResults(v int64) *ListReportsForReportGroupInput {
 10035  	s.MaxResults = &v
 10036  	return s
 10037  }
 10038  
 10039  // SetNextToken sets the NextToken field's value.
 10040  func (s *ListReportsForReportGroupInput) SetNextToken(v string) *ListReportsForReportGroupInput {
 10041  	s.NextToken = &v
 10042  	return s
 10043  }
 10044  
 10045  // SetReportGroupArn sets the ReportGroupArn field's value.
 10046  func (s *ListReportsForReportGroupInput) SetReportGroupArn(v string) *ListReportsForReportGroupInput {
 10047  	s.ReportGroupArn = &v
 10048  	return s
 10049  }
 10050  
 10051  // SetSortOrder sets the SortOrder field's value.
 10052  func (s *ListReportsForReportGroupInput) SetSortOrder(v string) *ListReportsForReportGroupInput {
 10053  	s.SortOrder = &v
 10054  	return s
 10055  }
 10056  
 10057  type ListReportsForReportGroupOutput struct {
 10058  	_ struct{} `type:"structure"`
 10059  
 10060  	// During a previous call, the maximum number of items that can be returned
 10061  	// is the value specified in maxResults. If there more items in the list, then
 10062  	// a unique string called a nextToken is returned. To get the next batch of
 10063  	// items in the list, call this operation again, adding the next token to the
 10064  	// call. To get all of the items in the list, keep calling this operation with
 10065  	// each subsequent next token that is returned, until no more next tokens are
 10066  	// returned.
 10067  	NextToken *string `locationName:"nextToken" type:"string"`
 10068  
 10069  	// The list of report ARNs.
 10070  	Reports []*string `locationName:"reports" min:"1" type:"list"`
 10071  }
 10072  
 10073  // String returns the string representation.
 10074  //
 10075  // API parameter values that are decorated as "sensitive" in the API will not
 10076  // be included in the string output. The member name will be present, but the
 10077  // value will be replaced with "sensitive".
 10078  func (s ListReportsForReportGroupOutput) String() string {
 10079  	return awsutil.Prettify(s)
 10080  }
 10081  
 10082  // GoString returns the string representation.
 10083  //
 10084  // API parameter values that are decorated as "sensitive" in the API will not
 10085  // be included in the string output. The member name will be present, but the
 10086  // value will be replaced with "sensitive".
 10087  func (s ListReportsForReportGroupOutput) GoString() string {
 10088  	return s.String()
 10089  }
 10090  
 10091  // SetNextToken sets the NextToken field's value.
 10092  func (s *ListReportsForReportGroupOutput) SetNextToken(v string) *ListReportsForReportGroupOutput {
 10093  	s.NextToken = &v
 10094  	return s
 10095  }
 10096  
 10097  // SetReports sets the Reports field's value.
 10098  func (s *ListReportsForReportGroupOutput) SetReports(v []*string) *ListReportsForReportGroupOutput {
 10099  	s.Reports = v
 10100  	return s
 10101  }
 10102  
 10103  type ListReportsInput struct {
 10104  	_ struct{} `type:"structure"`
 10105  
 10106  	// A ReportFilter object used to filter the returned reports.
 10107  	Filter *ReportFilter `locationName:"filter" type:"structure"`
 10108  
 10109  	// The maximum number of paginated reports returned per response. Use nextToken
 10110  	// to iterate pages in the list of returned Report objects. The default value
 10111  	// is 100.
 10112  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 10113  
 10114  	// During a previous call, the maximum number of items that can be returned
 10115  	// is the value specified in maxResults. If there more items in the list, then
 10116  	// a unique string called a nextToken is returned. To get the next batch of
 10117  	// items in the list, call this operation again, adding the next token to the
 10118  	// call. To get all of the items in the list, keep calling this operation with
 10119  	// each subsequent next token that is returned, until no more next tokens are
 10120  	// returned.
 10121  	NextToken *string `locationName:"nextToken" type:"string"`
 10122  
 10123  	// Specifies the sort order for the list of returned reports. Valid values are:
 10124  	//
 10125  	//    * ASCENDING: return reports in chronological order based on their creation
 10126  	//    date.
 10127  	//
 10128  	//    * DESCENDING: return reports in the reverse chronological order based
 10129  	//    on their creation date.
 10130  	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
 10131  }
 10132  
 10133  // String returns the string representation.
 10134  //
 10135  // API parameter values that are decorated as "sensitive" in the API will not
 10136  // be included in the string output. The member name will be present, but the
 10137  // value will be replaced with "sensitive".
 10138  func (s ListReportsInput) String() string {
 10139  	return awsutil.Prettify(s)
 10140  }
 10141  
 10142  // GoString returns the string representation.
 10143  //
 10144  // API parameter values that are decorated as "sensitive" in the API will not
 10145  // be included in the string output. The member name will be present, but the
 10146  // value will be replaced with "sensitive".
 10147  func (s ListReportsInput) GoString() string {
 10148  	return s.String()
 10149  }
 10150  
 10151  // Validate inspects the fields of the type to determine if they are valid.
 10152  func (s *ListReportsInput) Validate() error {
 10153  	invalidParams := request.ErrInvalidParams{Context: "ListReportsInput"}
 10154  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10155  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10156  	}
 10157  
 10158  	if invalidParams.Len() > 0 {
 10159  		return invalidParams
 10160  	}
 10161  	return nil
 10162  }
 10163  
 10164  // SetFilter sets the Filter field's value.
 10165  func (s *ListReportsInput) SetFilter(v *ReportFilter) *ListReportsInput {
 10166  	s.Filter = v
 10167  	return s
 10168  }
 10169  
 10170  // SetMaxResults sets the MaxResults field's value.
 10171  func (s *ListReportsInput) SetMaxResults(v int64) *ListReportsInput {
 10172  	s.MaxResults = &v
 10173  	return s
 10174  }
 10175  
 10176  // SetNextToken sets the NextToken field's value.
 10177  func (s *ListReportsInput) SetNextToken(v string) *ListReportsInput {
 10178  	s.NextToken = &v
 10179  	return s
 10180  }
 10181  
 10182  // SetSortOrder sets the SortOrder field's value.
 10183  func (s *ListReportsInput) SetSortOrder(v string) *ListReportsInput {
 10184  	s.SortOrder = &v
 10185  	return s
 10186  }
 10187  
 10188  type ListReportsOutput struct {
 10189  	_ struct{} `type:"structure"`
 10190  
 10191  	// During a previous call, the maximum number of items that can be returned
 10192  	// is the value specified in maxResults. If there more items in the list, then
 10193  	// a unique string called a nextToken is returned. To get the next batch of
 10194  	// items in the list, call this operation again, adding the next token to the
 10195  	// call. To get all of the items in the list, keep calling this operation with
 10196  	// each subsequent next token that is returned, until no more next tokens are
 10197  	// returned.
 10198  	NextToken *string `locationName:"nextToken" type:"string"`
 10199  
 10200  	// The list of returned ARNs for the reports in the current Amazon Web Services
 10201  	// account.
 10202  	Reports []*string `locationName:"reports" min:"1" type:"list"`
 10203  }
 10204  
 10205  // String returns the string representation.
 10206  //
 10207  // API parameter values that are decorated as "sensitive" in the API will not
 10208  // be included in the string output. The member name will be present, but the
 10209  // value will be replaced with "sensitive".
 10210  func (s ListReportsOutput) String() string {
 10211  	return awsutil.Prettify(s)
 10212  }
 10213  
 10214  // GoString returns the string representation.
 10215  //
 10216  // API parameter values that are decorated as "sensitive" in the API will not
 10217  // be included in the string output. The member name will be present, but the
 10218  // value will be replaced with "sensitive".
 10219  func (s ListReportsOutput) GoString() string {
 10220  	return s.String()
 10221  }
 10222  
 10223  // SetNextToken sets the NextToken field's value.
 10224  func (s *ListReportsOutput) SetNextToken(v string) *ListReportsOutput {
 10225  	s.NextToken = &v
 10226  	return s
 10227  }
 10228  
 10229  // SetReports sets the Reports field's value.
 10230  func (s *ListReportsOutput) SetReports(v []*string) *ListReportsOutput {
 10231  	s.Reports = v
 10232  	return s
 10233  }
 10234  
 10235  type ListSharedProjectsInput struct {
 10236  	_ struct{} `type:"structure"`
 10237  
 10238  	// The maximum number of paginated shared build projects returned per response.
 10239  	// Use nextToken to iterate pages in the list of returned Project objects. The
 10240  	// default value is 100.
 10241  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 10242  
 10243  	// During a previous call, the maximum number of items that can be returned
 10244  	// is the value specified in maxResults. If there more items in the list, then
 10245  	// a unique string called a nextToken is returned. To get the next batch of
 10246  	// items in the list, call this operation again, adding the next token to the
 10247  	// call. To get all of the items in the list, keep calling this operation with
 10248  	// each subsequent next token that is returned, until no more next tokens are
 10249  	// returned.
 10250  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 10251  
 10252  	// The criterion to be used to list build projects shared with the current Amazon
 10253  	// Web Services account or user. Valid values include:
 10254  	//
 10255  	//    * ARN: List based on the ARN.
 10256  	//
 10257  	//    * MODIFIED_TIME: List based on when information about the shared project
 10258  	//    was last changed.
 10259  	SortBy *string `locationName:"sortBy" type:"string" enum:"SharedResourceSortByType"`
 10260  
 10261  	// The order in which to list shared build projects. Valid values include:
 10262  	//
 10263  	//    * ASCENDING: List in ascending order.
 10264  	//
 10265  	//    * DESCENDING: List in descending order.
 10266  	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
 10267  }
 10268  
 10269  // String returns the string representation.
 10270  //
 10271  // API parameter values that are decorated as "sensitive" in the API will not
 10272  // be included in the string output. The member name will be present, but the
 10273  // value will be replaced with "sensitive".
 10274  func (s ListSharedProjectsInput) String() string {
 10275  	return awsutil.Prettify(s)
 10276  }
 10277  
 10278  // GoString returns the string representation.
 10279  //
 10280  // API parameter values that are decorated as "sensitive" in the API will not
 10281  // be included in the string output. The member name will be present, but the
 10282  // value will be replaced with "sensitive".
 10283  func (s ListSharedProjectsInput) GoString() string {
 10284  	return s.String()
 10285  }
 10286  
 10287  // Validate inspects the fields of the type to determine if they are valid.
 10288  func (s *ListSharedProjectsInput) Validate() error {
 10289  	invalidParams := request.ErrInvalidParams{Context: "ListSharedProjectsInput"}
 10290  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10291  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10292  	}
 10293  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 10294  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 10295  	}
 10296  
 10297  	if invalidParams.Len() > 0 {
 10298  		return invalidParams
 10299  	}
 10300  	return nil
 10301  }
 10302  
 10303  // SetMaxResults sets the MaxResults field's value.
 10304  func (s *ListSharedProjectsInput) SetMaxResults(v int64) *ListSharedProjectsInput {
 10305  	s.MaxResults = &v
 10306  	return s
 10307  }
 10308  
 10309  // SetNextToken sets the NextToken field's value.
 10310  func (s *ListSharedProjectsInput) SetNextToken(v string) *ListSharedProjectsInput {
 10311  	s.NextToken = &v
 10312  	return s
 10313  }
 10314  
 10315  // SetSortBy sets the SortBy field's value.
 10316  func (s *ListSharedProjectsInput) SetSortBy(v string) *ListSharedProjectsInput {
 10317  	s.SortBy = &v
 10318  	return s
 10319  }
 10320  
 10321  // SetSortOrder sets the SortOrder field's value.
 10322  func (s *ListSharedProjectsInput) SetSortOrder(v string) *ListSharedProjectsInput {
 10323  	s.SortOrder = &v
 10324  	return s
 10325  }
 10326  
 10327  type ListSharedProjectsOutput struct {
 10328  	_ struct{} `type:"structure"`
 10329  
 10330  	// During a previous call, the maximum number of items that can be returned
 10331  	// is the value specified in maxResults. If there more items in the list, then
 10332  	// a unique string called a nextToken is returned. To get the next batch of
 10333  	// items in the list, call this operation again, adding the next token to the
 10334  	// call. To get all of the items in the list, keep calling this operation with
 10335  	// each subsequent next token that is returned, until no more next tokens are
 10336  	// returned.
 10337  	NextToken *string `locationName:"nextToken" type:"string"`
 10338  
 10339  	// The list of ARNs for the build projects shared with the current Amazon Web
 10340  	// Services account or user.
 10341  	Projects []*string `locationName:"projects" min:"1" type:"list"`
 10342  }
 10343  
 10344  // String returns the string representation.
 10345  //
 10346  // API parameter values that are decorated as "sensitive" in the API will not
 10347  // be included in the string output. The member name will be present, but the
 10348  // value will be replaced with "sensitive".
 10349  func (s ListSharedProjectsOutput) String() string {
 10350  	return awsutil.Prettify(s)
 10351  }
 10352  
 10353  // GoString returns the string representation.
 10354  //
 10355  // API parameter values that are decorated as "sensitive" in the API will not
 10356  // be included in the string output. The member name will be present, but the
 10357  // value will be replaced with "sensitive".
 10358  func (s ListSharedProjectsOutput) GoString() string {
 10359  	return s.String()
 10360  }
 10361  
 10362  // SetNextToken sets the NextToken field's value.
 10363  func (s *ListSharedProjectsOutput) SetNextToken(v string) *ListSharedProjectsOutput {
 10364  	s.NextToken = &v
 10365  	return s
 10366  }
 10367  
 10368  // SetProjects sets the Projects field's value.
 10369  func (s *ListSharedProjectsOutput) SetProjects(v []*string) *ListSharedProjectsOutput {
 10370  	s.Projects = v
 10371  	return s
 10372  }
 10373  
 10374  type ListSharedReportGroupsInput struct {
 10375  	_ struct{} `type:"structure"`
 10376  
 10377  	// The maximum number of paginated shared report groups per response. Use nextToken
 10378  	// to iterate pages in the list of returned ReportGroup objects. The default
 10379  	// value is 100.
 10380  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 10381  
 10382  	// During a previous call, the maximum number of items that can be returned
 10383  	// is the value specified in maxResults. If there more items in the list, then
 10384  	// a unique string called a nextToken is returned. To get the next batch of
 10385  	// items in the list, call this operation again, adding the next token to the
 10386  	// call. To get all of the items in the list, keep calling this operation with
 10387  	// each subsequent next token that is returned, until no more next tokens are
 10388  	// returned.
 10389  	NextToken *string `locationName:"nextToken" type:"string"`
 10390  
 10391  	// The criterion to be used to list report groups shared with the current Amazon
 10392  	// Web Services account or user. Valid values include:
 10393  	//
 10394  	//    * ARN: List based on the ARN.
 10395  	//
 10396  	//    * MODIFIED_TIME: List based on when information about the shared report
 10397  	//    group was last changed.
 10398  	SortBy *string `locationName:"sortBy" type:"string" enum:"SharedResourceSortByType"`
 10399  
 10400  	// The order in which to list shared report groups. Valid values include:
 10401  	//
 10402  	//    * ASCENDING: List in ascending order.
 10403  	//
 10404  	//    * DESCENDING: List in descending order.
 10405  	SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"`
 10406  }
 10407  
 10408  // String returns the string representation.
 10409  //
 10410  // API parameter values that are decorated as "sensitive" in the API will not
 10411  // be included in the string output. The member name will be present, but the
 10412  // value will be replaced with "sensitive".
 10413  func (s ListSharedReportGroupsInput) String() string {
 10414  	return awsutil.Prettify(s)
 10415  }
 10416  
 10417  // GoString returns the string representation.
 10418  //
 10419  // API parameter values that are decorated as "sensitive" in the API will not
 10420  // be included in the string output. The member name will be present, but the
 10421  // value will be replaced with "sensitive".
 10422  func (s ListSharedReportGroupsInput) GoString() string {
 10423  	return s.String()
 10424  }
 10425  
 10426  // Validate inspects the fields of the type to determine if they are valid.
 10427  func (s *ListSharedReportGroupsInput) Validate() error {
 10428  	invalidParams := request.ErrInvalidParams{Context: "ListSharedReportGroupsInput"}
 10429  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10430  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10431  	}
 10432  
 10433  	if invalidParams.Len() > 0 {
 10434  		return invalidParams
 10435  	}
 10436  	return nil
 10437  }
 10438  
 10439  // SetMaxResults sets the MaxResults field's value.
 10440  func (s *ListSharedReportGroupsInput) SetMaxResults(v int64) *ListSharedReportGroupsInput {
 10441  	s.MaxResults = &v
 10442  	return s
 10443  }
 10444  
 10445  // SetNextToken sets the NextToken field's value.
 10446  func (s *ListSharedReportGroupsInput) SetNextToken(v string) *ListSharedReportGroupsInput {
 10447  	s.NextToken = &v
 10448  	return s
 10449  }
 10450  
 10451  // SetSortBy sets the SortBy field's value.
 10452  func (s *ListSharedReportGroupsInput) SetSortBy(v string) *ListSharedReportGroupsInput {
 10453  	s.SortBy = &v
 10454  	return s
 10455  }
 10456  
 10457  // SetSortOrder sets the SortOrder field's value.
 10458  func (s *ListSharedReportGroupsInput) SetSortOrder(v string) *ListSharedReportGroupsInput {
 10459  	s.SortOrder = &v
 10460  	return s
 10461  }
 10462  
 10463  type ListSharedReportGroupsOutput struct {
 10464  	_ struct{} `type:"structure"`
 10465  
 10466  	// During a previous call, the maximum number of items that can be returned
 10467  	// is the value specified in maxResults. If there more items in the list, then
 10468  	// a unique string called a nextToken is returned. To get the next batch of
 10469  	// items in the list, call this operation again, adding the next token to the
 10470  	// call. To get all of the items in the list, keep calling this operation with
 10471  	// each subsequent next token that is returned, until no more next tokens are
 10472  	// returned.
 10473  	NextToken *string `locationName:"nextToken" type:"string"`
 10474  
 10475  	// The list of ARNs for the report groups shared with the current Amazon Web
 10476  	// Services account or user.
 10477  	ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"`
 10478  }
 10479  
 10480  // String returns the string representation.
 10481  //
 10482  // API parameter values that are decorated as "sensitive" in the API will not
 10483  // be included in the string output. The member name will be present, but the
 10484  // value will be replaced with "sensitive".
 10485  func (s ListSharedReportGroupsOutput) String() string {
 10486  	return awsutil.Prettify(s)
 10487  }
 10488  
 10489  // GoString returns the string representation.
 10490  //
 10491  // API parameter values that are decorated as "sensitive" in the API will not
 10492  // be included in the string output. The member name will be present, but the
 10493  // value will be replaced with "sensitive".
 10494  func (s ListSharedReportGroupsOutput) GoString() string {
 10495  	return s.String()
 10496  }
 10497  
 10498  // SetNextToken sets the NextToken field's value.
 10499  func (s *ListSharedReportGroupsOutput) SetNextToken(v string) *ListSharedReportGroupsOutput {
 10500  	s.NextToken = &v
 10501  	return s
 10502  }
 10503  
 10504  // SetReportGroups sets the ReportGroups field's value.
 10505  func (s *ListSharedReportGroupsOutput) SetReportGroups(v []*string) *ListSharedReportGroupsOutput {
 10506  	s.ReportGroups = v
 10507  	return s
 10508  }
 10509  
 10510  type ListSourceCredentialsInput struct {
 10511  	_ struct{} `type:"structure"`
 10512  }
 10513  
 10514  // String returns the string representation.
 10515  //
 10516  // API parameter values that are decorated as "sensitive" in the API will not
 10517  // be included in the string output. The member name will be present, but the
 10518  // value will be replaced with "sensitive".
 10519  func (s ListSourceCredentialsInput) String() string {
 10520  	return awsutil.Prettify(s)
 10521  }
 10522  
 10523  // GoString returns the string representation.
 10524  //
 10525  // API parameter values that are decorated as "sensitive" in the API will not
 10526  // be included in the string output. The member name will be present, but the
 10527  // value will be replaced with "sensitive".
 10528  func (s ListSourceCredentialsInput) GoString() string {
 10529  	return s.String()
 10530  }
 10531  
 10532  type ListSourceCredentialsOutput struct {
 10533  	_ struct{} `type:"structure"`
 10534  
 10535  	// A list of SourceCredentialsInfo objects. Each SourceCredentialsInfo object
 10536  	// includes the authentication type, token ARN, and type of source provider
 10537  	// for one set of credentials.
 10538  	SourceCredentialsInfos []*SourceCredentialsInfo `locationName:"sourceCredentialsInfos" type:"list"`
 10539  }
 10540  
 10541  // String returns the string representation.
 10542  //
 10543  // API parameter values that are decorated as "sensitive" in the API will not
 10544  // be included in the string output. The member name will be present, but the
 10545  // value will be replaced with "sensitive".
 10546  func (s ListSourceCredentialsOutput) String() string {
 10547  	return awsutil.Prettify(s)
 10548  }
 10549  
 10550  // GoString returns the string representation.
 10551  //
 10552  // API parameter values that are decorated as "sensitive" in the API will not
 10553  // be included in the string output. The member name will be present, but the
 10554  // value will be replaced with "sensitive".
 10555  func (s ListSourceCredentialsOutput) GoString() string {
 10556  	return s.String()
 10557  }
 10558  
 10559  // SetSourceCredentialsInfos sets the SourceCredentialsInfos field's value.
 10560  func (s *ListSourceCredentialsOutput) SetSourceCredentialsInfos(v []*SourceCredentialsInfo) *ListSourceCredentialsOutput {
 10561  	s.SourceCredentialsInfos = v
 10562  	return s
 10563  }
 10564  
 10565  // Information about logs for a build project. These can be logs in CloudWatch
 10566  // Logs, built in a specified S3 bucket, or both.
 10567  type LogsConfig struct {
 10568  	_ struct{} `type:"structure"`
 10569  
 10570  	// Information about CloudWatch Logs for a build project. CloudWatch Logs are
 10571  	// enabled by default.
 10572  	CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" type:"structure"`
 10573  
 10574  	// Information about logs built to an S3 bucket for a build project. S3 logs
 10575  	// are not enabled by default.
 10576  	S3Logs *S3LogsConfig `locationName:"s3Logs" type:"structure"`
 10577  }
 10578  
 10579  // String returns the string representation.
 10580  //
 10581  // API parameter values that are decorated as "sensitive" in the API will not
 10582  // be included in the string output. The member name will be present, but the
 10583  // value will be replaced with "sensitive".
 10584  func (s LogsConfig) String() string {
 10585  	return awsutil.Prettify(s)
 10586  }
 10587  
 10588  // GoString returns the string representation.
 10589  //
 10590  // API parameter values that are decorated as "sensitive" in the API will not
 10591  // be included in the string output. The member name will be present, but the
 10592  // value will be replaced with "sensitive".
 10593  func (s LogsConfig) GoString() string {
 10594  	return s.String()
 10595  }
 10596  
 10597  // Validate inspects the fields of the type to determine if they are valid.
 10598  func (s *LogsConfig) Validate() error {
 10599  	invalidParams := request.ErrInvalidParams{Context: "LogsConfig"}
 10600  	if s.CloudWatchLogs != nil {
 10601  		if err := s.CloudWatchLogs.Validate(); err != nil {
 10602  			invalidParams.AddNested("CloudWatchLogs", err.(request.ErrInvalidParams))
 10603  		}
 10604  	}
 10605  	if s.S3Logs != nil {
 10606  		if err := s.S3Logs.Validate(); err != nil {
 10607  			invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams))
 10608  		}
 10609  	}
 10610  
 10611  	if invalidParams.Len() > 0 {
 10612  		return invalidParams
 10613  	}
 10614  	return nil
 10615  }
 10616  
 10617  // SetCloudWatchLogs sets the CloudWatchLogs field's value.
 10618  func (s *LogsConfig) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsConfig {
 10619  	s.CloudWatchLogs = v
 10620  	return s
 10621  }
 10622  
 10623  // SetS3Logs sets the S3Logs field's value.
 10624  func (s *LogsConfig) SetS3Logs(v *S3LogsConfig) *LogsConfig {
 10625  	s.S3Logs = v
 10626  	return s
 10627  }
 10628  
 10629  // Information about build logs in CloudWatch Logs.
 10630  type LogsLocation struct {
 10631  	_ struct{} `type:"structure"`
 10632  
 10633  	// Information about CloudWatch Logs for a build project.
 10634  	CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" type:"structure"`
 10635  
 10636  	// The ARN of CloudWatch Logs for a build project. Its format is arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName}.
 10637  	// For more information, see Resources Defined by CloudWatch Logs (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazoncloudwatchlogs.html#amazoncloudwatchlogs-resources-for-iam-policies).
 10638  	CloudWatchLogsArn *string `locationName:"cloudWatchLogsArn" type:"string"`
 10639  
 10640  	// The URL to an individual build log in CloudWatch Logs.
 10641  	DeepLink *string `locationName:"deepLink" type:"string"`
 10642  
 10643  	// The name of the CloudWatch Logs group for the build logs.
 10644  	GroupName *string `locationName:"groupName" type:"string"`
 10645  
 10646  	// The URL to a build log in an S3 bucket.
 10647  	S3DeepLink *string `locationName:"s3DeepLink" type:"string"`
 10648  
 10649  	// Information about S3 logs for a build project.
 10650  	S3Logs *S3LogsConfig `locationName:"s3Logs" type:"structure"`
 10651  
 10652  	// The ARN of S3 logs for a build project. Its format is arn:${Partition}:s3:::${BucketName}/${ObjectName}.
 10653  	// For more information, see Resources Defined by Amazon S3 (https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazons3.html#amazons3-resources-for-iam-policies).
 10654  	S3LogsArn *string `locationName:"s3LogsArn" type:"string"`
 10655  
 10656  	// The name of the CloudWatch Logs stream for the build logs.
 10657  	StreamName *string `locationName:"streamName" type:"string"`
 10658  }
 10659  
 10660  // String returns the string representation.
 10661  //
 10662  // API parameter values that are decorated as "sensitive" in the API will not
 10663  // be included in the string output. The member name will be present, but the
 10664  // value will be replaced with "sensitive".
 10665  func (s LogsLocation) String() string {
 10666  	return awsutil.Prettify(s)
 10667  }
 10668  
 10669  // GoString returns the string representation.
 10670  //
 10671  // API parameter values that are decorated as "sensitive" in the API will not
 10672  // be included in the string output. The member name will be present, but the
 10673  // value will be replaced with "sensitive".
 10674  func (s LogsLocation) GoString() string {
 10675  	return s.String()
 10676  }
 10677  
 10678  // SetCloudWatchLogs sets the CloudWatchLogs field's value.
 10679  func (s *LogsLocation) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsLocation {
 10680  	s.CloudWatchLogs = v
 10681  	return s
 10682  }
 10683  
 10684  // SetCloudWatchLogsArn sets the CloudWatchLogsArn field's value.
 10685  func (s *LogsLocation) SetCloudWatchLogsArn(v string) *LogsLocation {
 10686  	s.CloudWatchLogsArn = &v
 10687  	return s
 10688  }
 10689  
 10690  // SetDeepLink sets the DeepLink field's value.
 10691  func (s *LogsLocation) SetDeepLink(v string) *LogsLocation {
 10692  	s.DeepLink = &v
 10693  	return s
 10694  }
 10695  
 10696  // SetGroupName sets the GroupName field's value.
 10697  func (s *LogsLocation) SetGroupName(v string) *LogsLocation {
 10698  	s.GroupName = &v
 10699  	return s
 10700  }
 10701  
 10702  // SetS3DeepLink sets the S3DeepLink field's value.
 10703  func (s *LogsLocation) SetS3DeepLink(v string) *LogsLocation {
 10704  	s.S3DeepLink = &v
 10705  	return s
 10706  }
 10707  
 10708  // SetS3Logs sets the S3Logs field's value.
 10709  func (s *LogsLocation) SetS3Logs(v *S3LogsConfig) *LogsLocation {
 10710  	s.S3Logs = v
 10711  	return s
 10712  }
 10713  
 10714  // SetS3LogsArn sets the S3LogsArn field's value.
 10715  func (s *LogsLocation) SetS3LogsArn(v string) *LogsLocation {
 10716  	s.S3LogsArn = &v
 10717  	return s
 10718  }
 10719  
 10720  // SetStreamName sets the StreamName field's value.
 10721  func (s *LogsLocation) SetStreamName(v string) *LogsLocation {
 10722  	s.StreamName = &v
 10723  	return s
 10724  }
 10725  
 10726  // Describes a network interface.
 10727  type NetworkInterface struct {
 10728  	_ struct{} `type:"structure"`
 10729  
 10730  	// The ID of the network interface.
 10731  	NetworkInterfaceId *string `locationName:"networkInterfaceId" min:"1" type:"string"`
 10732  
 10733  	// The ID of the subnet.
 10734  	SubnetId *string `locationName:"subnetId" min:"1" type:"string"`
 10735  }
 10736  
 10737  // String returns the string representation.
 10738  //
 10739  // API parameter values that are decorated as "sensitive" in the API will not
 10740  // be included in the string output. The member name will be present, but the
 10741  // value will be replaced with "sensitive".
 10742  func (s NetworkInterface) String() string {
 10743  	return awsutil.Prettify(s)
 10744  }
 10745  
 10746  // GoString returns the string representation.
 10747  //
 10748  // API parameter values that are decorated as "sensitive" in the API will not
 10749  // be included in the string output. The member name will be present, but the
 10750  // value will be replaced with "sensitive".
 10751  func (s NetworkInterface) GoString() string {
 10752  	return s.String()
 10753  }
 10754  
 10755  // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
 10756  func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
 10757  	s.NetworkInterfaceId = &v
 10758  	return s
 10759  }
 10760  
 10761  // SetSubnetId sets the SubnetId field's value.
 10762  func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
 10763  	s.SubnetId = &v
 10764  	return s
 10765  }
 10766  
 10767  // There was a problem with the underlying OAuth provider.
 10768  type OAuthProviderException struct {
 10769  	_            struct{}                  `type:"structure"`
 10770  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 10771  
 10772  	Message_ *string `locationName:"message" type:"string"`
 10773  }
 10774  
 10775  // String returns the string representation.
 10776  //
 10777  // API parameter values that are decorated as "sensitive" in the API will not
 10778  // be included in the string output. The member name will be present, but the
 10779  // value will be replaced with "sensitive".
 10780  func (s OAuthProviderException) String() string {
 10781  	return awsutil.Prettify(s)
 10782  }
 10783  
 10784  // GoString returns the string representation.
 10785  //
 10786  // API parameter values that are decorated as "sensitive" in the API will not
 10787  // be included in the string output. The member name will be present, but the
 10788  // value will be replaced with "sensitive".
 10789  func (s OAuthProviderException) GoString() string {
 10790  	return s.String()
 10791  }
 10792  
 10793  func newErrorOAuthProviderException(v protocol.ResponseMetadata) error {
 10794  	return &OAuthProviderException{
 10795  		RespMetadata: v,
 10796  	}
 10797  }
 10798  
 10799  // Code returns the exception type name.
 10800  func (s *OAuthProviderException) Code() string {
 10801  	return "OAuthProviderException"
 10802  }
 10803  
 10804  // Message returns the exception's message.
 10805  func (s *OAuthProviderException) Message() string {
 10806  	if s.Message_ != nil {
 10807  		return *s.Message_
 10808  	}
 10809  	return ""
 10810  }
 10811  
 10812  // OrigErr always returns nil, satisfies awserr.Error interface.
 10813  func (s *OAuthProviderException) OrigErr() error {
 10814  	return nil
 10815  }
 10816  
 10817  func (s *OAuthProviderException) Error() string {
 10818  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 10819  }
 10820  
 10821  // Status code returns the HTTP status code for the request's response error.
 10822  func (s *OAuthProviderException) StatusCode() int {
 10823  	return s.RespMetadata.StatusCode
 10824  }
 10825  
 10826  // RequestID returns the service's response RequestID for request.
 10827  func (s *OAuthProviderException) RequestID() string {
 10828  	return s.RespMetadata.RequestID
 10829  }
 10830  
 10831  // Additional information about a build phase that has an error. You can use
 10832  // this information for troubleshooting.
 10833  type PhaseContext struct {
 10834  	_ struct{} `type:"structure"`
 10835  
 10836  	// An explanation of the build phase's context. This might include a command
 10837  	// ID and an exit code.
 10838  	Message *string `locationName:"message" type:"string"`
 10839  
 10840  	// The status code for the context of the build phase.
 10841  	StatusCode *string `locationName:"statusCode" type:"string"`
 10842  }
 10843  
 10844  // String returns the string representation.
 10845  //
 10846  // API parameter values that are decorated as "sensitive" in the API will not
 10847  // be included in the string output. The member name will be present, but the
 10848  // value will be replaced with "sensitive".
 10849  func (s PhaseContext) String() string {
 10850  	return awsutil.Prettify(s)
 10851  }
 10852  
 10853  // GoString returns the string representation.
 10854  //
 10855  // API parameter values that are decorated as "sensitive" in the API will not
 10856  // be included in the string output. The member name will be present, but the
 10857  // value will be replaced with "sensitive".
 10858  func (s PhaseContext) GoString() string {
 10859  	return s.String()
 10860  }
 10861  
 10862  // SetMessage sets the Message field's value.
 10863  func (s *PhaseContext) SetMessage(v string) *PhaseContext {
 10864  	s.Message = &v
 10865  	return s
 10866  }
 10867  
 10868  // SetStatusCode sets the StatusCode field's value.
 10869  func (s *PhaseContext) SetStatusCode(v string) *PhaseContext {
 10870  	s.StatusCode = &v
 10871  	return s
 10872  }
 10873  
 10874  // Information about a build project.
 10875  type Project struct {
 10876  	_ struct{} `type:"structure"`
 10877  
 10878  	// The Amazon Resource Name (ARN) of the build project.
 10879  	Arn *string `locationName:"arn" type:"string"`
 10880  
 10881  	// Information about the build output artifacts for the build project.
 10882  	Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure"`
 10883  
 10884  	// Information about the build badge for the build project.
 10885  	Badge *ProjectBadge `locationName:"badge" type:"structure"`
 10886  
 10887  	// A ProjectBuildBatchConfig object that defines the batch build options for
 10888  	// the project.
 10889  	BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"`
 10890  
 10891  	// Information about the cache for the build project.
 10892  	Cache *ProjectCache `locationName:"cache" type:"structure"`
 10893  
 10894  	// The maximum number of concurrent builds that are allowed for this project.
 10895  	//
 10896  	// New builds are only started if the current number of builds is less than
 10897  	// or equal to this limit. If the current build count meets this limit, new
 10898  	// builds are throttled and are not run.
 10899  	ConcurrentBuildLimit *int64 `locationName:"concurrentBuildLimit" type:"integer"`
 10900  
 10901  	// When the build project was created, expressed in Unix time format.
 10902  	Created *time.Time `locationName:"created" type:"timestamp"`
 10903  
 10904  	// A description that makes the build project easy to identify.
 10905  	Description *string `locationName:"description" type:"string"`
 10906  
 10907  	// The Key Management Service customer master key (CMK) to be used for encrypting
 10908  	// the build output artifacts.
 10909  	//
 10910  	// You can use a cross-account KMS key to encrypt the build output artifacts
 10911  	// if your service role has permission to that key.
 10912  	//
 10913  	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
 10914  	// the CMK's alias (using the format alias/<alias-name>). If you don't specify
 10915  	// a value, CodeBuild uses the managed CMK for Amazon Simple Storage Service
 10916  	// (Amazon S3).
 10917  	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
 10918  
 10919  	// Information about the build environment for this build project.
 10920  	Environment *ProjectEnvironment `locationName:"environment" type:"structure"`
 10921  
 10922  	// An array of ProjectFileSystemLocation objects for a CodeBuild build project.
 10923  	// A ProjectFileSystemLocation object specifies the identifier, location, mountOptions,
 10924  	// mountPoint, and type of a file system created using Amazon Elastic File System.
 10925  	FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"`
 10926  
 10927  	// When the build project's settings were last modified, expressed in Unix time
 10928  	// format.
 10929  	LastModified *time.Time `locationName:"lastModified" type:"timestamp"`
 10930  
 10931  	// Information about logs for the build project. A project can create logs in
 10932  	// CloudWatch Logs, an S3 bucket, or both.
 10933  	LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"`
 10934  
 10935  	// The name of the build project.
 10936  	Name *string `locationName:"name" min:"2" type:"string"`
 10937  
 10938  	// Specifies the visibility of the project's builds. Possible values are:
 10939  	//
 10940  	// PUBLIC_READ
 10941  	//
 10942  	// The project builds are visible to the public.
 10943  	//
 10944  	// PRIVATE
 10945  	//
 10946  	// The project builds are not visible to the public.
 10947  	ProjectVisibility *string `locationName:"projectVisibility" type:"string" enum:"ProjectVisibilityType"`
 10948  
 10949  	// Contains the project identifier used with the public build APIs.
 10950  	PublicProjectAlias *string `locationName:"publicProjectAlias" min:"1" type:"string"`
 10951  
 10952  	// The number of minutes a build is allowed to be queued before it times out.
 10953  	QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" type:"integer"`
 10954  
 10955  	// The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs
 10956  	// and Amazon S3 artifacts for the project's builds.
 10957  	ResourceAccessRole *string `locationName:"resourceAccessRole" min:"1" type:"string"`
 10958  
 10959  	// An array of ProjectArtifacts objects.
 10960  	SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"`
 10961  
 10962  	// An array of ProjectSourceVersion objects. If secondarySourceVersions is specified
 10963  	// at the build level, then they take over these secondarySourceVersions (at
 10964  	// the project level).
 10965  	SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"`
 10966  
 10967  	// An array of ProjectSource objects.
 10968  	SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"`
 10969  
 10970  	// The ARN of the IAM role that enables CodeBuild to interact with dependent
 10971  	// Amazon Web Services services on behalf of the Amazon Web Services account.
 10972  	ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"`
 10973  
 10974  	// Information about the build input source code for this build project.
 10975  	Source *ProjectSource `locationName:"source" type:"structure"`
 10976  
 10977  	// A version of the build input to be built for this project. If not specified,
 10978  	// the latest version is used. If specified, it must be one of:
 10979  	//
 10980  	//    * For CodeCommit: the commit ID, branch, or Git tag to use.
 10981  	//
 10982  	//    * For GitHub: the commit ID, pull request ID, branch name, or tag name
 10983  	//    that corresponds to the version of the source code you want to build.
 10984  	//    If a pull request ID is specified, it must use the format pr/pull-request-ID
 10985  	//    (for example pr/25). If a branch name is specified, the branch's HEAD
 10986  	//    commit ID is used. If not specified, the default branch's HEAD commit
 10987  	//    ID is used.
 10988  	//
 10989  	//    * For Bitbucket: the commit ID, branch name, or tag name that corresponds
 10990  	//    to the version of the source code you want to build. If a branch name
 10991  	//    is specified, the branch's HEAD commit ID is used. If not specified, the
 10992  	//    default branch's HEAD commit ID is used.
 10993  	//
 10994  	//    * For Amazon S3: the version ID of the object that represents the build
 10995  	//    input ZIP file to use.
 10996  	//
 10997  	// If sourceVersion is specified at the build level, then that version takes
 10998  	// precedence over this sourceVersion (at the project level).
 10999  	//
 11000  	// For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html)
 11001  	// in the CodeBuild User Guide.
 11002  	SourceVersion *string `locationName:"sourceVersion" type:"string"`
 11003  
 11004  	// A list of tag key and value pairs associated with this build project.
 11005  	//
 11006  	// These tags are available for use by Amazon Web Services services that support
 11007  	// CodeBuild build project tags.
 11008  	Tags []*Tag `locationName:"tags" type:"list"`
 11009  
 11010  	// How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before
 11011  	// timing out any related build that did not get marked as completed. The default
 11012  	// is 60 minutes.
 11013  	TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"`
 11014  
 11015  	// Information about the VPC configuration that CodeBuild accesses.
 11016  	VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"`
 11017  
 11018  	// Information about a webhook that connects repository events to a build project
 11019  	// in CodeBuild.
 11020  	Webhook *Webhook `locationName:"webhook" type:"structure"`
 11021  }
 11022  
 11023  // String returns the string representation.
 11024  //
 11025  // API parameter values that are decorated as "sensitive" in the API will not
 11026  // be included in the string output. The member name will be present, but the
 11027  // value will be replaced with "sensitive".
 11028  func (s Project) String() string {
 11029  	return awsutil.Prettify(s)
 11030  }
 11031  
 11032  // GoString returns the string representation.
 11033  //
 11034  // API parameter values that are decorated as "sensitive" in the API will not
 11035  // be included in the string output. The member name will be present, but the
 11036  // value will be replaced with "sensitive".
 11037  func (s Project) GoString() string {
 11038  	return s.String()
 11039  }
 11040  
 11041  // SetArn sets the Arn field's value.
 11042  func (s *Project) SetArn(v string) *Project {
 11043  	s.Arn = &v
 11044  	return s
 11045  }
 11046  
 11047  // SetArtifacts sets the Artifacts field's value.
 11048  func (s *Project) SetArtifacts(v *ProjectArtifacts) *Project {
 11049  	s.Artifacts = v
 11050  	return s
 11051  }
 11052  
 11053  // SetBadge sets the Badge field's value.
 11054  func (s *Project) SetBadge(v *ProjectBadge) *Project {
 11055  	s.Badge = v
 11056  	return s
 11057  }
 11058  
 11059  // SetBuildBatchConfig sets the BuildBatchConfig field's value.
 11060  func (s *Project) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *Project {
 11061  	s.BuildBatchConfig = v
 11062  	return s
 11063  }
 11064  
 11065  // SetCache sets the Cache field's value.
 11066  func (s *Project) SetCache(v *ProjectCache) *Project {
 11067  	s.Cache = v
 11068  	return s
 11069  }
 11070  
 11071  // SetConcurrentBuildLimit sets the ConcurrentBuildLimit field's value.
 11072  func (s *Project) SetConcurrentBuildLimit(v int64) *Project {
 11073  	s.ConcurrentBuildLimit = &v
 11074  	return s
 11075  }
 11076  
 11077  // SetCreated sets the Created field's value.
 11078  func (s *Project) SetCreated(v time.Time) *Project {
 11079  	s.Created = &v
 11080  	return s
 11081  }
 11082  
 11083  // SetDescription sets the Description field's value.
 11084  func (s *Project) SetDescription(v string) *Project {
 11085  	s.Description = &v
 11086  	return s
 11087  }
 11088  
 11089  // SetEncryptionKey sets the EncryptionKey field's value.
 11090  func (s *Project) SetEncryptionKey(v string) *Project {
 11091  	s.EncryptionKey = &v
 11092  	return s
 11093  }
 11094  
 11095  // SetEnvironment sets the Environment field's value.
 11096  func (s *Project) SetEnvironment(v *ProjectEnvironment) *Project {
 11097  	s.Environment = v
 11098  	return s
 11099  }
 11100  
 11101  // SetFileSystemLocations sets the FileSystemLocations field's value.
 11102  func (s *Project) SetFileSystemLocations(v []*ProjectFileSystemLocation) *Project {
 11103  	s.FileSystemLocations = v
 11104  	return s
 11105  }
 11106  
 11107  // SetLastModified sets the LastModified field's value.
 11108  func (s *Project) SetLastModified(v time.Time) *Project {
 11109  	s.LastModified = &v
 11110  	return s
 11111  }
 11112  
 11113  // SetLogsConfig sets the LogsConfig field's value.
 11114  func (s *Project) SetLogsConfig(v *LogsConfig) *Project {
 11115  	s.LogsConfig = v
 11116  	return s
 11117  }
 11118  
 11119  // SetName sets the Name field's value.
 11120  func (s *Project) SetName(v string) *Project {
 11121  	s.Name = &v
 11122  	return s
 11123  }
 11124  
 11125  // SetProjectVisibility sets the ProjectVisibility field's value.
 11126  func (s *Project) SetProjectVisibility(v string) *Project {
 11127  	s.ProjectVisibility = &v
 11128  	return s
 11129  }
 11130  
 11131  // SetPublicProjectAlias sets the PublicProjectAlias field's value.
 11132  func (s *Project) SetPublicProjectAlias(v string) *Project {
 11133  	s.PublicProjectAlias = &v
 11134  	return s
 11135  }
 11136  
 11137  // SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value.
 11138  func (s *Project) SetQueuedTimeoutInMinutes(v int64) *Project {
 11139  	s.QueuedTimeoutInMinutes = &v
 11140  	return s
 11141  }
 11142  
 11143  // SetResourceAccessRole sets the ResourceAccessRole field's value.
 11144  func (s *Project) SetResourceAccessRole(v string) *Project {
 11145  	s.ResourceAccessRole = &v
 11146  	return s
 11147  }
 11148  
 11149  // SetSecondaryArtifacts sets the SecondaryArtifacts field's value.
 11150  func (s *Project) SetSecondaryArtifacts(v []*ProjectArtifacts) *Project {
 11151  	s.SecondaryArtifacts = v
 11152  	return s
 11153  }
 11154  
 11155  // SetSecondarySourceVersions sets the SecondarySourceVersions field's value.
 11156  func (s *Project) SetSecondarySourceVersions(v []*ProjectSourceVersion) *Project {
 11157  	s.SecondarySourceVersions = v
 11158  	return s
 11159  }
 11160  
 11161  // SetSecondarySources sets the SecondarySources field's value.
 11162  func (s *Project) SetSecondarySources(v []*ProjectSource) *Project {
 11163  	s.SecondarySources = v
 11164  	return s
 11165  }
 11166  
 11167  // SetServiceRole sets the ServiceRole field's value.
 11168  func (s *Project) SetServiceRole(v string) *Project {
 11169  	s.ServiceRole = &v
 11170  	return s
 11171  }
 11172  
 11173  // SetSource sets the Source field's value.
 11174  func (s *Project) SetSource(v *ProjectSource) *Project {
 11175  	s.Source = v
 11176  	return s
 11177  }
 11178  
 11179  // SetSourceVersion sets the SourceVersion field's value.
 11180  func (s *Project) SetSourceVersion(v string) *Project {
 11181  	s.SourceVersion = &v
 11182  	return s
 11183  }
 11184  
 11185  // SetTags sets the Tags field's value.
 11186  func (s *Project) SetTags(v []*Tag) *Project {
 11187  	s.Tags = v
 11188  	return s
 11189  }
 11190  
 11191  // SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
 11192  func (s *Project) SetTimeoutInMinutes(v int64) *Project {
 11193  	s.TimeoutInMinutes = &v
 11194  	return s
 11195  }
 11196  
 11197  // SetVpcConfig sets the VpcConfig field's value.
 11198  func (s *Project) SetVpcConfig(v *VpcConfig) *Project {
 11199  	s.VpcConfig = v
 11200  	return s
 11201  }
 11202  
 11203  // SetWebhook sets the Webhook field's value.
 11204  func (s *Project) SetWebhook(v *Webhook) *Project {
 11205  	s.Webhook = v
 11206  	return s
 11207  }
 11208  
 11209  // Information about the build output artifacts for the build project.
 11210  type ProjectArtifacts struct {
 11211  	_ struct{} `type:"structure"`
 11212  
 11213  	// An identifier for this artifact definition.
 11214  	ArtifactIdentifier *string `locationName:"artifactIdentifier" type:"string"`
 11215  
 11216  	// Specifies the bucket owner's access for objects that another account uploads
 11217  	// to their Amazon S3 bucket. By default, only the account that uploads the
 11218  	// objects to the bucket has access to these objects. This property allows you
 11219  	// to give the bucket owner access to these objects.
 11220  	//
 11221  	// To use this property, your CodeBuild service role must have the s3:PutBucketAcl
 11222  	// permission. This permission allows CodeBuild to modify the access control
 11223  	// list for the bucket.
 11224  	//
 11225  	// This property can be one of the following values:
 11226  	//
 11227  	// NONE
 11228  	//
 11229  	// The bucket owner does not have access to the objects. This is the default.
 11230  	//
 11231  	// READ_ONLY
 11232  	//
 11233  	// The bucket owner has read-only access to the objects. The uploading account
 11234  	// retains ownership of the objects.
 11235  	//
 11236  	// FULL
 11237  	//
 11238  	// The bucket owner has full access to the objects. Object ownership is determined
 11239  	// by the following criteria:
 11240  	//
 11241  	//    * If the bucket is configured with the Bucket owner preferred setting,
 11242  	//    the bucket owner owns the objects. The uploading account will have object
 11243  	//    access as specified by the bucket's policy.
 11244  	//
 11245  	//    * Otherwise, the uploading account retains ownership of the objects.
 11246  	//
 11247  	// For more information about Amazon S3 object ownership, see Controlling ownership
 11248  	// of uploaded objects using S3 Object Ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
 11249  	// in the Amazon Simple Storage Service User Guide.
 11250  	BucketOwnerAccess *string `locationName:"bucketOwnerAccess" type:"string" enum:"BucketOwnerAccess"`
 11251  
 11252  	// Set to true if you do not want your output artifacts encrypted. This option
 11253  	// is valid only if your artifacts type is Amazon S3. If this is set with another
 11254  	// artifacts type, an invalidInputException is thrown.
 11255  	EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"`
 11256  
 11257  	// Information about the build output artifact location:
 11258  	//
 11259  	//    * If type is set to CODEPIPELINE, CodePipeline ignores this value if specified.
 11260  	//    This is because CodePipeline manages its build output locations instead
 11261  	//    of CodeBuild.
 11262  	//
 11263  	//    * If type is set to NO_ARTIFACTS, this value is ignored if specified,
 11264  	//    because no build output is produced.
 11265  	//
 11266  	//    * If type is set to S3, this is the name of the output bucket.
 11267  	Location *string `locationName:"location" type:"string"`
 11268  
 11269  	// Along with path and namespaceType, the pattern that CodeBuild uses to name
 11270  	// and store the output artifact:
 11271  	//
 11272  	//    * If type is set to CODEPIPELINE, CodePipeline ignores this value if specified.
 11273  	//    This is because CodePipeline manages its build output names instead of
 11274  	//    CodeBuild.
 11275  	//
 11276  	//    * If type is set to NO_ARTIFACTS, this value is ignored if specified,
 11277  	//    because no build output is produced.
 11278  	//
 11279  	//    * If type is set to S3, this is the name of the output artifact object.
 11280  	//    If you set the name to be a forward slash ("/"), the artifact is stored
 11281  	//    in the root of the output bucket.
 11282  	//
 11283  	// For example:
 11284  	//
 11285  	//    * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and
 11286  	//    name is set to MyArtifact.zip, then the output artifact is stored in MyArtifacts/<build-ID>/MyArtifact.zip.
 11287  	//
 11288  	//    * If path is empty, namespaceType is set to NONE, and name is set to "/",
 11289  	//    the output artifact is stored in the root of the output bucket.
 11290  	//
 11291  	//    * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and
 11292  	//    name is set to "/", the output artifact is stored in MyArtifacts/<build-ID>.
 11293  	Name *string `locationName:"name" type:"string"`
 11294  
 11295  	// Along with path and name, the pattern that CodeBuild uses to determine the
 11296  	// name and location to store the output artifact:
 11297  	//
 11298  	//    * If type is set to CODEPIPELINE, CodePipeline ignores this value if specified.
 11299  	//    This is because CodePipeline manages its build output names instead of
 11300  	//    CodeBuild.
 11301  	//
 11302  	//    * If type is set to NO_ARTIFACTS, this value is ignored if specified,
 11303  	//    because no build output is produced.
 11304  	//
 11305  	//    * If type is set to S3, valid values include: BUILD_ID: Include the build
 11306  	//    ID in the location of the build output artifact. NONE: Do not include
 11307  	//    the build ID. This is the default if namespaceType is not specified.
 11308  	//
 11309  	// For example, if path is set to MyArtifacts, namespaceType is set to BUILD_ID,
 11310  	// and name is set to MyArtifact.zip, the output artifact is stored in MyArtifacts/<build-ID>/MyArtifact.zip.
 11311  	NamespaceType *string `locationName:"namespaceType" type:"string" enum:"ArtifactNamespace"`
 11312  
 11313  	// If this flag is set, a name specified in the buildspec file overrides the
 11314  	// artifact name. The name specified in a buildspec file is calculated at build
 11315  	// time and uses the Shell Command Language. For example, you can append a date
 11316  	// and time to your artifact name so that it is always unique.
 11317  	OverrideArtifactName *bool `locationName:"overrideArtifactName" type:"boolean"`
 11318  
 11319  	// The type of build output artifact to create:
 11320  	//
 11321  	//    * If type is set to CODEPIPELINE, CodePipeline ignores this value if specified.
 11322  	//    This is because CodePipeline manages its build output artifacts instead
 11323  	//    of CodeBuild.
 11324  	//
 11325  	//    * If type is set to NO_ARTIFACTS, this value is ignored if specified,
 11326  	//    because no build output is produced.
 11327  	//
 11328  	//    * If type is set to S3, valid values include: NONE: CodeBuild creates
 11329  	//    in the output bucket a folder that contains the build output. This is
 11330  	//    the default if packaging is not specified. ZIP: CodeBuild creates in the
 11331  	//    output bucket a ZIP file that contains the build output.
 11332  	Packaging *string `locationName:"packaging" type:"string" enum:"ArtifactPackaging"`
 11333  
 11334  	// Along with namespaceType and name, the pattern that CodeBuild uses to name
 11335  	// and store the output artifact:
 11336  	//
 11337  	//    * If type is set to CODEPIPELINE, CodePipeline ignores this value if specified.
 11338  	//    This is because CodePipeline manages its build output names instead of
 11339  	//    CodeBuild.
 11340  	//
 11341  	//    * If type is set to NO_ARTIFACTS, this value is ignored if specified,
 11342  	//    because no build output is produced.
 11343  	//
 11344  	//    * If type is set to S3, this is the path to the output artifact. If path
 11345  	//    is not specified, path is not used.
 11346  	//
 11347  	// For example, if path is set to MyArtifacts, namespaceType is set to NONE,
 11348  	// and name is set to MyArtifact.zip, the output artifact is stored in the output
 11349  	// bucket at MyArtifacts/MyArtifact.zip.
 11350  	Path *string `locationName:"path" type:"string"`
 11351  
 11352  	// The type of build output artifact. Valid values include:
 11353  	//
 11354  	//    * CODEPIPELINE: The build project has build output generated through CodePipeline.
 11355  	//    The CODEPIPELINE type is not supported for secondaryArtifacts.
 11356  	//
 11357  	//    * NO_ARTIFACTS: The build project does not produce any build output.
 11358  	//
 11359  	//    * S3: The build project stores build output in Amazon S3.
 11360  	//
 11361  	// Type is a required field
 11362  	Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactsType"`
 11363  }
 11364  
 11365  // String returns the string representation.
 11366  //
 11367  // API parameter values that are decorated as "sensitive" in the API will not
 11368  // be included in the string output. The member name will be present, but the
 11369  // value will be replaced with "sensitive".
 11370  func (s ProjectArtifacts) String() string {
 11371  	return awsutil.Prettify(s)
 11372  }
 11373  
 11374  // GoString returns the string representation.
 11375  //
 11376  // API parameter values that are decorated as "sensitive" in the API will not
 11377  // be included in the string output. The member name will be present, but the
 11378  // value will be replaced with "sensitive".
 11379  func (s ProjectArtifacts) GoString() string {
 11380  	return s.String()
 11381  }
 11382  
 11383  // Validate inspects the fields of the type to determine if they are valid.
 11384  func (s *ProjectArtifacts) Validate() error {
 11385  	invalidParams := request.ErrInvalidParams{Context: "ProjectArtifacts"}
 11386  	if s.Type == nil {
 11387  		invalidParams.Add(request.NewErrParamRequired("Type"))
 11388  	}
 11389  
 11390  	if invalidParams.Len() > 0 {
 11391  		return invalidParams
 11392  	}
 11393  	return nil
 11394  }
 11395  
 11396  // SetArtifactIdentifier sets the ArtifactIdentifier field's value.
 11397  func (s *ProjectArtifacts) SetArtifactIdentifier(v string) *ProjectArtifacts {
 11398  	s.ArtifactIdentifier = &v
 11399  	return s
 11400  }
 11401  
 11402  // SetBucketOwnerAccess sets the BucketOwnerAccess field's value.
 11403  func (s *ProjectArtifacts) SetBucketOwnerAccess(v string) *ProjectArtifacts {
 11404  	s.BucketOwnerAccess = &v
 11405  	return s
 11406  }
 11407  
 11408  // SetEncryptionDisabled sets the EncryptionDisabled field's value.
 11409  func (s *ProjectArtifacts) SetEncryptionDisabled(v bool) *ProjectArtifacts {
 11410  	s.EncryptionDisabled = &v
 11411  	return s
 11412  }
 11413  
 11414  // SetLocation sets the Location field's value.
 11415  func (s *ProjectArtifacts) SetLocation(v string) *ProjectArtifacts {
 11416  	s.Location = &v
 11417  	return s
 11418  }
 11419  
 11420  // SetName sets the Name field's value.
 11421  func (s *ProjectArtifacts) SetName(v string) *ProjectArtifacts {
 11422  	s.Name = &v
 11423  	return s
 11424  }
 11425  
 11426  // SetNamespaceType sets the NamespaceType field's value.
 11427  func (s *ProjectArtifacts) SetNamespaceType(v string) *ProjectArtifacts {
 11428  	s.NamespaceType = &v
 11429  	return s
 11430  }
 11431  
 11432  // SetOverrideArtifactName sets the OverrideArtifactName field's value.
 11433  func (s *ProjectArtifacts) SetOverrideArtifactName(v bool) *ProjectArtifacts {
 11434  	s.OverrideArtifactName = &v
 11435  	return s
 11436  }
 11437  
 11438  // SetPackaging sets the Packaging field's value.
 11439  func (s *ProjectArtifacts) SetPackaging(v string) *ProjectArtifacts {
 11440  	s.Packaging = &v
 11441  	return s
 11442  }
 11443  
 11444  // SetPath sets the Path field's value.
 11445  func (s *ProjectArtifacts) SetPath(v string) *ProjectArtifacts {
 11446  	s.Path = &v
 11447  	return s
 11448  }
 11449  
 11450  // SetType sets the Type field's value.
 11451  func (s *ProjectArtifacts) SetType(v string) *ProjectArtifacts {
 11452  	s.Type = &v
 11453  	return s
 11454  }
 11455  
 11456  // Information about the build badge for the build project.
 11457  type ProjectBadge struct {
 11458  	_ struct{} `type:"structure"`
 11459  
 11460  	// Set this to true to generate a publicly accessible URL for your project's
 11461  	// build badge.
 11462  	BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"`
 11463  
 11464  	// The publicly-accessible URL through which you can access the build badge
 11465  	// for your project.
 11466  	BadgeRequestUrl *string `locationName:"badgeRequestUrl" type:"string"`
 11467  }
 11468  
 11469  // String returns the string representation.
 11470  //
 11471  // API parameter values that are decorated as "sensitive" in the API will not
 11472  // be included in the string output. The member name will be present, but the
 11473  // value will be replaced with "sensitive".
 11474  func (s ProjectBadge) String() string {
 11475  	return awsutil.Prettify(s)
 11476  }
 11477  
 11478  // GoString returns the string representation.
 11479  //
 11480  // API parameter values that are decorated as "sensitive" in the API will not
 11481  // be included in the string output. The member name will be present, but the
 11482  // value will be replaced with "sensitive".
 11483  func (s ProjectBadge) GoString() string {
 11484  	return s.String()
 11485  }
 11486  
 11487  // SetBadgeEnabled sets the BadgeEnabled field's value.
 11488  func (s *ProjectBadge) SetBadgeEnabled(v bool) *ProjectBadge {
 11489  	s.BadgeEnabled = &v
 11490  	return s
 11491  }
 11492  
 11493  // SetBadgeRequestUrl sets the BadgeRequestUrl field's value.
 11494  func (s *ProjectBadge) SetBadgeRequestUrl(v string) *ProjectBadge {
 11495  	s.BadgeRequestUrl = &v
 11496  	return s
 11497  }
 11498  
 11499  // Contains configuration information about a batch build project.
 11500  type ProjectBuildBatchConfig struct {
 11501  	_ struct{} `type:"structure"`
 11502  
 11503  	// Specifies how build status reports are sent to the source provider for the
 11504  	// batch build. This property is only used when the source provider for your
 11505  	// project is Bitbucket, GitHub, or GitHub Enterprise, and your project is configured
 11506  	// to report build statuses to the source provider.
 11507  	//
 11508  	// REPORT_AGGREGATED_BATCH
 11509  	//
 11510  	// (Default) Aggregate all of the build statuses into a single status report.
 11511  	//
 11512  	// REPORT_INDIVIDUAL_BUILDS
 11513  	//
 11514  	// Send a separate status report for each individual build.
 11515  	BatchReportMode *string `locationName:"batchReportMode" type:"string" enum:"BatchReportModeType"`
 11516  
 11517  	// Specifies if the build artifacts for the batch build should be combined into
 11518  	// a single artifact location.
 11519  	CombineArtifacts *bool `locationName:"combineArtifacts" type:"boolean"`
 11520  
 11521  	// A BatchRestrictions object that specifies the restrictions for the batch
 11522  	// build.
 11523  	Restrictions *BatchRestrictions `locationName:"restrictions" type:"structure"`
 11524  
 11525  	// Specifies the service role ARN for the batch build project.
 11526  	ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"`
 11527  
 11528  	// Specifies the maximum amount of time, in minutes, that the batch build must
 11529  	// be completed in.
 11530  	TimeoutInMins *int64 `locationName:"timeoutInMins" type:"integer"`
 11531  }
 11532  
 11533  // String returns the string representation.
 11534  //
 11535  // API parameter values that are decorated as "sensitive" in the API will not
 11536  // be included in the string output. The member name will be present, but the
 11537  // value will be replaced with "sensitive".
 11538  func (s ProjectBuildBatchConfig) String() string {
 11539  	return awsutil.Prettify(s)
 11540  }
 11541  
 11542  // GoString returns the string representation.
 11543  //
 11544  // API parameter values that are decorated as "sensitive" in the API will not
 11545  // be included in the string output. The member name will be present, but the
 11546  // value will be replaced with "sensitive".
 11547  func (s ProjectBuildBatchConfig) GoString() string {
 11548  	return s.String()
 11549  }
 11550  
 11551  // Validate inspects the fields of the type to determine if they are valid.
 11552  func (s *ProjectBuildBatchConfig) Validate() error {
 11553  	invalidParams := request.ErrInvalidParams{Context: "ProjectBuildBatchConfig"}
 11554  	if s.ServiceRole != nil && len(*s.ServiceRole) < 1 {
 11555  		invalidParams.Add(request.NewErrParamMinLen("ServiceRole", 1))
 11556  	}
 11557  
 11558  	if invalidParams.Len() > 0 {
 11559  		return invalidParams
 11560  	}
 11561  	return nil
 11562  }
 11563  
 11564  // SetBatchReportMode sets the BatchReportMode field's value.
 11565  func (s *ProjectBuildBatchConfig) SetBatchReportMode(v string) *ProjectBuildBatchConfig {
 11566  	s.BatchReportMode = &v
 11567  	return s
 11568  }
 11569  
 11570  // SetCombineArtifacts sets the CombineArtifacts field's value.
 11571  func (s *ProjectBuildBatchConfig) SetCombineArtifacts(v bool) *ProjectBuildBatchConfig {
 11572  	s.CombineArtifacts = &v
 11573  	return s
 11574  }
 11575  
 11576  // SetRestrictions sets the Restrictions field's value.
 11577  func (s *ProjectBuildBatchConfig) SetRestrictions(v *BatchRestrictions) *ProjectBuildBatchConfig {
 11578  	s.Restrictions = v
 11579  	return s
 11580  }
 11581  
 11582  // SetServiceRole sets the ServiceRole field's value.
 11583  func (s *ProjectBuildBatchConfig) SetServiceRole(v string) *ProjectBuildBatchConfig {
 11584  	s.ServiceRole = &v
 11585  	return s
 11586  }
 11587  
 11588  // SetTimeoutInMins sets the TimeoutInMins field's value.
 11589  func (s *ProjectBuildBatchConfig) SetTimeoutInMins(v int64) *ProjectBuildBatchConfig {
 11590  	s.TimeoutInMins = &v
 11591  	return s
 11592  }
 11593  
 11594  // Information about the cache for the build project.
 11595  type ProjectCache struct {
 11596  	_ struct{} `type:"structure"`
 11597  
 11598  	// Information about the cache location:
 11599  	//
 11600  	//    * NO_CACHE or LOCAL: This value is ignored.
 11601  	//
 11602  	//    * S3: This is the S3 bucket name/prefix.
 11603  	Location *string `locationName:"location" type:"string"`
 11604  
 11605  	// An array of strings that specify the local cache modes. You can use one or
 11606  	// more local cache modes at the same time. This is only used for LOCAL cache
 11607  	// types.
 11608  	//
 11609  	// Possible values are:
 11610  	//
 11611  	// LOCAL_SOURCE_CACHE
 11612  	//
 11613  	// Caches Git metadata for primary and secondary sources. After the cache is
 11614  	// created, subsequent builds pull only the change between commits. This mode
 11615  	// is a good choice for projects with a clean working directory and a source
 11616  	// that is a large Git repository. If you choose this option and your project
 11617  	// does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket),
 11618  	// the option is ignored.
 11619  	//
 11620  	// LOCAL_DOCKER_LAYER_CACHE
 11621  	//
 11622  	// Caches existing Docker layers. This mode is a good choice for projects that
 11623  	// build or pull large Docker images. It can prevent the performance issues
 11624  	// caused by pulling large Docker images down from the network.
 11625  	//
 11626  	//    * You can use a Docker layer cache in the Linux environment only.
 11627  	//
 11628  	//    * The privileged flag must be set so that your project has the required
 11629  	//    Docker permissions.
 11630  	//
 11631  	//    * You should consider the security implications before you use a Docker
 11632  	//    layer cache.
 11633  	//
 11634  	// LOCAL_CUSTOM_CACHE
 11635  	//
 11636  	// Caches directories you specify in the buildspec file. This mode is a good
 11637  	// choice if your build scenario is not suited to one of the other three local
 11638  	// cache modes. If you use a custom cache:
 11639  	//
 11640  	//    * Only directories can be specified for caching. You cannot specify individual
 11641  	//    files.
 11642  	//
 11643  	//    * Symlinks are used to reference cached directories.
 11644  	//
 11645  	//    * Cached directories are linked to your build before it downloads its
 11646  	//    project sources. Cached items are overridden if a source item has the
 11647  	//    same name. Directories are specified using cache paths in the buildspec
 11648  	//    file.
 11649  	Modes []*string `locationName:"modes" type:"list"`
 11650  
 11651  	// The type of cache used by the build project. Valid values include:
 11652  	//
 11653  	//    * NO_CACHE: The build project does not use any cache.
 11654  	//
 11655  	//    * S3: The build project reads and writes from and to S3.
 11656  	//
 11657  	//    * LOCAL: The build project stores a cache locally on a build host that
 11658  	//    is only available to that build host.
 11659  	//
 11660  	// Type is a required field
 11661  	Type *string `locationName:"type" type:"string" required:"true" enum:"CacheType"`
 11662  }
 11663  
 11664  // String returns the string representation.
 11665  //
 11666  // API parameter values that are decorated as "sensitive" in the API will not
 11667  // be included in the string output. The member name will be present, but the
 11668  // value will be replaced with "sensitive".
 11669  func (s ProjectCache) String() string {
 11670  	return awsutil.Prettify(s)
 11671  }
 11672  
 11673  // GoString returns the string representation.
 11674  //
 11675  // API parameter values that are decorated as "sensitive" in the API will not
 11676  // be included in the string output. The member name will be present, but the
 11677  // value will be replaced with "sensitive".
 11678  func (s ProjectCache) GoString() string {
 11679  	return s.String()
 11680  }
 11681  
 11682  // Validate inspects the fields of the type to determine if they are valid.
 11683  func (s *ProjectCache) Validate() error {
 11684  	invalidParams := request.ErrInvalidParams{Context: "ProjectCache"}
 11685  	if s.Type == nil {
 11686  		invalidParams.Add(request.NewErrParamRequired("Type"))
 11687  	}
 11688  
 11689  	if invalidParams.Len() > 0 {
 11690  		return invalidParams
 11691  	}
 11692  	return nil
 11693  }
 11694  
 11695  // SetLocation sets the Location field's value.
 11696  func (s *ProjectCache) SetLocation(v string) *ProjectCache {
 11697  	s.Location = &v
 11698  	return s
 11699  }
 11700  
 11701  // SetModes sets the Modes field's value.
 11702  func (s *ProjectCache) SetModes(v []*string) *ProjectCache {
 11703  	s.Modes = v
 11704  	return s
 11705  }
 11706  
 11707  // SetType sets the Type field's value.
 11708  func (s *ProjectCache) SetType(v string) *ProjectCache {
 11709  	s.Type = &v
 11710  	return s
 11711  }
 11712  
 11713  // Information about the build environment of the build project.
 11714  type ProjectEnvironment struct {
 11715  	_ struct{} `type:"structure"`
 11716  
 11717  	// The ARN of the Amazon S3 bucket, path prefix, and object key that contains
 11718  	// the PEM-encoded certificate for the build project. For more information,
 11719  	// see certificate (https://docs.aws.amazon.com/codebuild/latest/userguide/create-project-cli.html#cli.environment.certificate)
 11720  	// in the CodeBuild User Guide.
 11721  	Certificate *string `locationName:"certificate" type:"string"`
 11722  
 11723  	// Information about the compute resources the build project uses. Available
 11724  	// values include:
 11725  	//
 11726  	//    * BUILD_GENERAL1_SMALL: Use up to 3 GB memory and 2 vCPUs for builds.
 11727  	//
 11728  	//    * BUILD_GENERAL1_MEDIUM: Use up to 7 GB memory and 4 vCPUs for builds.
 11729  	//
 11730  	//    * BUILD_GENERAL1_LARGE: Use up to 16 GB memory and 8 vCPUs for builds,
 11731  	//    depending on your environment type.
 11732  	//
 11733  	//    * BUILD_GENERAL1_2XLARGE: Use up to 145 GB memory, 72 vCPUs, and 824 GB
 11734  	//    of SSD storage for builds. This compute type supports Docker images up
 11735  	//    to 100 GB uncompressed.
 11736  	//
 11737  	// If you use BUILD_GENERAL1_LARGE:
 11738  	//
 11739  	//    * For environment type LINUX_CONTAINER, you can use up to 15 GB memory
 11740  	//    and 8 vCPUs for builds.
 11741  	//
 11742  	//    * For environment type LINUX_GPU_CONTAINER, you can use up to 255 GB memory,
 11743  	//    32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds.
 11744  	//
 11745  	//    * For environment type ARM_CONTAINER, you can use up to 16 GB memory and
 11746  	//    8 vCPUs on ARM-based processors for builds.
 11747  	//
 11748  	// For more information, see Build Environment Compute Types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html)
 11749  	// in the CodeBuild User Guide.
 11750  	//
 11751  	// ComputeType is a required field
 11752  	ComputeType *string `locationName:"computeType" type:"string" required:"true" enum:"ComputeType"`
 11753  
 11754  	// A set of environment variables to make available to builds for this build
 11755  	// project.
 11756  	EnvironmentVariables []*EnvironmentVariable `locationName:"environmentVariables" type:"list"`
 11757  
 11758  	// The image tag or image digest that identifies the Docker image to use for
 11759  	// this build project. Use the following formats:
 11760  	//
 11761  	//    * For an image tag: <registry>/<repository>:<tag>. For example, in the
 11762  	//    Docker repository that CodeBuild uses to manage its Docker images, this
 11763  	//    would be aws/codebuild/standard:4.0.
 11764  	//
 11765  	//    * For an image digest: <registry>/<repository>@<digest>. For example,
 11766  	//    to specify an image with the digest "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf,"
 11767  	//    use <registry>/<repository>@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf.
 11768  	//
 11769  	// For more information, see Docker images provided by CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html)
 11770  	// in the CodeBuild user guide.
 11771  	//
 11772  	// Image is a required field
 11773  	Image *string `locationName:"image" min:"1" type:"string" required:"true"`
 11774  
 11775  	// The type of credentials CodeBuild uses to pull images in your build. There
 11776  	// are two valid values:
 11777  	//
 11778  	//    * CODEBUILD specifies that CodeBuild uses its own credentials. This requires
 11779  	//    that you modify your ECR repository policy to trust CodeBuild service
 11780  	//    principal.
 11781  	//
 11782  	//    * SERVICE_ROLE specifies that CodeBuild uses your build project's service
 11783  	//    role.
 11784  	//
 11785  	// When you use a cross-account or private registry image, you must use SERVICE_ROLE
 11786  	// credentials. When you use an CodeBuild curated image, you must use CODEBUILD
 11787  	// credentials.
 11788  	ImagePullCredentialsType *string `locationName:"imagePullCredentialsType" type:"string" enum:"ImagePullCredentialsType"`
 11789  
 11790  	// Enables running the Docker daemon inside a Docker container. Set to true
 11791  	// only if the build project is used to build Docker images. Otherwise, a build
 11792  	// that attempts to interact with the Docker daemon fails. The default setting
 11793  	// is false.
 11794  	//
 11795  	// You can initialize the Docker daemon during the install phase of your build
 11796  	// by adding one of the following sets of commands to the install phase of your
 11797  	// buildspec file:
 11798  	//
 11799  	// If the operating system's base image is Ubuntu Linux:
 11800  	//
 11801  	// - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375
 11802  	// --storage-driver=overlay&
 11803  	//
 11804  	// - timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
 11805  	//
 11806  	// If the operating system's base image is Alpine Linux and the previous command
 11807  	// does not work, add the -t argument to timeout:
 11808  	//
 11809  	// - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://0.0.0.0:2375
 11810  	// --storage-driver=overlay&
 11811  	//
 11812  	// - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done"
 11813  	PrivilegedMode *bool `locationName:"privilegedMode" type:"boolean"`
 11814  
 11815  	// The credentials for access to a private registry.
 11816  	RegistryCredential *RegistryCredential `locationName:"registryCredential" type:"structure"`
 11817  
 11818  	// The type of build environment to use for related builds.
 11819  	//
 11820  	//    * The environment type ARM_CONTAINER is available only in regions US East
 11821  	//    (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific
 11822  	//    (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and EU (Frankfurt).
 11823  	//
 11824  	//    * The environment type LINUX_CONTAINER with compute type build.general1.2xlarge
 11825  	//    is available only in regions US East (N. Virginia), US East (Ohio), US
 11826  	//    West (Oregon), Canada (Central), EU (Ireland), EU (London), EU (Frankfurt),
 11827  	//    Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore),
 11828  	//    Asia Pacific (Sydney), China (Beijing), and China (Ningxia).
 11829  	//
 11830  	//    * The environment type LINUX_GPU_CONTAINER is available only in regions
 11831  	//    US East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central),
 11832  	//    EU (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo), Asia
 11833  	//    Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney) , China
 11834  	//    (Beijing), and China (Ningxia).
 11835  	//
 11836  	//    * The environment types WINDOWS_CONTAINER and WINDOWS_SERVER_2019_CONTAINER
 11837  	//    are available only in regions US East (N. Virginia), US East (Ohio), US
 11838  	//    West (Oregon), and EU (Ireland).
 11839  	//
 11840  	// For more information, see Build environment compute types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html)
 11841  	// in the CodeBuild user guide.
 11842  	//
 11843  	// Type is a required field
 11844  	Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentType"`
 11845  }
 11846  
 11847  // String returns the string representation.
 11848  //
 11849  // API parameter values that are decorated as "sensitive" in the API will not
 11850  // be included in the string output. The member name will be present, but the
 11851  // value will be replaced with "sensitive".
 11852  func (s ProjectEnvironment) String() string {
 11853  	return awsutil.Prettify(s)
 11854  }
 11855  
 11856  // GoString returns the string representation.
 11857  //
 11858  // API parameter values that are decorated as "sensitive" in the API will not
 11859  // be included in the string output. The member name will be present, but the
 11860  // value will be replaced with "sensitive".
 11861  func (s ProjectEnvironment) GoString() string {
 11862  	return s.String()
 11863  }
 11864  
 11865  // Validate inspects the fields of the type to determine if they are valid.
 11866  func (s *ProjectEnvironment) Validate() error {
 11867  	invalidParams := request.ErrInvalidParams{Context: "ProjectEnvironment"}
 11868  	if s.ComputeType == nil {
 11869  		invalidParams.Add(request.NewErrParamRequired("ComputeType"))
 11870  	}
 11871  	if s.Image == nil {
 11872  		invalidParams.Add(request.NewErrParamRequired("Image"))
 11873  	}
 11874  	if s.Image != nil && len(*s.Image) < 1 {
 11875  		invalidParams.Add(request.NewErrParamMinLen("Image", 1))
 11876  	}
 11877  	if s.Type == nil {
 11878  		invalidParams.Add(request.NewErrParamRequired("Type"))
 11879  	}
 11880  	if s.EnvironmentVariables != nil {
 11881  		for i, v := range s.EnvironmentVariables {
 11882  			if v == nil {
 11883  				continue
 11884  			}
 11885  			if err := v.Validate(); err != nil {
 11886  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentVariables", i), err.(request.ErrInvalidParams))
 11887  			}
 11888  		}
 11889  	}
 11890  	if s.RegistryCredential != nil {
 11891  		if err := s.RegistryCredential.Validate(); err != nil {
 11892  			invalidParams.AddNested("RegistryCredential", err.(request.ErrInvalidParams))
 11893  		}
 11894  	}
 11895  
 11896  	if invalidParams.Len() > 0 {
 11897  		return invalidParams
 11898  	}
 11899  	return nil
 11900  }
 11901  
 11902  // SetCertificate sets the Certificate field's value.
 11903  func (s *ProjectEnvironment) SetCertificate(v string) *ProjectEnvironment {
 11904  	s.Certificate = &v
 11905  	return s
 11906  }
 11907  
 11908  // SetComputeType sets the ComputeType field's value.
 11909  func (s *ProjectEnvironment) SetComputeType(v string) *ProjectEnvironment {
 11910  	s.ComputeType = &v
 11911  	return s
 11912  }
 11913  
 11914  // SetEnvironmentVariables sets the EnvironmentVariables field's value.
 11915  func (s *ProjectEnvironment) SetEnvironmentVariables(v []*EnvironmentVariable) *ProjectEnvironment {
 11916  	s.EnvironmentVariables = v
 11917  	return s
 11918  }
 11919  
 11920  // SetImage sets the Image field's value.
 11921  func (s *ProjectEnvironment) SetImage(v string) *ProjectEnvironment {
 11922  	s.Image = &v
 11923  	return s
 11924  }
 11925  
 11926  // SetImagePullCredentialsType sets the ImagePullCredentialsType field's value.
 11927  func (s *ProjectEnvironment) SetImagePullCredentialsType(v string) *ProjectEnvironment {
 11928  	s.ImagePullCredentialsType = &v
 11929  	return s
 11930  }
 11931  
 11932  // SetPrivilegedMode sets the PrivilegedMode field's value.
 11933  func (s *ProjectEnvironment) SetPrivilegedMode(v bool) *ProjectEnvironment {
 11934  	s.PrivilegedMode = &v
 11935  	return s
 11936  }
 11937  
 11938  // SetRegistryCredential sets the RegistryCredential field's value.
 11939  func (s *ProjectEnvironment) SetRegistryCredential(v *RegistryCredential) *ProjectEnvironment {
 11940  	s.RegistryCredential = v
 11941  	return s
 11942  }
 11943  
 11944  // SetType sets the Type field's value.
 11945  func (s *ProjectEnvironment) SetType(v string) *ProjectEnvironment {
 11946  	s.Type = &v
 11947  	return s
 11948  }
 11949  
 11950  // Information about a file system created by Amazon Elastic File System (EFS).
 11951  // For more information, see What Is Amazon Elastic File System? (https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html)
 11952  type ProjectFileSystemLocation struct {
 11953  	_ struct{} `type:"structure"`
 11954  
 11955  	// The name used to access a file system created by Amazon EFS. CodeBuild creates
 11956  	// an environment variable by appending the identifier in all capital letters
 11957  	// to CODEBUILD_. For example, if you specify my_efs for identifier, a new environment
 11958  	// variable is create named CODEBUILD_MY_EFS.
 11959  	//
 11960  	// The identifier is used to mount your file system.
 11961  	Identifier *string `locationName:"identifier" type:"string"`
 11962  
 11963  	// A string that specifies the location of the file system created by Amazon
 11964  	// EFS. Its format is efs-dns-name:/directory-path. You can find the DNS name
 11965  	// of file system when you view it in the Amazon EFS console. The directory
 11966  	// path is a path to a directory in the file system that CodeBuild mounts. For
 11967  	// example, if the DNS name of a file system is fs-abcd1234.efs.us-west-2.amazonaws.com,
 11968  	// and its mount directory is my-efs-mount-directory, then the location is fs-abcd1234.efs.us-west-2.amazonaws.com:/my-efs-mount-directory.
 11969  	//
 11970  	// The directory path in the format efs-dns-name:/directory-path is optional.
 11971  	// If you do not specify a directory path, the location is only the DNS name
 11972  	// and CodeBuild mounts the entire file system.
 11973  	Location *string `locationName:"location" type:"string"`
 11974  
 11975  	// The mount options for a file system created by Amazon EFS. The default mount
 11976  	// options used by CodeBuild are nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2.
 11977  	// For more information, see Recommended NFS Mount Options (https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html).
 11978  	MountOptions *string `locationName:"mountOptions" type:"string"`
 11979  
 11980  	// The location in the container where you mount the file system.
 11981  	MountPoint *string `locationName:"mountPoint" type:"string"`
 11982  
 11983  	// The type of the file system. The one supported type is EFS.
 11984  	Type *string `locationName:"type" type:"string" enum:"FileSystemType"`
 11985  }
 11986  
 11987  // String returns the string representation.
 11988  //
 11989  // API parameter values that are decorated as "sensitive" in the API will not
 11990  // be included in the string output. The member name will be present, but the
 11991  // value will be replaced with "sensitive".
 11992  func (s ProjectFileSystemLocation) String() string {
 11993  	return awsutil.Prettify(s)
 11994  }
 11995  
 11996  // GoString returns the string representation.
 11997  //
 11998  // API parameter values that are decorated as "sensitive" in the API will not
 11999  // be included in the string output. The member name will be present, but the
 12000  // value will be replaced with "sensitive".
 12001  func (s ProjectFileSystemLocation) GoString() string {
 12002  	return s.String()
 12003  }
 12004  
 12005  // SetIdentifier sets the Identifier field's value.
 12006  func (s *ProjectFileSystemLocation) SetIdentifier(v string) *ProjectFileSystemLocation {
 12007  	s.Identifier = &v
 12008  	return s
 12009  }
 12010  
 12011  // SetLocation sets the Location field's value.
 12012  func (s *ProjectFileSystemLocation) SetLocation(v string) *ProjectFileSystemLocation {
 12013  	s.Location = &v
 12014  	return s
 12015  }
 12016  
 12017  // SetMountOptions sets the MountOptions field's value.
 12018  func (s *ProjectFileSystemLocation) SetMountOptions(v string) *ProjectFileSystemLocation {
 12019  	s.MountOptions = &v
 12020  	return s
 12021  }
 12022  
 12023  // SetMountPoint sets the MountPoint field's value.
 12024  func (s *ProjectFileSystemLocation) SetMountPoint(v string) *ProjectFileSystemLocation {
 12025  	s.MountPoint = &v
 12026  	return s
 12027  }
 12028  
 12029  // SetType sets the Type field's value.
 12030  func (s *ProjectFileSystemLocation) SetType(v string) *ProjectFileSystemLocation {
 12031  	s.Type = &v
 12032  	return s
 12033  }
 12034  
 12035  // Information about the build input source code for the build project.
 12036  type ProjectSource struct {
 12037  	_ struct{} `type:"structure"`
 12038  
 12039  	// Information about the authorization settings for CodeBuild to access the
 12040  	// source code to be built.
 12041  	//
 12042  	// This information is for the CodeBuild console's use only. Your code should
 12043  	// not get or set this information directly.
 12044  	Auth *SourceAuth `locationName:"auth" type:"structure"`
 12045  
 12046  	// Contains information that defines how the build project reports the build
 12047  	// status to the source provider. This option is only used when the source provider
 12048  	// is GITHUB, GITHUB_ENTERPRISE, or BITBUCKET.
 12049  	BuildStatusConfig *BuildStatusConfig `locationName:"buildStatusConfig" type:"structure"`
 12050  
 12051  	// The buildspec file declaration to use for the builds in this build project.
 12052  	//
 12053  	// If this value is set, it can be either an inline buildspec definition, the
 12054  	// path to an alternate buildspec file relative to the value of the built-in
 12055  	// CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The
 12056  	// bucket must be in the same Amazon Web Services Region as the build project.
 12057  	// Specify the buildspec file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml).
 12058  	// If this value is not provided or is set to an empty string, the source code
 12059  	// must contain a buildspec file in its root directory. For more information,
 12060  	// see Buildspec File Name and Storage Location (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage).
 12061  	Buildspec *string `locationName:"buildspec" type:"string"`
 12062  
 12063  	// Information about the Git clone depth for the build project.
 12064  	GitCloneDepth *int64 `locationName:"gitCloneDepth" type:"integer"`
 12065  
 12066  	// Information about the Git submodules configuration for the build project.
 12067  	GitSubmodulesConfig *GitSubmodulesConfig `locationName:"gitSubmodulesConfig" type:"structure"`
 12068  
 12069  	// Enable this flag to ignore SSL warnings while connecting to the project source
 12070  	// code.
 12071  	InsecureSsl *bool `locationName:"insecureSsl" type:"boolean"`
 12072  
 12073  	// Information about the location of the source code to be built. Valid values
 12074  	// include:
 12075  	//
 12076  	//    * For source code settings that are specified in the source action of
 12077  	//    a pipeline in CodePipeline, location should not be specified. If it is
 12078  	//    specified, CodePipeline ignores it. This is because CodePipeline uses
 12079  	//    the settings in a pipeline's source action instead of this value.
 12080  	//
 12081  	//    * For source code in an CodeCommit repository, the HTTPS clone URL to
 12082  	//    the repository that contains the source code and the buildspec file (for
 12083  	//    example, https://git-codecommit.<region-ID>.amazonaws.com/v1/repos/<repo-name>).
 12084  	//
 12085  	//    * For source code in an Amazon S3 input bucket, one of the following.
 12086  	//    The path to the ZIP file that contains the source code (for example, <bucket-name>/<path>/<object-name>.zip).
 12087  	//    The path to the folder that contains the source code (for example, <bucket-name>/<path-to-source-code>/<folder>/).
 12088  	//
 12089  	//    * For source code in a GitHub repository, the HTTPS clone URL to the repository
 12090  	//    that contains the source and the buildspec file. You must connect your
 12091  	//    Amazon Web Services account to your GitHub account. Use the CodeBuild
 12092  	//    console to start creating a build project. When you use the console to
 12093  	//    connect (or reconnect) with GitHub, on the GitHub Authorize application
 12094  	//    page, for Organization access, choose Request access next to each repository
 12095  	//    you want to allow CodeBuild to have access to, and then choose Authorize
 12096  	//    application. (After you have connected to your GitHub account, you do
 12097  	//    not need to finish creating the build project. You can leave the CodeBuild
 12098  	//    console.) To instruct CodeBuild to use this connection, in the source
 12099  	//    object, set the auth object's type value to OAUTH.
 12100  	//
 12101  	//    * For source code in a Bitbucket repository, the HTTPS clone URL to the
 12102  	//    repository that contains the source and the buildspec file. You must connect
 12103  	//    your Amazon Web Services account to your Bitbucket account. Use the CodeBuild
 12104  	//    console to start creating a build project. When you use the console to
 12105  	//    connect (or reconnect) with Bitbucket, on the Bitbucket Confirm access
 12106  	//    to your account page, choose Grant access. (After you have connected to
 12107  	//    your Bitbucket account, you do not need to finish creating the build project.
 12108  	//    You can leave the CodeBuild console.) To instruct CodeBuild to use this
 12109  	//    connection, in the source object, set the auth object's type value to
 12110  	//    OAUTH.
 12111  	//
 12112  	// If you specify CODEPIPELINE for the Type property, don't specify this property.
 12113  	// For all of the other types, you must specify Location.
 12114  	Location *string `locationName:"location" type:"string"`
 12115  
 12116  	// Set to true to report the status of a build's start and finish to your source
 12117  	// provider. This option is valid only when your source provider is GitHub,
 12118  	// GitHub Enterprise, or Bitbucket. If this is set and you use a different source
 12119  	// provider, an invalidInputException is thrown.
 12120  	//
 12121  	// To be able to report the build status to the source provider, the user associated
 12122  	// with the source provider must have write access to the repo. If the user
 12123  	// does not have write access, the build status cannot be updated. For more
 12124  	// information, see Source provider access (https://docs.aws.amazon.com/codebuild/latest/userguide/access-tokens.html)
 12125  	// in the CodeBuild User Guide.
 12126  	//
 12127  	// The status of a build triggered by a webhook is always reported to your source
 12128  	// provider.
 12129  	//
 12130  	// If your project's builds are triggered by a webhook, you must push a new
 12131  	// commit to the repo for a change to this property to take effect.
 12132  	ReportBuildStatus *bool `locationName:"reportBuildStatus" type:"boolean"`
 12133  
 12134  	// An identifier for this project source. The identifier can only contain alphanumeric
 12135  	// characters and underscores, and must be less than 128 characters in length.
 12136  	SourceIdentifier *string `locationName:"sourceIdentifier" type:"string"`
 12137  
 12138  	// The type of repository that contains the source code to be built. Valid values
 12139  	// include:
 12140  	//
 12141  	//    * BITBUCKET: The source code is in a Bitbucket repository.
 12142  	//
 12143  	//    * CODECOMMIT: The source code is in an CodeCommit repository.
 12144  	//
 12145  	//    * CODEPIPELINE: The source code settings are specified in the source action
 12146  	//    of a pipeline in CodePipeline.
 12147  	//
 12148  	//    * GITHUB: The source code is in a GitHub or GitHub Enterprise Cloud repository.
 12149  	//
 12150  	//    * GITHUB_ENTERPRISE: The source code is in a GitHub Enterprise Server
 12151  	//    repository.
 12152  	//
 12153  	//    * NO_SOURCE: The project does not have input source code.
 12154  	//
 12155  	//    * S3: The source code is in an Amazon S3 bucket.
 12156  	//
 12157  	// Type is a required field
 12158  	Type *string `locationName:"type" type:"string" required:"true" enum:"SourceType"`
 12159  }
 12160  
 12161  // String returns the string representation.
 12162  //
 12163  // API parameter values that are decorated as "sensitive" in the API will not
 12164  // be included in the string output. The member name will be present, but the
 12165  // value will be replaced with "sensitive".
 12166  func (s ProjectSource) String() string {
 12167  	return awsutil.Prettify(s)
 12168  }
 12169  
 12170  // GoString returns the string representation.
 12171  //
 12172  // API parameter values that are decorated as "sensitive" in the API will not
 12173  // be included in the string output. The member name will be present, but the
 12174  // value will be replaced with "sensitive".
 12175  func (s ProjectSource) GoString() string {
 12176  	return s.String()
 12177  }
 12178  
 12179  // Validate inspects the fields of the type to determine if they are valid.
 12180  func (s *ProjectSource) Validate() error {
 12181  	invalidParams := request.ErrInvalidParams{Context: "ProjectSource"}
 12182  	if s.Type == nil {
 12183  		invalidParams.Add(request.NewErrParamRequired("Type"))
 12184  	}
 12185  	if s.Auth != nil {
 12186  		if err := s.Auth.Validate(); err != nil {
 12187  			invalidParams.AddNested("Auth", err.(request.ErrInvalidParams))
 12188  		}
 12189  	}
 12190  	if s.GitSubmodulesConfig != nil {
 12191  		if err := s.GitSubmodulesConfig.Validate(); err != nil {
 12192  			invalidParams.AddNested("GitSubmodulesConfig", err.(request.ErrInvalidParams))
 12193  		}
 12194  	}
 12195  
 12196  	if invalidParams.Len() > 0 {
 12197  		return invalidParams
 12198  	}
 12199  	return nil
 12200  }
 12201  
 12202  // SetAuth sets the Auth field's value.
 12203  func (s *ProjectSource) SetAuth(v *SourceAuth) *ProjectSource {
 12204  	s.Auth = v
 12205  	return s
 12206  }
 12207  
 12208  // SetBuildStatusConfig sets the BuildStatusConfig field's value.
 12209  func (s *ProjectSource) SetBuildStatusConfig(v *BuildStatusConfig) *ProjectSource {
 12210  	s.BuildStatusConfig = v
 12211  	return s
 12212  }
 12213  
 12214  // SetBuildspec sets the Buildspec field's value.
 12215  func (s *ProjectSource) SetBuildspec(v string) *ProjectSource {
 12216  	s.Buildspec = &v
 12217  	return s
 12218  }
 12219  
 12220  // SetGitCloneDepth sets the GitCloneDepth field's value.
 12221  func (s *ProjectSource) SetGitCloneDepth(v int64) *ProjectSource {
 12222  	s.GitCloneDepth = &v
 12223  	return s
 12224  }
 12225  
 12226  // SetGitSubmodulesConfig sets the GitSubmodulesConfig field's value.
 12227  func (s *ProjectSource) SetGitSubmodulesConfig(v *GitSubmodulesConfig) *ProjectSource {
 12228  	s.GitSubmodulesConfig = v
 12229  	return s
 12230  }
 12231  
 12232  // SetInsecureSsl sets the InsecureSsl field's value.
 12233  func (s *ProjectSource) SetInsecureSsl(v bool) *ProjectSource {
 12234  	s.InsecureSsl = &v
 12235  	return s
 12236  }
 12237  
 12238  // SetLocation sets the Location field's value.
 12239  func (s *ProjectSource) SetLocation(v string) *ProjectSource {
 12240  	s.Location = &v
 12241  	return s
 12242  }
 12243  
 12244  // SetReportBuildStatus sets the ReportBuildStatus field's value.
 12245  func (s *ProjectSource) SetReportBuildStatus(v bool) *ProjectSource {
 12246  	s.ReportBuildStatus = &v
 12247  	return s
 12248  }
 12249  
 12250  // SetSourceIdentifier sets the SourceIdentifier field's value.
 12251  func (s *ProjectSource) SetSourceIdentifier(v string) *ProjectSource {
 12252  	s.SourceIdentifier = &v
 12253  	return s
 12254  }
 12255  
 12256  // SetType sets the Type field's value.
 12257  func (s *ProjectSource) SetType(v string) *ProjectSource {
 12258  	s.Type = &v
 12259  	return s
 12260  }
 12261  
 12262  // A source identifier and its corresponding version.
 12263  type ProjectSourceVersion struct {
 12264  	_ struct{} `type:"structure"`
 12265  
 12266  	// An identifier for a source in the build project. The identifier can only
 12267  	// contain alphanumeric characters and underscores, and must be less than 128
 12268  	// characters in length.
 12269  	//
 12270  	// SourceIdentifier is a required field
 12271  	SourceIdentifier *string `locationName:"sourceIdentifier" type:"string" required:"true"`
 12272  
 12273  	// The source version for the corresponding source identifier. If specified,
 12274  	// must be one of:
 12275  	//
 12276  	//    * For CodeCommit: the commit ID, branch, or Git tag to use.
 12277  	//
 12278  	//    * For GitHub: the commit ID, pull request ID, branch name, or tag name
 12279  	//    that corresponds to the version of the source code you want to build.
 12280  	//    If a pull request ID is specified, it must use the format pr/pull-request-ID
 12281  	//    (for example, pr/25). If a branch name is specified, the branch's HEAD
 12282  	//    commit ID is used. If not specified, the default branch's HEAD commit
 12283  	//    ID is used.
 12284  	//
 12285  	//    * For Bitbucket: the commit ID, branch name, or tag name that corresponds
 12286  	//    to the version of the source code you want to build. If a branch name
 12287  	//    is specified, the branch's HEAD commit ID is used. If not specified, the
 12288  	//    default branch's HEAD commit ID is used.
 12289  	//
 12290  	//    * For Amazon S3: the version ID of the object that represents the build
 12291  	//    input ZIP file to use.
 12292  	//
 12293  	// For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html)
 12294  	// in the CodeBuild User Guide.
 12295  	//
 12296  	// SourceVersion is a required field
 12297  	SourceVersion *string `locationName:"sourceVersion" type:"string" required:"true"`
 12298  }
 12299  
 12300  // String returns the string representation.
 12301  //
 12302  // API parameter values that are decorated as "sensitive" in the API will not
 12303  // be included in the string output. The member name will be present, but the
 12304  // value will be replaced with "sensitive".
 12305  func (s ProjectSourceVersion) String() string {
 12306  	return awsutil.Prettify(s)
 12307  }
 12308  
 12309  // GoString returns the string representation.
 12310  //
 12311  // API parameter values that are decorated as "sensitive" in the API will not
 12312  // be included in the string output. The member name will be present, but the
 12313  // value will be replaced with "sensitive".
 12314  func (s ProjectSourceVersion) GoString() string {
 12315  	return s.String()
 12316  }
 12317  
 12318  // Validate inspects the fields of the type to determine if they are valid.
 12319  func (s *ProjectSourceVersion) Validate() error {
 12320  	invalidParams := request.ErrInvalidParams{Context: "ProjectSourceVersion"}
 12321  	if s.SourceIdentifier == nil {
 12322  		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
 12323  	}
 12324  	if s.SourceVersion == nil {
 12325  		invalidParams.Add(request.NewErrParamRequired("SourceVersion"))
 12326  	}
 12327  
 12328  	if invalidParams.Len() > 0 {
 12329  		return invalidParams
 12330  	}
 12331  	return nil
 12332  }
 12333  
 12334  // SetSourceIdentifier sets the SourceIdentifier field's value.
 12335  func (s *ProjectSourceVersion) SetSourceIdentifier(v string) *ProjectSourceVersion {
 12336  	s.SourceIdentifier = &v
 12337  	return s
 12338  }
 12339  
 12340  // SetSourceVersion sets the SourceVersion field's value.
 12341  func (s *ProjectSourceVersion) SetSourceVersion(v string) *ProjectSourceVersion {
 12342  	s.SourceVersion = &v
 12343  	return s
 12344  }
 12345  
 12346  type PutResourcePolicyInput struct {
 12347  	_ struct{} `type:"structure"`
 12348  
 12349  	// A JSON-formatted resource policy. For more information, see Sharing a Project
 12350  	// (https://docs.aws.amazon.com/codebuild/latest/userguide/project-sharing.html#project-sharing-share)
 12351  	// and Sharing a Report Group (https://docs.aws.amazon.com/codebuild/latest/userguide/report-groups-sharing.html#report-groups-sharing-share)
 12352  	// in the CodeBuild User Guide.
 12353  	//
 12354  	// Policy is a required field
 12355  	Policy *string `locationName:"policy" min:"1" type:"string" required:"true"`
 12356  
 12357  	// The ARN of the Project or ReportGroup resource you want to associate with
 12358  	// a resource policy.
 12359  	//
 12360  	// ResourceArn is a required field
 12361  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"`
 12362  }
 12363  
 12364  // String returns the string representation.
 12365  //
 12366  // API parameter values that are decorated as "sensitive" in the API will not
 12367  // be included in the string output. The member name will be present, but the
 12368  // value will be replaced with "sensitive".
 12369  func (s PutResourcePolicyInput) String() string {
 12370  	return awsutil.Prettify(s)
 12371  }
 12372  
 12373  // GoString returns the string representation.
 12374  //
 12375  // API parameter values that are decorated as "sensitive" in the API will not
 12376  // be included in the string output. The member name will be present, but the
 12377  // value will be replaced with "sensitive".
 12378  func (s PutResourcePolicyInput) GoString() string {
 12379  	return s.String()
 12380  }
 12381  
 12382  // Validate inspects the fields of the type to determine if they are valid.
 12383  func (s *PutResourcePolicyInput) Validate() error {
 12384  	invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"}
 12385  	if s.Policy == nil {
 12386  		invalidParams.Add(request.NewErrParamRequired("Policy"))
 12387  	}
 12388  	if s.Policy != nil && len(*s.Policy) < 1 {
 12389  		invalidParams.Add(request.NewErrParamMinLen("Policy", 1))
 12390  	}
 12391  	if s.ResourceArn == nil {
 12392  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 12393  	}
 12394  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 12395  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 12396  	}
 12397  
 12398  	if invalidParams.Len() > 0 {
 12399  		return invalidParams
 12400  	}
 12401  	return nil
 12402  }
 12403  
 12404  // SetPolicy sets the Policy field's value.
 12405  func (s *PutResourcePolicyInput) SetPolicy(v string) *PutResourcePolicyInput {
 12406  	s.Policy = &v
 12407  	return s
 12408  }
 12409  
 12410  // SetResourceArn sets the ResourceArn field's value.
 12411  func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput {
 12412  	s.ResourceArn = &v
 12413  	return s
 12414  }
 12415  
 12416  type PutResourcePolicyOutput struct {
 12417  	_ struct{} `type:"structure"`
 12418  
 12419  	// The ARN of the Project or ReportGroup resource that is associated with a
 12420  	// resource policy.
 12421  	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
 12422  }
 12423  
 12424  // String returns the string representation.
 12425  //
 12426  // API parameter values that are decorated as "sensitive" in the API will not
 12427  // be included in the string output. The member name will be present, but the
 12428  // value will be replaced with "sensitive".
 12429  func (s PutResourcePolicyOutput) String() string {
 12430  	return awsutil.Prettify(s)
 12431  }
 12432  
 12433  // GoString returns the string representation.
 12434  //
 12435  // API parameter values that are decorated as "sensitive" in the API will not
 12436  // be included in the string output. The member name will be present, but the
 12437  // value will be replaced with "sensitive".
 12438  func (s PutResourcePolicyOutput) GoString() string {
 12439  	return s.String()
 12440  }
 12441  
 12442  // SetResourceArn sets the ResourceArn field's value.
 12443  func (s *PutResourcePolicyOutput) SetResourceArn(v string) *PutResourcePolicyOutput {
 12444  	s.ResourceArn = &v
 12445  	return s
 12446  }
 12447  
 12448  // Information about credentials that provide access to a private Docker registry.
 12449  // When this is set:
 12450  //
 12451  //    * imagePullCredentialsType must be set to SERVICE_ROLE.
 12452  //
 12453  //    * images cannot be curated or an Amazon ECR image.
 12454  //
 12455  // For more information, see Private Registry with Secrets Manager Sample for
 12456  // CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-private-registry.html).
 12457  type RegistryCredential struct {
 12458  	_ struct{} `type:"structure"`
 12459  
 12460  	// The Amazon Resource Name (ARN) or name of credentials created using Secrets
 12461  	// Manager.
 12462  	//
 12463  	// The credential can use the name of the credentials only if they exist in
 12464  	// your current Amazon Web Services Region.
 12465  	//
 12466  	// Credential is a required field
 12467  	Credential *string `locationName:"credential" min:"1" type:"string" required:"true"`
 12468  
 12469  	// The service that created the credentials to access a private Docker registry.
 12470  	// The valid value, SECRETS_MANAGER, is for Secrets Manager.
 12471  	//
 12472  	// CredentialProvider is a required field
 12473  	CredentialProvider *string `locationName:"credentialProvider" type:"string" required:"true" enum:"CredentialProviderType"`
 12474  }
 12475  
 12476  // String returns the string representation.
 12477  //
 12478  // API parameter values that are decorated as "sensitive" in the API will not
 12479  // be included in the string output. The member name will be present, but the
 12480  // value will be replaced with "sensitive".
 12481  func (s RegistryCredential) String() string {
 12482  	return awsutil.Prettify(s)
 12483  }
 12484  
 12485  // GoString returns the string representation.
 12486  //
 12487  // API parameter values that are decorated as "sensitive" in the API will not
 12488  // be included in the string output. The member name will be present, but the
 12489  // value will be replaced with "sensitive".
 12490  func (s RegistryCredential) GoString() string {
 12491  	return s.String()
 12492  }
 12493  
 12494  // Validate inspects the fields of the type to determine if they are valid.
 12495  func (s *RegistryCredential) Validate() error {
 12496  	invalidParams := request.ErrInvalidParams{Context: "RegistryCredential"}
 12497  	if s.Credential == nil {
 12498  		invalidParams.Add(request.NewErrParamRequired("Credential"))
 12499  	}
 12500  	if s.Credential != nil && len(*s.Credential) < 1 {
 12501  		invalidParams.Add(request.NewErrParamMinLen("Credential", 1))
 12502  	}
 12503  	if s.CredentialProvider == nil {
 12504  		invalidParams.Add(request.NewErrParamRequired("CredentialProvider"))
 12505  	}
 12506  
 12507  	if invalidParams.Len() > 0 {
 12508  		return invalidParams
 12509  	}
 12510  	return nil
 12511  }
 12512  
 12513  // SetCredential sets the Credential field's value.
 12514  func (s *RegistryCredential) SetCredential(v string) *RegistryCredential {
 12515  	s.Credential = &v
 12516  	return s
 12517  }
 12518  
 12519  // SetCredentialProvider sets the CredentialProvider field's value.
 12520  func (s *RegistryCredential) SetCredentialProvider(v string) *RegistryCredential {
 12521  	s.CredentialProvider = &v
 12522  	return s
 12523  }
 12524  
 12525  // Information about the results from running a series of test cases during
 12526  // the run of a build project. The test cases are specified in the buildspec
 12527  // for the build project using one or more paths to the test case files. You
 12528  // can specify any type of tests you want, such as unit tests, integration tests,
 12529  // and functional tests.
 12530  type Report struct {
 12531  	_ struct{} `type:"structure"`
 12532  
 12533  	// The ARN of the report run.
 12534  	Arn *string `locationName:"arn" min:"1" type:"string"`
 12535  
 12536  	// A CodeCoverageReportSummary object that contains a code coverage summary
 12537  	// for this report.
 12538  	CodeCoverageSummary *CodeCoverageReportSummary `locationName:"codeCoverageSummary" type:"structure"`
 12539  
 12540  	// The date and time this report run occurred.
 12541  	Created *time.Time `locationName:"created" type:"timestamp"`
 12542  
 12543  	// The ARN of the build run that generated this report.
 12544  	ExecutionId *string `locationName:"executionId" type:"string"`
 12545  
 12546  	// The date and time a report expires. A report expires 30 days after it is
 12547  	// created. An expired report is not available to view in CodeBuild.
 12548  	Expired *time.Time `locationName:"expired" type:"timestamp"`
 12549  
 12550  	// Information about where the raw data used to generate this report was exported.
 12551  	ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"`
 12552  
 12553  	// The name of the report that was run.
 12554  	Name *string `locationName:"name" type:"string"`
 12555  
 12556  	// The ARN of the report group associated with this report.
 12557  	ReportGroupArn *string `locationName:"reportGroupArn" min:"1" type:"string"`
 12558  
 12559  	// The status of this report.
 12560  	Status *string `locationName:"status" type:"string" enum:"ReportStatusType"`
 12561  
 12562  	// A TestReportSummary object that contains information about this test report.
 12563  	TestSummary *TestReportSummary `locationName:"testSummary" type:"structure"`
 12564  
 12565  	// A boolean that specifies if this report run is truncated. The list of test
 12566  	// cases is truncated after the maximum number of test cases is reached.
 12567  	Truncated *bool `locationName:"truncated" type:"boolean"`
 12568  
 12569  	// The type of the report that was run.
 12570  	//
 12571  	// CODE_COVERAGE
 12572  	//
 12573  	// A code coverage report.
 12574  	//
 12575  	// TEST
 12576  	//
 12577  	// A test report.
 12578  	Type *string `locationName:"type" type:"string" enum:"ReportType"`
 12579  }
 12580  
 12581  // String returns the string representation.
 12582  //
 12583  // API parameter values that are decorated as "sensitive" in the API will not
 12584  // be included in the string output. The member name will be present, but the
 12585  // value will be replaced with "sensitive".
 12586  func (s Report) String() string {
 12587  	return awsutil.Prettify(s)
 12588  }
 12589  
 12590  // GoString returns the string representation.
 12591  //
 12592  // API parameter values that are decorated as "sensitive" in the API will not
 12593  // be included in the string output. The member name will be present, but the
 12594  // value will be replaced with "sensitive".
 12595  func (s Report) GoString() string {
 12596  	return s.String()
 12597  }
 12598  
 12599  // SetArn sets the Arn field's value.
 12600  func (s *Report) SetArn(v string) *Report {
 12601  	s.Arn = &v
 12602  	return s
 12603  }
 12604  
 12605  // SetCodeCoverageSummary sets the CodeCoverageSummary field's value.
 12606  func (s *Report) SetCodeCoverageSummary(v *CodeCoverageReportSummary) *Report {
 12607  	s.CodeCoverageSummary = v
 12608  	return s
 12609  }
 12610  
 12611  // SetCreated sets the Created field's value.
 12612  func (s *Report) SetCreated(v time.Time) *Report {
 12613  	s.Created = &v
 12614  	return s
 12615  }
 12616  
 12617  // SetExecutionId sets the ExecutionId field's value.
 12618  func (s *Report) SetExecutionId(v string) *Report {
 12619  	s.ExecutionId = &v
 12620  	return s
 12621  }
 12622  
 12623  // SetExpired sets the Expired field's value.
 12624  func (s *Report) SetExpired(v time.Time) *Report {
 12625  	s.Expired = &v
 12626  	return s
 12627  }
 12628  
 12629  // SetExportConfig sets the ExportConfig field's value.
 12630  func (s *Report) SetExportConfig(v *ReportExportConfig) *Report {
 12631  	s.ExportConfig = v
 12632  	return s
 12633  }
 12634  
 12635  // SetName sets the Name field's value.
 12636  func (s *Report) SetName(v string) *Report {
 12637  	s.Name = &v
 12638  	return s
 12639  }
 12640  
 12641  // SetReportGroupArn sets the ReportGroupArn field's value.
 12642  func (s *Report) SetReportGroupArn(v string) *Report {
 12643  	s.ReportGroupArn = &v
 12644  	return s
 12645  }
 12646  
 12647  // SetStatus sets the Status field's value.
 12648  func (s *Report) SetStatus(v string) *Report {
 12649  	s.Status = &v
 12650  	return s
 12651  }
 12652  
 12653  // SetTestSummary sets the TestSummary field's value.
 12654  func (s *Report) SetTestSummary(v *TestReportSummary) *Report {
 12655  	s.TestSummary = v
 12656  	return s
 12657  }
 12658  
 12659  // SetTruncated sets the Truncated field's value.
 12660  func (s *Report) SetTruncated(v bool) *Report {
 12661  	s.Truncated = &v
 12662  	return s
 12663  }
 12664  
 12665  // SetType sets the Type field's value.
 12666  func (s *Report) SetType(v string) *Report {
 12667  	s.Type = &v
 12668  	return s
 12669  }
 12670  
 12671  // Information about the location where the run of a report is exported.
 12672  type ReportExportConfig struct {
 12673  	_ struct{} `type:"structure"`
 12674  
 12675  	// The export configuration type. Valid values are:
 12676  	//
 12677  	//    * S3: The report results are exported to an S3 bucket.
 12678  	//
 12679  	//    * NO_EXPORT: The report results are not exported.
 12680  	ExportConfigType *string `locationName:"exportConfigType" type:"string" enum:"ReportExportConfigType"`
 12681  
 12682  	// A S3ReportExportConfig object that contains information about the S3 bucket
 12683  	// where the run of a report is exported.
 12684  	S3Destination *S3ReportExportConfig `locationName:"s3Destination" type:"structure"`
 12685  }
 12686  
 12687  // String returns the string representation.
 12688  //
 12689  // API parameter values that are decorated as "sensitive" in the API will not
 12690  // be included in the string output. The member name will be present, but the
 12691  // value will be replaced with "sensitive".
 12692  func (s ReportExportConfig) String() string {
 12693  	return awsutil.Prettify(s)
 12694  }
 12695  
 12696  // GoString returns the string representation.
 12697  //
 12698  // API parameter values that are decorated as "sensitive" in the API will not
 12699  // be included in the string output. The member name will be present, but the
 12700  // value will be replaced with "sensitive".
 12701  func (s ReportExportConfig) GoString() string {
 12702  	return s.String()
 12703  }
 12704  
 12705  // Validate inspects the fields of the type to determine if they are valid.
 12706  func (s *ReportExportConfig) Validate() error {
 12707  	invalidParams := request.ErrInvalidParams{Context: "ReportExportConfig"}
 12708  	if s.S3Destination != nil {
 12709  		if err := s.S3Destination.Validate(); err != nil {
 12710  			invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams))
 12711  		}
 12712  	}
 12713  
 12714  	if invalidParams.Len() > 0 {
 12715  		return invalidParams
 12716  	}
 12717  	return nil
 12718  }
 12719  
 12720  // SetExportConfigType sets the ExportConfigType field's value.
 12721  func (s *ReportExportConfig) SetExportConfigType(v string) *ReportExportConfig {
 12722  	s.ExportConfigType = &v
 12723  	return s
 12724  }
 12725  
 12726  // SetS3Destination sets the S3Destination field's value.
 12727  func (s *ReportExportConfig) SetS3Destination(v *S3ReportExportConfig) *ReportExportConfig {
 12728  	s.S3Destination = v
 12729  	return s
 12730  }
 12731  
 12732  // A filter used to return reports with the status specified by the input status
 12733  // parameter.
 12734  type ReportFilter struct {
 12735  	_ struct{} `type:"structure"`
 12736  
 12737  	// The status used to filter reports. You can filter using one status only.
 12738  	Status *string `locationName:"status" type:"string" enum:"ReportStatusType"`
 12739  }
 12740  
 12741  // String returns the string representation.
 12742  //
 12743  // API parameter values that are decorated as "sensitive" in the API will not
 12744  // be included in the string output. The member name will be present, but the
 12745  // value will be replaced with "sensitive".
 12746  func (s ReportFilter) String() string {
 12747  	return awsutil.Prettify(s)
 12748  }
 12749  
 12750  // GoString returns the string representation.
 12751  //
 12752  // API parameter values that are decorated as "sensitive" in the API will not
 12753  // be included in the string output. The member name will be present, but the
 12754  // value will be replaced with "sensitive".
 12755  func (s ReportFilter) GoString() string {
 12756  	return s.String()
 12757  }
 12758  
 12759  // SetStatus sets the Status field's value.
 12760  func (s *ReportFilter) SetStatus(v string) *ReportFilter {
 12761  	s.Status = &v
 12762  	return s
 12763  }
 12764  
 12765  // A series of reports. Each report contains information about the results from
 12766  // running a series of test cases. You specify the test cases for a report group
 12767  // in the buildspec for a build project using one or more paths to the test
 12768  // case files.
 12769  type ReportGroup struct {
 12770  	_ struct{} `type:"structure"`
 12771  
 12772  	// The ARN of the ReportGroup.
 12773  	Arn *string `locationName:"arn" min:"1" type:"string"`
 12774  
 12775  	// The date and time this ReportGroup was created.
 12776  	Created *time.Time `locationName:"created" type:"timestamp"`
 12777  
 12778  	// Information about the destination where the raw data of this ReportGroup
 12779  	// is exported.
 12780  	ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"`
 12781  
 12782  	// The date and time this ReportGroup was last modified.
 12783  	LastModified *time.Time `locationName:"lastModified" type:"timestamp"`
 12784  
 12785  	// The name of the ReportGroup.
 12786  	Name *string `locationName:"name" min:"2" type:"string"`
 12787  
 12788  	// The status of the report group. This property is read-only.
 12789  	//
 12790  	// This can be one of the following values:
 12791  	//
 12792  	// ACTIVE
 12793  	//
 12794  	// The report group is active.
 12795  	//
 12796  	// DELETING
 12797  	//
 12798  	// The report group is in the process of being deleted.
 12799  	Status *string `locationName:"status" type:"string" enum:"ReportGroupStatusType"`
 12800  
 12801  	// A list of tag key and value pairs associated with this report group.
 12802  	//
 12803  	// These tags are available for use by Amazon Web Services services that support
 12804  	// CodeBuild report group tags.
 12805  	Tags []*Tag `locationName:"tags" type:"list"`
 12806  
 12807  	// The type of the ReportGroup. This can be one of the following values:
 12808  	//
 12809  	// CODE_COVERAGE
 12810  	//
 12811  	// The report group contains code coverage reports.
 12812  	//
 12813  	// TEST
 12814  	//
 12815  	// The report group contains test reports.
 12816  	Type *string `locationName:"type" type:"string" enum:"ReportType"`
 12817  }
 12818  
 12819  // String returns the string representation.
 12820  //
 12821  // API parameter values that are decorated as "sensitive" in the API will not
 12822  // be included in the string output. The member name will be present, but the
 12823  // value will be replaced with "sensitive".
 12824  func (s ReportGroup) String() string {
 12825  	return awsutil.Prettify(s)
 12826  }
 12827  
 12828  // GoString returns the string representation.
 12829  //
 12830  // API parameter values that are decorated as "sensitive" in the API will not
 12831  // be included in the string output. The member name will be present, but the
 12832  // value will be replaced with "sensitive".
 12833  func (s ReportGroup) GoString() string {
 12834  	return s.String()
 12835  }
 12836  
 12837  // SetArn sets the Arn field's value.
 12838  func (s *ReportGroup) SetArn(v string) *ReportGroup {
 12839  	s.Arn = &v
 12840  	return s
 12841  }
 12842  
 12843  // SetCreated sets the Created field's value.
 12844  func (s *ReportGroup) SetCreated(v time.Time) *ReportGroup {
 12845  	s.Created = &v
 12846  	return s
 12847  }
 12848  
 12849  // SetExportConfig sets the ExportConfig field's value.
 12850  func (s *ReportGroup) SetExportConfig(v *ReportExportConfig) *ReportGroup {
 12851  	s.ExportConfig = v
 12852  	return s
 12853  }
 12854  
 12855  // SetLastModified sets the LastModified field's value.
 12856  func (s *ReportGroup) SetLastModified(v time.Time) *ReportGroup {
 12857  	s.LastModified = &v
 12858  	return s
 12859  }
 12860  
 12861  // SetName sets the Name field's value.
 12862  func (s *ReportGroup) SetName(v string) *ReportGroup {
 12863  	s.Name = &v
 12864  	return s
 12865  }
 12866  
 12867  // SetStatus sets the Status field's value.
 12868  func (s *ReportGroup) SetStatus(v string) *ReportGroup {
 12869  	s.Status = &v
 12870  	return s
 12871  }
 12872  
 12873  // SetTags sets the Tags field's value.
 12874  func (s *ReportGroup) SetTags(v []*Tag) *ReportGroup {
 12875  	s.Tags = v
 12876  	return s
 12877  }
 12878  
 12879  // SetType sets the Type field's value.
 12880  func (s *ReportGroup) SetType(v string) *ReportGroup {
 12881  	s.Type = &v
 12882  	return s
 12883  }
 12884  
 12885  // Contains trend statistics for a set of reports. The actual values depend
 12886  // on the type of trend being collected. For more information, see .
 12887  type ReportGroupTrendStats struct {
 12888  	_ struct{} `type:"structure"`
 12889  
 12890  	// Contains the average of all values analyzed.
 12891  	Average *string `locationName:"average" type:"string"`
 12892  
 12893  	// Contains the maximum value analyzed.
 12894  	Max *string `locationName:"max" type:"string"`
 12895  
 12896  	// Contains the minimum value analyzed.
 12897  	Min *string `locationName:"min" type:"string"`
 12898  }
 12899  
 12900  // String returns the string representation.
 12901  //
 12902  // API parameter values that are decorated as "sensitive" in the API will not
 12903  // be included in the string output. The member name will be present, but the
 12904  // value will be replaced with "sensitive".
 12905  func (s ReportGroupTrendStats) String() string {
 12906  	return awsutil.Prettify(s)
 12907  }
 12908  
 12909  // GoString returns the string representation.
 12910  //
 12911  // API parameter values that are decorated as "sensitive" in the API will not
 12912  // be included in the string output. The member name will be present, but the
 12913  // value will be replaced with "sensitive".
 12914  func (s ReportGroupTrendStats) GoString() string {
 12915  	return s.String()
 12916  }
 12917  
 12918  // SetAverage sets the Average field's value.
 12919  func (s *ReportGroupTrendStats) SetAverage(v string) *ReportGroupTrendStats {
 12920  	s.Average = &v
 12921  	return s
 12922  }
 12923  
 12924  // SetMax sets the Max field's value.
 12925  func (s *ReportGroupTrendStats) SetMax(v string) *ReportGroupTrendStats {
 12926  	s.Max = &v
 12927  	return s
 12928  }
 12929  
 12930  // SetMin sets the Min field's value.
 12931  func (s *ReportGroupTrendStats) SetMin(v string) *ReportGroupTrendStats {
 12932  	s.Min = &v
 12933  	return s
 12934  }
 12935  
 12936  // Contains the unmodified data for the report. For more information, see .
 12937  type ReportWithRawData struct {
 12938  	_ struct{} `type:"structure"`
 12939  
 12940  	// The value of the requested data field from the report.
 12941  	Data *string `locationName:"data" type:"string"`
 12942  
 12943  	// The ARN of the report.
 12944  	ReportArn *string `locationName:"reportArn" min:"1" type:"string"`
 12945  }
 12946  
 12947  // String returns the string representation.
 12948  //
 12949  // API parameter values that are decorated as "sensitive" in the API will not
 12950  // be included in the string output. The member name will be present, but the
 12951  // value will be replaced with "sensitive".
 12952  func (s ReportWithRawData) String() string {
 12953  	return awsutil.Prettify(s)
 12954  }
 12955  
 12956  // GoString returns the string representation.
 12957  //
 12958  // API parameter values that are decorated as "sensitive" in the API will not
 12959  // be included in the string output. The member name will be present, but the
 12960  // value will be replaced with "sensitive".
 12961  func (s ReportWithRawData) GoString() string {
 12962  	return s.String()
 12963  }
 12964  
 12965  // SetData sets the Data field's value.
 12966  func (s *ReportWithRawData) SetData(v string) *ReportWithRawData {
 12967  	s.Data = &v
 12968  	return s
 12969  }
 12970  
 12971  // SetReportArn sets the ReportArn field's value.
 12972  func (s *ReportWithRawData) SetReportArn(v string) *ReportWithRawData {
 12973  	s.ReportArn = &v
 12974  	return s
 12975  }
 12976  
 12977  // Represents a resolved build artifact. A resolved artifact is an artifact
 12978  // that is built and deployed to the destination, such as Amazon S3.
 12979  type ResolvedArtifact struct {
 12980  	_ struct{} `type:"structure"`
 12981  
 12982  	// The identifier of the artifact.
 12983  	Identifier *string `locationName:"identifier" type:"string"`
 12984  
 12985  	// The location of the artifact.
 12986  	Location *string `locationName:"location" type:"string"`
 12987  
 12988  	// Specifies the type of artifact.
 12989  	Type *string `locationName:"type" type:"string" enum:"ArtifactsType"`
 12990  }
 12991  
 12992  // String returns the string representation.
 12993  //
 12994  // API parameter values that are decorated as "sensitive" in the API will not
 12995  // be included in the string output. The member name will be present, but the
 12996  // value will be replaced with "sensitive".
 12997  func (s ResolvedArtifact) String() string {
 12998  	return awsutil.Prettify(s)
 12999  }
 13000  
 13001  // GoString returns the string representation.
 13002  //
 13003  // API parameter values that are decorated as "sensitive" in the API will not
 13004  // be included in the string output. The member name will be present, but the
 13005  // value will be replaced with "sensitive".
 13006  func (s ResolvedArtifact) GoString() string {
 13007  	return s.String()
 13008  }
 13009  
 13010  // SetIdentifier sets the Identifier field's value.
 13011  func (s *ResolvedArtifact) SetIdentifier(v string) *ResolvedArtifact {
 13012  	s.Identifier = &v
 13013  	return s
 13014  }
 13015  
 13016  // SetLocation sets the Location field's value.
 13017  func (s *ResolvedArtifact) SetLocation(v string) *ResolvedArtifact {
 13018  	s.Location = &v
 13019  	return s
 13020  }
 13021  
 13022  // SetType sets the Type field's value.
 13023  func (s *ResolvedArtifact) SetType(v string) *ResolvedArtifact {
 13024  	s.Type = &v
 13025  	return s
 13026  }
 13027  
 13028  // The specified Amazon Web Services resource cannot be created, because an
 13029  // Amazon Web Services resource with the same settings already exists.
 13030  type ResourceAlreadyExistsException struct {
 13031  	_            struct{}                  `type:"structure"`
 13032  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13033  
 13034  	Message_ *string `locationName:"message" type:"string"`
 13035  }
 13036  
 13037  // String returns the string representation.
 13038  //
 13039  // API parameter values that are decorated as "sensitive" in the API will not
 13040  // be included in the string output. The member name will be present, but the
 13041  // value will be replaced with "sensitive".
 13042  func (s ResourceAlreadyExistsException) String() string {
 13043  	return awsutil.Prettify(s)
 13044  }
 13045  
 13046  // GoString returns the string representation.
 13047  //
 13048  // API parameter values that are decorated as "sensitive" in the API will not
 13049  // be included in the string output. The member name will be present, but the
 13050  // value will be replaced with "sensitive".
 13051  func (s ResourceAlreadyExistsException) GoString() string {
 13052  	return s.String()
 13053  }
 13054  
 13055  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
 13056  	return &ResourceAlreadyExistsException{
 13057  		RespMetadata: v,
 13058  	}
 13059  }
 13060  
 13061  // Code returns the exception type name.
 13062  func (s *ResourceAlreadyExistsException) Code() string {
 13063  	return "ResourceAlreadyExistsException"
 13064  }
 13065  
 13066  // Message returns the exception's message.
 13067  func (s *ResourceAlreadyExistsException) Message() string {
 13068  	if s.Message_ != nil {
 13069  		return *s.Message_
 13070  	}
 13071  	return ""
 13072  }
 13073  
 13074  // OrigErr always returns nil, satisfies awserr.Error interface.
 13075  func (s *ResourceAlreadyExistsException) OrigErr() error {
 13076  	return nil
 13077  }
 13078  
 13079  func (s *ResourceAlreadyExistsException) Error() string {
 13080  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13081  }
 13082  
 13083  // Status code returns the HTTP status code for the request's response error.
 13084  func (s *ResourceAlreadyExistsException) StatusCode() int {
 13085  	return s.RespMetadata.StatusCode
 13086  }
 13087  
 13088  // RequestID returns the service's response RequestID for request.
 13089  func (s *ResourceAlreadyExistsException) RequestID() string {
 13090  	return s.RespMetadata.RequestID
 13091  }
 13092  
 13093  // The specified Amazon Web Services resource cannot be found.
 13094  type ResourceNotFoundException struct {
 13095  	_            struct{}                  `type:"structure"`
 13096  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 13097  
 13098  	Message_ *string `locationName:"message" type:"string"`
 13099  }
 13100  
 13101  // String returns the string representation.
 13102  //
 13103  // API parameter values that are decorated as "sensitive" in the API will not
 13104  // be included in the string output. The member name will be present, but the
 13105  // value will be replaced with "sensitive".
 13106  func (s ResourceNotFoundException) String() string {
 13107  	return awsutil.Prettify(s)
 13108  }
 13109  
 13110  // GoString returns the string representation.
 13111  //
 13112  // API parameter values that are decorated as "sensitive" in the API will not
 13113  // be included in the string output. The member name will be present, but the
 13114  // value will be replaced with "sensitive".
 13115  func (s ResourceNotFoundException) GoString() string {
 13116  	return s.String()
 13117  }
 13118  
 13119  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 13120  	return &ResourceNotFoundException{
 13121  		RespMetadata: v,
 13122  	}
 13123  }
 13124  
 13125  // Code returns the exception type name.
 13126  func (s *ResourceNotFoundException) Code() string {
 13127  	return "ResourceNotFoundException"
 13128  }
 13129  
 13130  // Message returns the exception's message.
 13131  func (s *ResourceNotFoundException) Message() string {
 13132  	if s.Message_ != nil {
 13133  		return *s.Message_
 13134  	}
 13135  	return ""
 13136  }
 13137  
 13138  // OrigErr always returns nil, satisfies awserr.Error interface.
 13139  func (s *ResourceNotFoundException) OrigErr() error {
 13140  	return nil
 13141  }
 13142  
 13143  func (s *ResourceNotFoundException) Error() string {
 13144  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13145  }
 13146  
 13147  // Status code returns the HTTP status code for the request's response error.
 13148  func (s *ResourceNotFoundException) StatusCode() int {
 13149  	return s.RespMetadata.StatusCode
 13150  }
 13151  
 13152  // RequestID returns the service's response RequestID for request.
 13153  func (s *ResourceNotFoundException) RequestID() string {
 13154  	return s.RespMetadata.RequestID
 13155  }
 13156  
 13157  type RetryBuildBatchInput struct {
 13158  	_ struct{} `type:"structure"`
 13159  
 13160  	// Specifies the identifier of the batch build to restart.
 13161  	Id *string `locationName:"id" min:"1" type:"string"`
 13162  
 13163  	// A unique, case sensitive identifier you provide to ensure the idempotency
 13164  	// of the RetryBuildBatch request. The token is included in the RetryBuildBatch
 13165  	// request and is valid for five minutes. If you repeat the RetryBuildBatch
 13166  	// request with the same token, but change a parameter, CodeBuild returns a
 13167  	// parameter mismatch error.
 13168  	IdempotencyToken *string `locationName:"idempotencyToken" type:"string"`
 13169  
 13170  	// Specifies the type of retry to perform.
 13171  	RetryType *string `locationName:"retryType" type:"string" enum:"RetryBuildBatchType"`
 13172  }
 13173  
 13174  // String returns the string representation.
 13175  //
 13176  // API parameter values that are decorated as "sensitive" in the API will not
 13177  // be included in the string output. The member name will be present, but the
 13178  // value will be replaced with "sensitive".
 13179  func (s RetryBuildBatchInput) String() string {
 13180  	return awsutil.Prettify(s)
 13181  }
 13182  
 13183  // GoString returns the string representation.
 13184  //
 13185  // API parameter values that are decorated as "sensitive" in the API will not
 13186  // be included in the string output. The member name will be present, but the
 13187  // value will be replaced with "sensitive".
 13188  func (s RetryBuildBatchInput) GoString() string {
 13189  	return s.String()
 13190  }
 13191  
 13192  // Validate inspects the fields of the type to determine if they are valid.
 13193  func (s *RetryBuildBatchInput) Validate() error {
 13194  	invalidParams := request.ErrInvalidParams{Context: "RetryBuildBatchInput"}
 13195  	if s.Id != nil && len(*s.Id) < 1 {
 13196  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 13197  	}
 13198  
 13199  	if invalidParams.Len() > 0 {
 13200  		return invalidParams
 13201  	}
 13202  	return nil
 13203  }
 13204  
 13205  // SetId sets the Id field's value.
 13206  func (s *RetryBuildBatchInput) SetId(v string) *RetryBuildBatchInput {
 13207  	s.Id = &v
 13208  	return s
 13209  }
 13210  
 13211  // SetIdempotencyToken sets the IdempotencyToken field's value.
 13212  func (s *RetryBuildBatchInput) SetIdempotencyToken(v string) *RetryBuildBatchInput {
 13213  	s.IdempotencyToken = &v
 13214  	return s
 13215  }
 13216  
 13217  // SetRetryType sets the RetryType field's value.
 13218  func (s *RetryBuildBatchInput) SetRetryType(v string) *RetryBuildBatchInput {
 13219  	s.RetryType = &v
 13220  	return s
 13221  }
 13222  
 13223  type RetryBuildBatchOutput struct {
 13224  	_ struct{} `type:"structure"`
 13225  
 13226  	// Contains information about a batch build.
 13227  	BuildBatch *BuildBatch `locationName:"buildBatch" type:"structure"`
 13228  }
 13229  
 13230  // String returns the string representation.
 13231  //
 13232  // API parameter values that are decorated as "sensitive" in the API will not
 13233  // be included in the string output. The member name will be present, but the
 13234  // value will be replaced with "sensitive".
 13235  func (s RetryBuildBatchOutput) String() string {
 13236  	return awsutil.Prettify(s)
 13237  }
 13238  
 13239  // GoString returns the string representation.
 13240  //
 13241  // API parameter values that are decorated as "sensitive" in the API will not
 13242  // be included in the string output. The member name will be present, but the
 13243  // value will be replaced with "sensitive".
 13244  func (s RetryBuildBatchOutput) GoString() string {
 13245  	return s.String()
 13246  }
 13247  
 13248  // SetBuildBatch sets the BuildBatch field's value.
 13249  func (s *RetryBuildBatchOutput) SetBuildBatch(v *BuildBatch) *RetryBuildBatchOutput {
 13250  	s.BuildBatch = v
 13251  	return s
 13252  }
 13253  
 13254  type RetryBuildInput struct {
 13255  	_ struct{} `type:"structure"`
 13256  
 13257  	// Specifies the identifier of the build to restart.
 13258  	Id *string `locationName:"id" min:"1" type:"string"`
 13259  
 13260  	// A unique, case sensitive identifier you provide to ensure the idempotency
 13261  	// of the RetryBuild request. The token is included in the RetryBuild request
 13262  	// and is valid for five minutes. If you repeat the RetryBuild request with
 13263  	// the same token, but change a parameter, CodeBuild returns a parameter mismatch
 13264  	// error.
 13265  	IdempotencyToken *string `locationName:"idempotencyToken" type:"string"`
 13266  }
 13267  
 13268  // String returns the string representation.
 13269  //
 13270  // API parameter values that are decorated as "sensitive" in the API will not
 13271  // be included in the string output. The member name will be present, but the
 13272  // value will be replaced with "sensitive".
 13273  func (s RetryBuildInput) String() string {
 13274  	return awsutil.Prettify(s)
 13275  }
 13276  
 13277  // GoString returns the string representation.
 13278  //
 13279  // API parameter values that are decorated as "sensitive" in the API will not
 13280  // be included in the string output. The member name will be present, but the
 13281  // value will be replaced with "sensitive".
 13282  func (s RetryBuildInput) GoString() string {
 13283  	return s.String()
 13284  }
 13285  
 13286  // Validate inspects the fields of the type to determine if they are valid.
 13287  func (s *RetryBuildInput) Validate() error {
 13288  	invalidParams := request.ErrInvalidParams{Context: "RetryBuildInput"}
 13289  	if s.Id != nil && len(*s.Id) < 1 {
 13290  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 13291  	}
 13292  
 13293  	if invalidParams.Len() > 0 {
 13294  		return invalidParams
 13295  	}
 13296  	return nil
 13297  }
 13298  
 13299  // SetId sets the Id field's value.
 13300  func (s *RetryBuildInput) SetId(v string) *RetryBuildInput {
 13301  	s.Id = &v
 13302  	return s
 13303  }
 13304  
 13305  // SetIdempotencyToken sets the IdempotencyToken field's value.
 13306  func (s *RetryBuildInput) SetIdempotencyToken(v string) *RetryBuildInput {
 13307  	s.IdempotencyToken = &v
 13308  	return s
 13309  }
 13310  
 13311  type RetryBuildOutput struct {
 13312  	_ struct{} `type:"structure"`
 13313  
 13314  	// Information about a build.
 13315  	Build *Build `locationName:"build" type:"structure"`
 13316  }
 13317  
 13318  // String returns the string representation.
 13319  //
 13320  // API parameter values that are decorated as "sensitive" in the API will not
 13321  // be included in the string output. The member name will be present, but the
 13322  // value will be replaced with "sensitive".
 13323  func (s RetryBuildOutput) String() string {
 13324  	return awsutil.Prettify(s)
 13325  }
 13326  
 13327  // GoString returns the string representation.
 13328  //
 13329  // API parameter values that are decorated as "sensitive" in the API will not
 13330  // be included in the string output. The member name will be present, but the
 13331  // value will be replaced with "sensitive".
 13332  func (s RetryBuildOutput) GoString() string {
 13333  	return s.String()
 13334  }
 13335  
 13336  // SetBuild sets the Build field's value.
 13337  func (s *RetryBuildOutput) SetBuild(v *Build) *RetryBuildOutput {
 13338  	s.Build = v
 13339  	return s
 13340  }
 13341  
 13342  // Information about S3 logs for a build project.
 13343  type S3LogsConfig struct {
 13344  	_ struct{} `type:"structure"`
 13345  
 13346  	// Specifies the bucket owner's access for objects that another account uploads
 13347  	// to their Amazon S3 bucket. By default, only the account that uploads the
 13348  	// objects to the bucket has access to these objects. This property allows you
 13349  	// to give the bucket owner access to these objects.
 13350  	//
 13351  	// To use this property, your CodeBuild service role must have the s3:PutBucketAcl
 13352  	// permission. This permission allows CodeBuild to modify the access control
 13353  	// list for the bucket.
 13354  	//
 13355  	// This property can be one of the following values:
 13356  	//
 13357  	// NONE
 13358  	//
 13359  	// The bucket owner does not have access to the objects. This is the default.
 13360  	//
 13361  	// READ_ONLY
 13362  	//
 13363  	// The bucket owner has read-only access to the objects. The uploading account
 13364  	// retains ownership of the objects.
 13365  	//
 13366  	// FULL
 13367  	//
 13368  	// The bucket owner has full access to the objects. Object ownership is determined
 13369  	// by the following criteria:
 13370  	//
 13371  	//    * If the bucket is configured with the Bucket owner preferred setting,
 13372  	//    the bucket owner owns the objects. The uploading account will have object
 13373  	//    access as specified by the bucket's policy.
 13374  	//
 13375  	//    * Otherwise, the uploading account retains ownership of the objects.
 13376  	//
 13377  	// For more information about Amazon S3 object ownership, see Controlling ownership
 13378  	// of uploaded objects using S3 Object Ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
 13379  	// in the Amazon Simple Storage Service User Guide.
 13380  	BucketOwnerAccess *string `locationName:"bucketOwnerAccess" type:"string" enum:"BucketOwnerAccess"`
 13381  
 13382  	// Set to true if you do not want your S3 build log output encrypted. By default
 13383  	// S3 build logs are encrypted.
 13384  	EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"`
 13385  
 13386  	// The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3
 13387  	// bucket name is my-bucket, and your path prefix is build-log, then acceptable
 13388  	// formats are my-bucket/build-log or arn:aws:s3:::my-bucket/build-log.
 13389  	Location *string `locationName:"location" type:"string"`
 13390  
 13391  	// The current status of the S3 build logs. Valid values are:
 13392  	//
 13393  	//    * ENABLED: S3 build logs are enabled for this build project.
 13394  	//
 13395  	//    * DISABLED: S3 build logs are not enabled for this build project.
 13396  	//
 13397  	// Status is a required field
 13398  	Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"`
 13399  }
 13400  
 13401  // String returns the string representation.
 13402  //
 13403  // API parameter values that are decorated as "sensitive" in the API will not
 13404  // be included in the string output. The member name will be present, but the
 13405  // value will be replaced with "sensitive".
 13406  func (s S3LogsConfig) String() string {
 13407  	return awsutil.Prettify(s)
 13408  }
 13409  
 13410  // GoString returns the string representation.
 13411  //
 13412  // API parameter values that are decorated as "sensitive" in the API will not
 13413  // be included in the string output. The member name will be present, but the
 13414  // value will be replaced with "sensitive".
 13415  func (s S3LogsConfig) GoString() string {
 13416  	return s.String()
 13417  }
 13418  
 13419  // Validate inspects the fields of the type to determine if they are valid.
 13420  func (s *S3LogsConfig) Validate() error {
 13421  	invalidParams := request.ErrInvalidParams{Context: "S3LogsConfig"}
 13422  	if s.Status == nil {
 13423  		invalidParams.Add(request.NewErrParamRequired("Status"))
 13424  	}
 13425  
 13426  	if invalidParams.Len() > 0 {
 13427  		return invalidParams
 13428  	}
 13429  	return nil
 13430  }
 13431  
 13432  // SetBucketOwnerAccess sets the BucketOwnerAccess field's value.
 13433  func (s *S3LogsConfig) SetBucketOwnerAccess(v string) *S3LogsConfig {
 13434  	s.BucketOwnerAccess = &v
 13435  	return s
 13436  }
 13437  
 13438  // SetEncryptionDisabled sets the EncryptionDisabled field's value.
 13439  func (s *S3LogsConfig) SetEncryptionDisabled(v bool) *S3LogsConfig {
 13440  	s.EncryptionDisabled = &v
 13441  	return s
 13442  }
 13443  
 13444  // SetLocation sets the Location field's value.
 13445  func (s *S3LogsConfig) SetLocation(v string) *S3LogsConfig {
 13446  	s.Location = &v
 13447  	return s
 13448  }
 13449  
 13450  // SetStatus sets the Status field's value.
 13451  func (s *S3LogsConfig) SetStatus(v string) *S3LogsConfig {
 13452  	s.Status = &v
 13453  	return s
 13454  }
 13455  
 13456  // Information about the S3 bucket where the raw data of a report are exported.
 13457  type S3ReportExportConfig struct {
 13458  	_ struct{} `type:"structure"`
 13459  
 13460  	// The name of the S3 bucket where the raw data of a report are exported.
 13461  	Bucket *string `locationName:"bucket" min:"1" type:"string"`
 13462  
 13463  	// The Amazon Web Services account identifier of the owner of the Amazon S3
 13464  	// bucket. This allows report data to be exported to an Amazon S3 bucket that
 13465  	// is owned by an account other than the account running the build.
 13466  	BucketOwner *string `locationName:"bucketOwner" type:"string"`
 13467  
 13468  	// A boolean value that specifies if the results of a report are encrypted.
 13469  	EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"`
 13470  
 13471  	// The encryption key for the report's encrypted raw data.
 13472  	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
 13473  
 13474  	// The type of build output artifact to create. Valid values include:
 13475  	//
 13476  	//    * NONE: CodeBuild creates the raw data in the output bucket. This is the
 13477  	//    default if packaging is not specified.
 13478  	//
 13479  	//    * ZIP: CodeBuild creates a ZIP file with the raw data in the output bucket.
 13480  	Packaging *string `locationName:"packaging" type:"string" enum:"ReportPackagingType"`
 13481  
 13482  	// The path to the exported report's raw data results.
 13483  	Path *string `locationName:"path" type:"string"`
 13484  }
 13485  
 13486  // String returns the string representation.
 13487  //
 13488  // API parameter values that are decorated as "sensitive" in the API will not
 13489  // be included in the string output. The member name will be present, but the
 13490  // value will be replaced with "sensitive".
 13491  func (s S3ReportExportConfig) String() string {
 13492  	return awsutil.Prettify(s)
 13493  }
 13494  
 13495  // GoString returns the string representation.
 13496  //
 13497  // API parameter values that are decorated as "sensitive" in the API will not
 13498  // be included in the string output. The member name will be present, but the
 13499  // value will be replaced with "sensitive".
 13500  func (s S3ReportExportConfig) GoString() string {
 13501  	return s.String()
 13502  }
 13503  
 13504  // Validate inspects the fields of the type to determine if they are valid.
 13505  func (s *S3ReportExportConfig) Validate() error {
 13506  	invalidParams := request.ErrInvalidParams{Context: "S3ReportExportConfig"}
 13507  	if s.Bucket != nil && len(*s.Bucket) < 1 {
 13508  		invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
 13509  	}
 13510  	if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 {
 13511  		invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1))
 13512  	}
 13513  
 13514  	if invalidParams.Len() > 0 {
 13515  		return invalidParams
 13516  	}
 13517  	return nil
 13518  }
 13519  
 13520  // SetBucket sets the Bucket field's value.
 13521  func (s *S3ReportExportConfig) SetBucket(v string) *S3ReportExportConfig {
 13522  	s.Bucket = &v
 13523  	return s
 13524  }
 13525  
 13526  // SetBucketOwner sets the BucketOwner field's value.
 13527  func (s *S3ReportExportConfig) SetBucketOwner(v string) *S3ReportExportConfig {
 13528  	s.BucketOwner = &v
 13529  	return s
 13530  }
 13531  
 13532  // SetEncryptionDisabled sets the EncryptionDisabled field's value.
 13533  func (s *S3ReportExportConfig) SetEncryptionDisabled(v bool) *S3ReportExportConfig {
 13534  	s.EncryptionDisabled = &v
 13535  	return s
 13536  }
 13537  
 13538  // SetEncryptionKey sets the EncryptionKey field's value.
 13539  func (s *S3ReportExportConfig) SetEncryptionKey(v string) *S3ReportExportConfig {
 13540  	s.EncryptionKey = &v
 13541  	return s
 13542  }
 13543  
 13544  // SetPackaging sets the Packaging field's value.
 13545  func (s *S3ReportExportConfig) SetPackaging(v string) *S3ReportExportConfig {
 13546  	s.Packaging = &v
 13547  	return s
 13548  }
 13549  
 13550  // SetPath sets the Path field's value.
 13551  func (s *S3ReportExportConfig) SetPath(v string) *S3ReportExportConfig {
 13552  	s.Path = &v
 13553  	return s
 13554  }
 13555  
 13556  // Information about the authorization settings for CodeBuild to access the
 13557  // source code to be built.
 13558  //
 13559  // This information is for the CodeBuild console's use only. Your code should
 13560  // not get or set this information directly.
 13561  type SourceAuth struct {
 13562  	_ struct{} `type:"structure"`
 13563  
 13564  	// The resource value that applies to the specified authorization type.
 13565  	Resource *string `locationName:"resource" type:"string"`
 13566  
 13567  	//
 13568  	// This data type is deprecated and is no longer accurate or used.
 13569  	//
 13570  	// The authorization type to use. The only valid value is OAUTH, which represents
 13571  	// the OAuth authorization type.
 13572  	//
 13573  	// Type is a required field
 13574  	Type *string `locationName:"type" type:"string" required:"true" enum:"SourceAuthType"`
 13575  }
 13576  
 13577  // String returns the string representation.
 13578  //
 13579  // API parameter values that are decorated as "sensitive" in the API will not
 13580  // be included in the string output. The member name will be present, but the
 13581  // value will be replaced with "sensitive".
 13582  func (s SourceAuth) String() string {
 13583  	return awsutil.Prettify(s)
 13584  }
 13585  
 13586  // GoString returns the string representation.
 13587  //
 13588  // API parameter values that are decorated as "sensitive" in the API will not
 13589  // be included in the string output. The member name will be present, but the
 13590  // value will be replaced with "sensitive".
 13591  func (s SourceAuth) GoString() string {
 13592  	return s.String()
 13593  }
 13594  
 13595  // Validate inspects the fields of the type to determine if they are valid.
 13596  func (s *SourceAuth) Validate() error {
 13597  	invalidParams := request.ErrInvalidParams{Context: "SourceAuth"}
 13598  	if s.Type == nil {
 13599  		invalidParams.Add(request.NewErrParamRequired("Type"))
 13600  	}
 13601  
 13602  	if invalidParams.Len() > 0 {
 13603  		return invalidParams
 13604  	}
 13605  	return nil
 13606  }
 13607  
 13608  // SetResource sets the Resource field's value.
 13609  func (s *SourceAuth) SetResource(v string) *SourceAuth {
 13610  	s.Resource = &v
 13611  	return s
 13612  }
 13613  
 13614  // SetType sets the Type field's value.
 13615  func (s *SourceAuth) SetType(v string) *SourceAuth {
 13616  	s.Type = &v
 13617  	return s
 13618  }
 13619  
 13620  // Information about the credentials for a GitHub, GitHub Enterprise, or Bitbucket
 13621  // repository.
 13622  type SourceCredentialsInfo struct {
 13623  	_ struct{} `type:"structure"`
 13624  
 13625  	// The Amazon Resource Name (ARN) of the token.
 13626  	Arn *string `locationName:"arn" min:"1" type:"string"`
 13627  
 13628  	// The type of authentication used by the credentials. Valid options are OAUTH,
 13629  	// BASIC_AUTH, or PERSONAL_ACCESS_TOKEN.
 13630  	AuthType *string `locationName:"authType" type:"string" enum:"AuthType"`
 13631  
 13632  	// The type of source provider. The valid options are GITHUB, GITHUB_ENTERPRISE,
 13633  	// or BITBUCKET.
 13634  	ServerType *string `locationName:"serverType" type:"string" enum:"ServerType"`
 13635  }
 13636  
 13637  // String returns the string representation.
 13638  //
 13639  // API parameter values that are decorated as "sensitive" in the API will not
 13640  // be included in the string output. The member name will be present, but the
 13641  // value will be replaced with "sensitive".
 13642  func (s SourceCredentialsInfo) String() string {
 13643  	return awsutil.Prettify(s)
 13644  }
 13645  
 13646  // GoString returns the string representation.
 13647  //
 13648  // API parameter values that are decorated as "sensitive" in the API will not
 13649  // be included in the string output. The member name will be present, but the
 13650  // value will be replaced with "sensitive".
 13651  func (s SourceCredentialsInfo) GoString() string {
 13652  	return s.String()
 13653  }
 13654  
 13655  // SetArn sets the Arn field's value.
 13656  func (s *SourceCredentialsInfo) SetArn(v string) *SourceCredentialsInfo {
 13657  	s.Arn = &v
 13658  	return s
 13659  }
 13660  
 13661  // SetAuthType sets the AuthType field's value.
 13662  func (s *SourceCredentialsInfo) SetAuthType(v string) *SourceCredentialsInfo {
 13663  	s.AuthType = &v
 13664  	return s
 13665  }
 13666  
 13667  // SetServerType sets the ServerType field's value.
 13668  func (s *SourceCredentialsInfo) SetServerType(v string) *SourceCredentialsInfo {
 13669  	s.ServerType = &v
 13670  	return s
 13671  }
 13672  
 13673  type StartBuildBatchInput struct {
 13674  	_ struct{} `type:"structure"`
 13675  
 13676  	// An array of ProjectArtifacts objects that contains information about the
 13677  	// build output artifact overrides for the build project.
 13678  	ArtifactsOverride *ProjectArtifacts `locationName:"artifactsOverride" type:"structure"`
 13679  
 13680  	// A BuildBatchConfigOverride object that contains batch build configuration
 13681  	// overrides.
 13682  	BuildBatchConfigOverride *ProjectBuildBatchConfig `locationName:"buildBatchConfigOverride" type:"structure"`
 13683  
 13684  	// Overrides the build timeout specified in the batch build project.
 13685  	BuildTimeoutInMinutesOverride *int64 `locationName:"buildTimeoutInMinutesOverride" min:"5" type:"integer"`
 13686  
 13687  	// A buildspec file declaration that overrides, for this build only, the latest
 13688  	// one already defined in the build project.
 13689  	//
 13690  	// If this value is set, it can be either an inline buildspec definition, the
 13691  	// path to an alternate buildspec file relative to the value of the built-in
 13692  	// CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The
 13693  	// bucket must be in the same Amazon Web Services Region as the build project.
 13694  	// Specify the buildspec file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml).
 13695  	// If this value is not provided or is set to an empty string, the source code
 13696  	// must contain a buildspec file in its root directory. For more information,
 13697  	// see Buildspec File Name and Storage Location (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage).
 13698  	BuildspecOverride *string `locationName:"buildspecOverride" type:"string"`
 13699  
 13700  	// A ProjectCache object that specifies cache overrides.
 13701  	CacheOverride *ProjectCache `locationName:"cacheOverride" type:"structure"`
 13702  
 13703  	// The name of a certificate for this batch build that overrides the one specified
 13704  	// in the batch build project.
 13705  	CertificateOverride *string `locationName:"certificateOverride" type:"string"`
 13706  
 13707  	// The name of a compute type for this batch build that overrides the one specified
 13708  	// in the batch build project.
 13709  	ComputeTypeOverride *string `locationName:"computeTypeOverride" type:"string" enum:"ComputeType"`
 13710  
 13711  	// Specifies if session debugging is enabled for this batch build. For more
 13712  	// information, see Viewing a running build in Session Manager (https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html).
 13713  	// Batch session debugging is not supported for matrix batch builds.
 13714  	DebugSessionEnabled *bool `locationName:"debugSessionEnabled" type:"boolean"`
 13715  
 13716  	// The Key Management Service customer master key (CMK) that overrides the one
 13717  	// specified in the batch build project. The CMK key encrypts the build output
 13718  	// artifacts.
 13719  	//
 13720  	// You can use a cross-account KMS key to encrypt the build output artifacts
 13721  	// if your service role has permission to that key.
 13722  	//
 13723  	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
 13724  	// the CMK's alias (using the format alias/<alias-name>).
 13725  	EncryptionKeyOverride *string `locationName:"encryptionKeyOverride" min:"1" type:"string"`
 13726  
 13727  	// A container type for this batch build that overrides the one specified in
 13728  	// the batch build project.
 13729  	EnvironmentTypeOverride *string `locationName:"environmentTypeOverride" type:"string" enum:"EnvironmentType"`
 13730  
 13731  	// An array of EnvironmentVariable objects that override, or add to, the environment
 13732  	// variables defined in the batch build project.
 13733  	EnvironmentVariablesOverride []*EnvironmentVariable `locationName:"environmentVariablesOverride" type:"list"`
 13734  
 13735  	// The user-defined depth of history, with a minimum value of 0, that overrides,
 13736  	// for this batch build only, any previous depth of history defined in the batch
 13737  	// build project.
 13738  	GitCloneDepthOverride *int64 `locationName:"gitCloneDepthOverride" type:"integer"`
 13739  
 13740  	// A GitSubmodulesConfig object that overrides the Git submodules configuration
 13741  	// for this batch build.
 13742  	GitSubmodulesConfigOverride *GitSubmodulesConfig `locationName:"gitSubmodulesConfigOverride" type:"structure"`
 13743  
 13744  	// A unique, case sensitive identifier you provide to ensure the idempotency
 13745  	// of the StartBuildBatch request. The token is included in the StartBuildBatch
 13746  	// request and is valid for five minutes. If you repeat the StartBuildBatch
 13747  	// request with the same token, but change a parameter, CodeBuild returns a
 13748  	// parameter mismatch error.
 13749  	IdempotencyToken *string `locationName:"idempotencyToken" type:"string"`
 13750  
 13751  	// The name of an image for this batch build that overrides the one specified
 13752  	// in the batch build project.
 13753  	ImageOverride *string `locationName:"imageOverride" min:"1" type:"string"`
 13754  
 13755  	// The type of credentials CodeBuild uses to pull images in your batch build.
 13756  	// There are two valid values:
 13757  	//
 13758  	// CODEBUILD
 13759  	//
 13760  	// Specifies that CodeBuild uses its own credentials. This requires that you
 13761  	// modify your ECR repository policy to trust CodeBuild's service principal.
 13762  	//
 13763  	// SERVICE_ROLE
 13764  	//
 13765  	// Specifies that CodeBuild uses your build project's service role.
 13766  	//
 13767  	// When using a cross-account or private registry image, you must use SERVICE_ROLE
 13768  	// credentials. When using an CodeBuild curated image, you must use CODEBUILD
 13769  	// credentials.
 13770  	ImagePullCredentialsTypeOverride *string `locationName:"imagePullCredentialsTypeOverride" type:"string" enum:"ImagePullCredentialsType"`
 13771  
 13772  	// Enable this flag to override the insecure SSL setting that is specified in
 13773  	// the batch build project. The insecure SSL setting determines whether to ignore
 13774  	// SSL warnings while connecting to the project source code. This override applies
 13775  	// only if the build's source is GitHub Enterprise.
 13776  	InsecureSslOverride *bool `locationName:"insecureSslOverride" type:"boolean"`
 13777  
 13778  	// A LogsConfig object that override the log settings defined in the batch build
 13779  	// project.
 13780  	LogsConfigOverride *LogsConfig `locationName:"logsConfigOverride" type:"structure"`
 13781  
 13782  	// Enable this flag to override privileged mode in the batch build project.
 13783  	PrivilegedModeOverride *bool `locationName:"privilegedModeOverride" type:"boolean"`
 13784  
 13785  	// The name of the project.
 13786  	//
 13787  	// ProjectName is a required field
 13788  	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
 13789  
 13790  	// The number of minutes a batch build is allowed to be queued before it times
 13791  	// out.
 13792  	QueuedTimeoutInMinutesOverride *int64 `locationName:"queuedTimeoutInMinutesOverride" min:"5" type:"integer"`
 13793  
 13794  	// A RegistryCredential object that overrides credentials for access to a private
 13795  	// registry.
 13796  	RegistryCredentialOverride *RegistryCredential `locationName:"registryCredentialOverride" type:"structure"`
 13797  
 13798  	// Set to true to report to your source provider the status of a batch build's
 13799  	// start and completion. If you use this option with a source provider other
 13800  	// than GitHub, GitHub Enterprise, or Bitbucket, an invalidInputException is
 13801  	// thrown.
 13802  	//
 13803  	// The status of a build triggered by a webhook is always reported to your source
 13804  	// provider.
 13805  	ReportBuildBatchStatusOverride *bool `locationName:"reportBuildBatchStatusOverride" type:"boolean"`
 13806  
 13807  	// An array of ProjectArtifacts objects that override the secondary artifacts
 13808  	// defined in the batch build project.
 13809  	SecondaryArtifactsOverride []*ProjectArtifacts `locationName:"secondaryArtifactsOverride" type:"list"`
 13810  
 13811  	// An array of ProjectSource objects that override the secondary sources defined
 13812  	// in the batch build project.
 13813  	SecondarySourcesOverride []*ProjectSource `locationName:"secondarySourcesOverride" type:"list"`
 13814  
 13815  	// An array of ProjectSourceVersion objects that override the secondary source
 13816  	// versions in the batch build project.
 13817  	SecondarySourcesVersionOverride []*ProjectSourceVersion `locationName:"secondarySourcesVersionOverride" type:"list"`
 13818  
 13819  	// The name of a service role for this batch build that overrides the one specified
 13820  	// in the batch build project.
 13821  	ServiceRoleOverride *string `locationName:"serviceRoleOverride" min:"1" type:"string"`
 13822  
 13823  	// A SourceAuth object that overrides the one defined in the batch build project.
 13824  	// This override applies only if the build project's source is BitBucket or
 13825  	// GitHub.
 13826  	SourceAuthOverride *SourceAuth `locationName:"sourceAuthOverride" type:"structure"`
 13827  
 13828  	// A location that overrides, for this batch build, the source location defined
 13829  	// in the batch build project.
 13830  	SourceLocationOverride *string `locationName:"sourceLocationOverride" type:"string"`
 13831  
 13832  	// The source input type that overrides the source input defined in the batch
 13833  	// build project.
 13834  	SourceTypeOverride *string `locationName:"sourceTypeOverride" type:"string" enum:"SourceType"`
 13835  
 13836  	// The version of the batch build input to be built, for this build only. If
 13837  	// not specified, the latest version is used. If specified, the contents depends
 13838  	// on the source provider:
 13839  	//
 13840  	// CodeCommit
 13841  	//
 13842  	// The commit ID, branch, or Git tag to use.
 13843  	//
 13844  	// GitHub
 13845  	//
 13846  	// The commit ID, pull request ID, branch name, or tag name that corresponds
 13847  	// to the version of the source code you want to build. If a pull request ID
 13848  	// is specified, it must use the format pr/pull-request-ID (for example pr/25).
 13849  	// If a branch name is specified, the branch's HEAD commit ID is used. If not
 13850  	// specified, the default branch's HEAD commit ID is used.
 13851  	//
 13852  	// Bitbucket
 13853  	//
 13854  	// The commit ID, branch name, or tag name that corresponds to the version of
 13855  	// the source code you want to build. If a branch name is specified, the branch's
 13856  	// HEAD commit ID is used. If not specified, the default branch's HEAD commit
 13857  	// ID is used.
 13858  	//
 13859  	// Amazon S3
 13860  	//
 13861  	// The version ID of the object that represents the build input ZIP file to
 13862  	// use.
 13863  	//
 13864  	// If sourceVersion is specified at the project level, then this sourceVersion
 13865  	// (at the build level) takes precedence.
 13866  	//
 13867  	// For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html)
 13868  	// in the CodeBuild User Guide.
 13869  	SourceVersion *string `locationName:"sourceVersion" type:"string"`
 13870  }
 13871  
 13872  // String returns the string representation.
 13873  //
 13874  // API parameter values that are decorated as "sensitive" in the API will not
 13875  // be included in the string output. The member name will be present, but the
 13876  // value will be replaced with "sensitive".
 13877  func (s StartBuildBatchInput) String() string {
 13878  	return awsutil.Prettify(s)
 13879  }
 13880  
 13881  // GoString returns the string representation.
 13882  //
 13883  // API parameter values that are decorated as "sensitive" in the API will not
 13884  // be included in the string output. The member name will be present, but the
 13885  // value will be replaced with "sensitive".
 13886  func (s StartBuildBatchInput) GoString() string {
 13887  	return s.String()
 13888  }
 13889  
 13890  // Validate inspects the fields of the type to determine if they are valid.
 13891  func (s *StartBuildBatchInput) Validate() error {
 13892  	invalidParams := request.ErrInvalidParams{Context: "StartBuildBatchInput"}
 13893  	if s.BuildTimeoutInMinutesOverride != nil && *s.BuildTimeoutInMinutesOverride < 5 {
 13894  		invalidParams.Add(request.NewErrParamMinValue("BuildTimeoutInMinutesOverride", 5))
 13895  	}
 13896  	if s.EncryptionKeyOverride != nil && len(*s.EncryptionKeyOverride) < 1 {
 13897  		invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyOverride", 1))
 13898  	}
 13899  	if s.ImageOverride != nil && len(*s.ImageOverride) < 1 {
 13900  		invalidParams.Add(request.NewErrParamMinLen("ImageOverride", 1))
 13901  	}
 13902  	if s.ProjectName == nil {
 13903  		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
 13904  	}
 13905  	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
 13906  		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
 13907  	}
 13908  	if s.QueuedTimeoutInMinutesOverride != nil && *s.QueuedTimeoutInMinutesOverride < 5 {
 13909  		invalidParams.Add(request.NewErrParamMinValue("QueuedTimeoutInMinutesOverride", 5))
 13910  	}
 13911  	if s.ServiceRoleOverride != nil && len(*s.ServiceRoleOverride) < 1 {
 13912  		invalidParams.Add(request.NewErrParamMinLen("ServiceRoleOverride", 1))
 13913  	}
 13914  	if s.ArtifactsOverride != nil {
 13915  		if err := s.ArtifactsOverride.Validate(); err != nil {
 13916  			invalidParams.AddNested("ArtifactsOverride", err.(request.ErrInvalidParams))
 13917  		}
 13918  	}
 13919  	if s.BuildBatchConfigOverride != nil {
 13920  		if err := s.BuildBatchConfigOverride.Validate(); err != nil {
 13921  			invalidParams.AddNested("BuildBatchConfigOverride", err.(request.ErrInvalidParams))
 13922  		}
 13923  	}
 13924  	if s.CacheOverride != nil {
 13925  		if err := s.CacheOverride.Validate(); err != nil {
 13926  			invalidParams.AddNested("CacheOverride", err.(request.ErrInvalidParams))
 13927  		}
 13928  	}
 13929  	if s.EnvironmentVariablesOverride != nil {
 13930  		for i, v := range s.EnvironmentVariablesOverride {
 13931  			if v == nil {
 13932  				continue
 13933  			}
 13934  			if err := v.Validate(); err != nil {
 13935  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentVariablesOverride", i), err.(request.ErrInvalidParams))
 13936  			}
 13937  		}
 13938  	}
 13939  	if s.GitSubmodulesConfigOverride != nil {
 13940  		if err := s.GitSubmodulesConfigOverride.Validate(); err != nil {
 13941  			invalidParams.AddNested("GitSubmodulesConfigOverride", err.(request.ErrInvalidParams))
 13942  		}
 13943  	}
 13944  	if s.LogsConfigOverride != nil {
 13945  		if err := s.LogsConfigOverride.Validate(); err != nil {
 13946  			invalidParams.AddNested("LogsConfigOverride", err.(request.ErrInvalidParams))
 13947  		}
 13948  	}
 13949  	if s.RegistryCredentialOverride != nil {
 13950  		if err := s.RegistryCredentialOverride.Validate(); err != nil {
 13951  			invalidParams.AddNested("RegistryCredentialOverride", err.(request.ErrInvalidParams))
 13952  		}
 13953  	}
 13954  	if s.SecondaryArtifactsOverride != nil {
 13955  		for i, v := range s.SecondaryArtifactsOverride {
 13956  			if v == nil {
 13957  				continue
 13958  			}
 13959  			if err := v.Validate(); err != nil {
 13960  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondaryArtifactsOverride", i), err.(request.ErrInvalidParams))
 13961  			}
 13962  		}
 13963  	}
 13964  	if s.SecondarySourcesOverride != nil {
 13965  		for i, v := range s.SecondarySourcesOverride {
 13966  			if v == nil {
 13967  				continue
 13968  			}
 13969  			if err := v.Validate(); err != nil {
 13970  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourcesOverride", i), err.(request.ErrInvalidParams))
 13971  			}
 13972  		}
 13973  	}
 13974  	if s.SecondarySourcesVersionOverride != nil {
 13975  		for i, v := range s.SecondarySourcesVersionOverride {
 13976  			if v == nil {
 13977  				continue
 13978  			}
 13979  			if err := v.Validate(); err != nil {
 13980  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourcesVersionOverride", i), err.(request.ErrInvalidParams))
 13981  			}
 13982  		}
 13983  	}
 13984  	if s.SourceAuthOverride != nil {
 13985  		if err := s.SourceAuthOverride.Validate(); err != nil {
 13986  			invalidParams.AddNested("SourceAuthOverride", err.(request.ErrInvalidParams))
 13987  		}
 13988  	}
 13989  
 13990  	if invalidParams.Len() > 0 {
 13991  		return invalidParams
 13992  	}
 13993  	return nil
 13994  }
 13995  
 13996  // SetArtifactsOverride sets the ArtifactsOverride field's value.
 13997  func (s *StartBuildBatchInput) SetArtifactsOverride(v *ProjectArtifacts) *StartBuildBatchInput {
 13998  	s.ArtifactsOverride = v
 13999  	return s
 14000  }
 14001  
 14002  // SetBuildBatchConfigOverride sets the BuildBatchConfigOverride field's value.
 14003  func (s *StartBuildBatchInput) SetBuildBatchConfigOverride(v *ProjectBuildBatchConfig) *StartBuildBatchInput {
 14004  	s.BuildBatchConfigOverride = v
 14005  	return s
 14006  }
 14007  
 14008  // SetBuildTimeoutInMinutesOverride sets the BuildTimeoutInMinutesOverride field's value.
 14009  func (s *StartBuildBatchInput) SetBuildTimeoutInMinutesOverride(v int64) *StartBuildBatchInput {
 14010  	s.BuildTimeoutInMinutesOverride = &v
 14011  	return s
 14012  }
 14013  
 14014  // SetBuildspecOverride sets the BuildspecOverride field's value.
 14015  func (s *StartBuildBatchInput) SetBuildspecOverride(v string) *StartBuildBatchInput {
 14016  	s.BuildspecOverride = &v
 14017  	return s
 14018  }
 14019  
 14020  // SetCacheOverride sets the CacheOverride field's value.
 14021  func (s *StartBuildBatchInput) SetCacheOverride(v *ProjectCache) *StartBuildBatchInput {
 14022  	s.CacheOverride = v
 14023  	return s
 14024  }
 14025  
 14026  // SetCertificateOverride sets the CertificateOverride field's value.
 14027  func (s *StartBuildBatchInput) SetCertificateOverride(v string) *StartBuildBatchInput {
 14028  	s.CertificateOverride = &v
 14029  	return s
 14030  }
 14031  
 14032  // SetComputeTypeOverride sets the ComputeTypeOverride field's value.
 14033  func (s *StartBuildBatchInput) SetComputeTypeOverride(v string) *StartBuildBatchInput {
 14034  	s.ComputeTypeOverride = &v
 14035  	return s
 14036  }
 14037  
 14038  // SetDebugSessionEnabled sets the DebugSessionEnabled field's value.
 14039  func (s *StartBuildBatchInput) SetDebugSessionEnabled(v bool) *StartBuildBatchInput {
 14040  	s.DebugSessionEnabled = &v
 14041  	return s
 14042  }
 14043  
 14044  // SetEncryptionKeyOverride sets the EncryptionKeyOverride field's value.
 14045  func (s *StartBuildBatchInput) SetEncryptionKeyOverride(v string) *StartBuildBatchInput {
 14046  	s.EncryptionKeyOverride = &v
 14047  	return s
 14048  }
 14049  
 14050  // SetEnvironmentTypeOverride sets the EnvironmentTypeOverride field's value.
 14051  func (s *StartBuildBatchInput) SetEnvironmentTypeOverride(v string) *StartBuildBatchInput {
 14052  	s.EnvironmentTypeOverride = &v
 14053  	return s
 14054  }
 14055  
 14056  // SetEnvironmentVariablesOverride sets the EnvironmentVariablesOverride field's value.
 14057  func (s *StartBuildBatchInput) SetEnvironmentVariablesOverride(v []*EnvironmentVariable) *StartBuildBatchInput {
 14058  	s.EnvironmentVariablesOverride = v
 14059  	return s
 14060  }
 14061  
 14062  // SetGitCloneDepthOverride sets the GitCloneDepthOverride field's value.
 14063  func (s *StartBuildBatchInput) SetGitCloneDepthOverride(v int64) *StartBuildBatchInput {
 14064  	s.GitCloneDepthOverride = &v
 14065  	return s
 14066  }
 14067  
 14068  // SetGitSubmodulesConfigOverride sets the GitSubmodulesConfigOverride field's value.
 14069  func (s *StartBuildBatchInput) SetGitSubmodulesConfigOverride(v *GitSubmodulesConfig) *StartBuildBatchInput {
 14070  	s.GitSubmodulesConfigOverride = v
 14071  	return s
 14072  }
 14073  
 14074  // SetIdempotencyToken sets the IdempotencyToken field's value.
 14075  func (s *StartBuildBatchInput) SetIdempotencyToken(v string) *StartBuildBatchInput {
 14076  	s.IdempotencyToken = &v
 14077  	return s
 14078  }
 14079  
 14080  // SetImageOverride sets the ImageOverride field's value.
 14081  func (s *StartBuildBatchInput) SetImageOverride(v string) *StartBuildBatchInput {
 14082  	s.ImageOverride = &v
 14083  	return s
 14084  }
 14085  
 14086  // SetImagePullCredentialsTypeOverride sets the ImagePullCredentialsTypeOverride field's value.
 14087  func (s *StartBuildBatchInput) SetImagePullCredentialsTypeOverride(v string) *StartBuildBatchInput {
 14088  	s.ImagePullCredentialsTypeOverride = &v
 14089  	return s
 14090  }
 14091  
 14092  // SetInsecureSslOverride sets the InsecureSslOverride field's value.
 14093  func (s *StartBuildBatchInput) SetInsecureSslOverride(v bool) *StartBuildBatchInput {
 14094  	s.InsecureSslOverride = &v
 14095  	return s
 14096  }
 14097  
 14098  // SetLogsConfigOverride sets the LogsConfigOverride field's value.
 14099  func (s *StartBuildBatchInput) SetLogsConfigOverride(v *LogsConfig) *StartBuildBatchInput {
 14100  	s.LogsConfigOverride = v
 14101  	return s
 14102  }
 14103  
 14104  // SetPrivilegedModeOverride sets the PrivilegedModeOverride field's value.
 14105  func (s *StartBuildBatchInput) SetPrivilegedModeOverride(v bool) *StartBuildBatchInput {
 14106  	s.PrivilegedModeOverride = &v
 14107  	return s
 14108  }
 14109  
 14110  // SetProjectName sets the ProjectName field's value.
 14111  func (s *StartBuildBatchInput) SetProjectName(v string) *StartBuildBatchInput {
 14112  	s.ProjectName = &v
 14113  	return s
 14114  }
 14115  
 14116  // SetQueuedTimeoutInMinutesOverride sets the QueuedTimeoutInMinutesOverride field's value.
 14117  func (s *StartBuildBatchInput) SetQueuedTimeoutInMinutesOverride(v int64) *StartBuildBatchInput {
 14118  	s.QueuedTimeoutInMinutesOverride = &v
 14119  	return s
 14120  }
 14121  
 14122  // SetRegistryCredentialOverride sets the RegistryCredentialOverride field's value.
 14123  func (s *StartBuildBatchInput) SetRegistryCredentialOverride(v *RegistryCredential) *StartBuildBatchInput {
 14124  	s.RegistryCredentialOverride = v
 14125  	return s
 14126  }
 14127  
 14128  // SetReportBuildBatchStatusOverride sets the ReportBuildBatchStatusOverride field's value.
 14129  func (s *StartBuildBatchInput) SetReportBuildBatchStatusOverride(v bool) *StartBuildBatchInput {
 14130  	s.ReportBuildBatchStatusOverride = &v
 14131  	return s
 14132  }
 14133  
 14134  // SetSecondaryArtifactsOverride sets the SecondaryArtifactsOverride field's value.
 14135  func (s *StartBuildBatchInput) SetSecondaryArtifactsOverride(v []*ProjectArtifacts) *StartBuildBatchInput {
 14136  	s.SecondaryArtifactsOverride = v
 14137  	return s
 14138  }
 14139  
 14140  // SetSecondarySourcesOverride sets the SecondarySourcesOverride field's value.
 14141  func (s *StartBuildBatchInput) SetSecondarySourcesOverride(v []*ProjectSource) *StartBuildBatchInput {
 14142  	s.SecondarySourcesOverride = v
 14143  	return s
 14144  }
 14145  
 14146  // SetSecondarySourcesVersionOverride sets the SecondarySourcesVersionOverride field's value.
 14147  func (s *StartBuildBatchInput) SetSecondarySourcesVersionOverride(v []*ProjectSourceVersion) *StartBuildBatchInput {
 14148  	s.SecondarySourcesVersionOverride = v
 14149  	return s
 14150  }
 14151  
 14152  // SetServiceRoleOverride sets the ServiceRoleOverride field's value.
 14153  func (s *StartBuildBatchInput) SetServiceRoleOverride(v string) *StartBuildBatchInput {
 14154  	s.ServiceRoleOverride = &v
 14155  	return s
 14156  }
 14157  
 14158  // SetSourceAuthOverride sets the SourceAuthOverride field's value.
 14159  func (s *StartBuildBatchInput) SetSourceAuthOverride(v *SourceAuth) *StartBuildBatchInput {
 14160  	s.SourceAuthOverride = v
 14161  	return s
 14162  }
 14163  
 14164  // SetSourceLocationOverride sets the SourceLocationOverride field's value.
 14165  func (s *StartBuildBatchInput) SetSourceLocationOverride(v string) *StartBuildBatchInput {
 14166  	s.SourceLocationOverride = &v
 14167  	return s
 14168  }
 14169  
 14170  // SetSourceTypeOverride sets the SourceTypeOverride field's value.
 14171  func (s *StartBuildBatchInput) SetSourceTypeOverride(v string) *StartBuildBatchInput {
 14172  	s.SourceTypeOverride = &v
 14173  	return s
 14174  }
 14175  
 14176  // SetSourceVersion sets the SourceVersion field's value.
 14177  func (s *StartBuildBatchInput) SetSourceVersion(v string) *StartBuildBatchInput {
 14178  	s.SourceVersion = &v
 14179  	return s
 14180  }
 14181  
 14182  type StartBuildBatchOutput struct {
 14183  	_ struct{} `type:"structure"`
 14184  
 14185  	// A BuildBatch object that contains information about the batch build.
 14186  	BuildBatch *BuildBatch `locationName:"buildBatch" type:"structure"`
 14187  }
 14188  
 14189  // String returns the string representation.
 14190  //
 14191  // API parameter values that are decorated as "sensitive" in the API will not
 14192  // be included in the string output. The member name will be present, but the
 14193  // value will be replaced with "sensitive".
 14194  func (s StartBuildBatchOutput) String() string {
 14195  	return awsutil.Prettify(s)
 14196  }
 14197  
 14198  // GoString returns the string representation.
 14199  //
 14200  // API parameter values that are decorated as "sensitive" in the API will not
 14201  // be included in the string output. The member name will be present, but the
 14202  // value will be replaced with "sensitive".
 14203  func (s StartBuildBatchOutput) GoString() string {
 14204  	return s.String()
 14205  }
 14206  
 14207  // SetBuildBatch sets the BuildBatch field's value.
 14208  func (s *StartBuildBatchOutput) SetBuildBatch(v *BuildBatch) *StartBuildBatchOutput {
 14209  	s.BuildBatch = v
 14210  	return s
 14211  }
 14212  
 14213  type StartBuildInput struct {
 14214  	_ struct{} `type:"structure"`
 14215  
 14216  	// Build output artifact settings that override, for this build only, the latest
 14217  	// ones already defined in the build project.
 14218  	ArtifactsOverride *ProjectArtifacts `locationName:"artifactsOverride" type:"structure"`
 14219  
 14220  	// Contains information that defines how the build project reports the build
 14221  	// status to the source provider. This option is only used when the source provider
 14222  	// is GITHUB, GITHUB_ENTERPRISE, or BITBUCKET.
 14223  	BuildStatusConfigOverride *BuildStatusConfig `locationName:"buildStatusConfigOverride" type:"structure"`
 14224  
 14225  	// A buildspec file declaration that overrides, for this build only, the latest
 14226  	// one already defined in the build project.
 14227  	//
 14228  	// If this value is set, it can be either an inline buildspec definition, the
 14229  	// path to an alternate buildspec file relative to the value of the built-in
 14230  	// CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The
 14231  	// bucket must be in the same Amazon Web Services Region as the build project.
 14232  	// Specify the buildspec file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml).
 14233  	// If this value is not provided or is set to an empty string, the source code
 14234  	// must contain a buildspec file in its root directory. For more information,
 14235  	// see Buildspec File Name and Storage Location (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage).
 14236  	BuildspecOverride *string `locationName:"buildspecOverride" type:"string"`
 14237  
 14238  	// A ProjectCache object specified for this build that overrides the one defined
 14239  	// in the build project.
 14240  	CacheOverride *ProjectCache `locationName:"cacheOverride" type:"structure"`
 14241  
 14242  	// The name of a certificate for this build that overrides the one specified
 14243  	// in the build project.
 14244  	CertificateOverride *string `locationName:"certificateOverride" type:"string"`
 14245  
 14246  	// The name of a compute type for this build that overrides the one specified
 14247  	// in the build project.
 14248  	ComputeTypeOverride *string `locationName:"computeTypeOverride" type:"string" enum:"ComputeType"`
 14249  
 14250  	// Specifies if session debugging is enabled for this build. For more information,
 14251  	// see Viewing a running build in Session Manager (https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html).
 14252  	DebugSessionEnabled *bool `locationName:"debugSessionEnabled" type:"boolean"`
 14253  
 14254  	// The Key Management Service customer master key (CMK) that overrides the one
 14255  	// specified in the build project. The CMK key encrypts the build output artifacts.
 14256  	//
 14257  	// You can use a cross-account KMS key to encrypt the build output artifacts
 14258  	// if your service role has permission to that key.
 14259  	//
 14260  	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
 14261  	// the CMK's alias (using the format alias/<alias-name>).
 14262  	EncryptionKeyOverride *string `locationName:"encryptionKeyOverride" min:"1" type:"string"`
 14263  
 14264  	// A container type for this build that overrides the one specified in the build
 14265  	// project.
 14266  	EnvironmentTypeOverride *string `locationName:"environmentTypeOverride" type:"string" enum:"EnvironmentType"`
 14267  
 14268  	// A set of environment variables that overrides, for this build only, the latest
 14269  	// ones already defined in the build project.
 14270  	EnvironmentVariablesOverride []*EnvironmentVariable `locationName:"environmentVariablesOverride" type:"list"`
 14271  
 14272  	// The user-defined depth of history, with a minimum value of 0, that overrides,
 14273  	// for this build only, any previous depth of history defined in the build project.
 14274  	GitCloneDepthOverride *int64 `locationName:"gitCloneDepthOverride" type:"integer"`
 14275  
 14276  	// Information about the Git submodules configuration for this build of an CodeBuild
 14277  	// build project.
 14278  	GitSubmodulesConfigOverride *GitSubmodulesConfig `locationName:"gitSubmodulesConfigOverride" type:"structure"`
 14279  
 14280  	// A unique, case sensitive identifier you provide to ensure the idempotency
 14281  	// of the StartBuild request. The token is included in the StartBuild request
 14282  	// and is valid for 5 minutes. If you repeat the StartBuild request with the
 14283  	// same token, but change a parameter, CodeBuild returns a parameter mismatch
 14284  	// error.
 14285  	IdempotencyToken *string `locationName:"idempotencyToken" type:"string"`
 14286  
 14287  	// The name of an image for this build that overrides the one specified in the
 14288  	// build project.
 14289  	ImageOverride *string `locationName:"imageOverride" min:"1" type:"string"`
 14290  
 14291  	// The type of credentials CodeBuild uses to pull images in your build. There
 14292  	// are two valid values:
 14293  	//
 14294  	// CODEBUILD
 14295  	//
 14296  	// Specifies that CodeBuild uses its own credentials. This requires that you
 14297  	// modify your ECR repository policy to trust CodeBuild's service principal.
 14298  	//
 14299  	// SERVICE_ROLE
 14300  	//
 14301  	// Specifies that CodeBuild uses your build project's service role.
 14302  	//
 14303  	// When using a cross-account or private registry image, you must use SERVICE_ROLE
 14304  	// credentials. When using an CodeBuild curated image, you must use CODEBUILD
 14305  	// credentials.
 14306  	ImagePullCredentialsTypeOverride *string `locationName:"imagePullCredentialsTypeOverride" type:"string" enum:"ImagePullCredentialsType"`
 14307  
 14308  	// Enable this flag to override the insecure SSL setting that is specified in
 14309  	// the build project. The insecure SSL setting determines whether to ignore
 14310  	// SSL warnings while connecting to the project source code. This override applies
 14311  	// only if the build's source is GitHub Enterprise.
 14312  	InsecureSslOverride *bool `locationName:"insecureSslOverride" type:"boolean"`
 14313  
 14314  	// Log settings for this build that override the log settings defined in the
 14315  	// build project.
 14316  	LogsConfigOverride *LogsConfig `locationName:"logsConfigOverride" type:"structure"`
 14317  
 14318  	// Enable this flag to override privileged mode in the build project.
 14319  	PrivilegedModeOverride *bool `locationName:"privilegedModeOverride" type:"boolean"`
 14320  
 14321  	// The name of the CodeBuild build project to start running a build.
 14322  	//
 14323  	// ProjectName is a required field
 14324  	ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"`
 14325  
 14326  	// The number of minutes a build is allowed to be queued before it times out.
 14327  	QueuedTimeoutInMinutesOverride *int64 `locationName:"queuedTimeoutInMinutesOverride" min:"5" type:"integer"`
 14328  
 14329  	// The credentials for access to a private registry.
 14330  	RegistryCredentialOverride *RegistryCredential `locationName:"registryCredentialOverride" type:"structure"`
 14331  
 14332  	// Set to true to report to your source provider the status of a build's start
 14333  	// and completion. If you use this option with a source provider other than
 14334  	// GitHub, GitHub Enterprise, or Bitbucket, an invalidInputException is thrown.
 14335  	//
 14336  	// To be able to report the build status to the source provider, the user associated
 14337  	// with the source provider must have write access to the repo. If the user
 14338  	// does not have write access, the build status cannot be updated. For more
 14339  	// information, see Source provider access (https://docs.aws.amazon.com/codebuild/latest/userguide/access-tokens.html)
 14340  	// in the CodeBuild User Guide.
 14341  	//
 14342  	// The status of a build triggered by a webhook is always reported to your source
 14343  	// provider.
 14344  	ReportBuildStatusOverride *bool `locationName:"reportBuildStatusOverride" type:"boolean"`
 14345  
 14346  	// An array of ProjectArtifacts objects.
 14347  	SecondaryArtifactsOverride []*ProjectArtifacts `locationName:"secondaryArtifactsOverride" type:"list"`
 14348  
 14349  	// An array of ProjectSource objects.
 14350  	SecondarySourcesOverride []*ProjectSource `locationName:"secondarySourcesOverride" type:"list"`
 14351  
 14352  	// An array of ProjectSourceVersion objects that specify one or more versions
 14353  	// of the project's secondary sources to be used for this build only.
 14354  	SecondarySourcesVersionOverride []*ProjectSourceVersion `locationName:"secondarySourcesVersionOverride" type:"list"`
 14355  
 14356  	// The name of a service role for this build that overrides the one specified
 14357  	// in the build project.
 14358  	ServiceRoleOverride *string `locationName:"serviceRoleOverride" min:"1" type:"string"`
 14359  
 14360  	// An authorization type for this build that overrides the one defined in the
 14361  	// build project. This override applies only if the build project's source is
 14362  	// BitBucket or GitHub.
 14363  	SourceAuthOverride *SourceAuth `locationName:"sourceAuthOverride" type:"structure"`
 14364  
 14365  	// A location that overrides, for this build, the source location for the one
 14366  	// defined in the build project.
 14367  	SourceLocationOverride *string `locationName:"sourceLocationOverride" type:"string"`
 14368  
 14369  	// A source input type, for this build, that overrides the source input defined
 14370  	// in the build project.
 14371  	SourceTypeOverride *string `locationName:"sourceTypeOverride" type:"string" enum:"SourceType"`
 14372  
 14373  	// The version of the build input to be built, for this build only. If not specified,
 14374  	// the latest version is used. If specified, the contents depends on the source
 14375  	// provider:
 14376  	//
 14377  	// CodeCommit
 14378  	//
 14379  	// The commit ID, branch, or Git tag to use.
 14380  	//
 14381  	// GitHub
 14382  	//
 14383  	// The commit ID, pull request ID, branch name, or tag name that corresponds
 14384  	// to the version of the source code you want to build. If a pull request ID
 14385  	// is specified, it must use the format pr/pull-request-ID (for example pr/25).
 14386  	// If a branch name is specified, the branch's HEAD commit ID is used. If not
 14387  	// specified, the default branch's HEAD commit ID is used.
 14388  	//
 14389  	// Bitbucket
 14390  	//
 14391  	// The commit ID, branch name, or tag name that corresponds to the version of
 14392  	// the source code you want to build. If a branch name is specified, the branch's
 14393  	// HEAD commit ID is used. If not specified, the default branch's HEAD commit
 14394  	// ID is used.
 14395  	//
 14396  	// Amazon S3
 14397  	//
 14398  	// The version ID of the object that represents the build input ZIP file to
 14399  	// use.
 14400  	//
 14401  	// If sourceVersion is specified at the project level, then this sourceVersion
 14402  	// (at the build level) takes precedence.
 14403  	//
 14404  	// For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html)
 14405  	// in the CodeBuild User Guide.
 14406  	SourceVersion *string `locationName:"sourceVersion" type:"string"`
 14407  
 14408  	// The number of build timeout minutes, from 5 to 480 (8 hours), that overrides,
 14409  	// for this build only, the latest setting already defined in the build project.
 14410  	TimeoutInMinutesOverride *int64 `locationName:"timeoutInMinutesOverride" min:"5" type:"integer"`
 14411  }
 14412  
 14413  // String returns the string representation.
 14414  //
 14415  // API parameter values that are decorated as "sensitive" in the API will not
 14416  // be included in the string output. The member name will be present, but the
 14417  // value will be replaced with "sensitive".
 14418  func (s StartBuildInput) String() string {
 14419  	return awsutil.Prettify(s)
 14420  }
 14421  
 14422  // GoString returns the string representation.
 14423  //
 14424  // API parameter values that are decorated as "sensitive" in the API will not
 14425  // be included in the string output. The member name will be present, but the
 14426  // value will be replaced with "sensitive".
 14427  func (s StartBuildInput) GoString() string {
 14428  	return s.String()
 14429  }
 14430  
 14431  // Validate inspects the fields of the type to determine if they are valid.
 14432  func (s *StartBuildInput) Validate() error {
 14433  	invalidParams := request.ErrInvalidParams{Context: "StartBuildInput"}
 14434  	if s.EncryptionKeyOverride != nil && len(*s.EncryptionKeyOverride) < 1 {
 14435  		invalidParams.Add(request.NewErrParamMinLen("EncryptionKeyOverride", 1))
 14436  	}
 14437  	if s.ImageOverride != nil && len(*s.ImageOverride) < 1 {
 14438  		invalidParams.Add(request.NewErrParamMinLen("ImageOverride", 1))
 14439  	}
 14440  	if s.ProjectName == nil {
 14441  		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
 14442  	}
 14443  	if s.ProjectName != nil && len(*s.ProjectName) < 1 {
 14444  		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1))
 14445  	}
 14446  	if s.QueuedTimeoutInMinutesOverride != nil && *s.QueuedTimeoutInMinutesOverride < 5 {
 14447  		invalidParams.Add(request.NewErrParamMinValue("QueuedTimeoutInMinutesOverride", 5))
 14448  	}
 14449  	if s.ServiceRoleOverride != nil && len(*s.ServiceRoleOverride) < 1 {
 14450  		invalidParams.Add(request.NewErrParamMinLen("ServiceRoleOverride", 1))
 14451  	}
 14452  	if s.TimeoutInMinutesOverride != nil && *s.TimeoutInMinutesOverride < 5 {
 14453  		invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutesOverride", 5))
 14454  	}
 14455  	if s.ArtifactsOverride != nil {
 14456  		if err := s.ArtifactsOverride.Validate(); err != nil {
 14457  			invalidParams.AddNested("ArtifactsOverride", err.(request.ErrInvalidParams))
 14458  		}
 14459  	}
 14460  	if s.CacheOverride != nil {
 14461  		if err := s.CacheOverride.Validate(); err != nil {
 14462  			invalidParams.AddNested("CacheOverride", err.(request.ErrInvalidParams))
 14463  		}
 14464  	}
 14465  	if s.EnvironmentVariablesOverride != nil {
 14466  		for i, v := range s.EnvironmentVariablesOverride {
 14467  			if v == nil {
 14468  				continue
 14469  			}
 14470  			if err := v.Validate(); err != nil {
 14471  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EnvironmentVariablesOverride", i), err.(request.ErrInvalidParams))
 14472  			}
 14473  		}
 14474  	}
 14475  	if s.GitSubmodulesConfigOverride != nil {
 14476  		if err := s.GitSubmodulesConfigOverride.Validate(); err != nil {
 14477  			invalidParams.AddNested("GitSubmodulesConfigOverride", err.(request.ErrInvalidParams))
 14478  		}
 14479  	}
 14480  	if s.LogsConfigOverride != nil {
 14481  		if err := s.LogsConfigOverride.Validate(); err != nil {
 14482  			invalidParams.AddNested("LogsConfigOverride", err.(request.ErrInvalidParams))
 14483  		}
 14484  	}
 14485  	if s.RegistryCredentialOverride != nil {
 14486  		if err := s.RegistryCredentialOverride.Validate(); err != nil {
 14487  			invalidParams.AddNested("RegistryCredentialOverride", err.(request.ErrInvalidParams))
 14488  		}
 14489  	}
 14490  	if s.SecondaryArtifactsOverride != nil {
 14491  		for i, v := range s.SecondaryArtifactsOverride {
 14492  			if v == nil {
 14493  				continue
 14494  			}
 14495  			if err := v.Validate(); err != nil {
 14496  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondaryArtifactsOverride", i), err.(request.ErrInvalidParams))
 14497  			}
 14498  		}
 14499  	}
 14500  	if s.SecondarySourcesOverride != nil {
 14501  		for i, v := range s.SecondarySourcesOverride {
 14502  			if v == nil {
 14503  				continue
 14504  			}
 14505  			if err := v.Validate(); err != nil {
 14506  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourcesOverride", i), err.(request.ErrInvalidParams))
 14507  			}
 14508  		}
 14509  	}
 14510  	if s.SecondarySourcesVersionOverride != nil {
 14511  		for i, v := range s.SecondarySourcesVersionOverride {
 14512  			if v == nil {
 14513  				continue
 14514  			}
 14515  			if err := v.Validate(); err != nil {
 14516  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourcesVersionOverride", i), err.(request.ErrInvalidParams))
 14517  			}
 14518  		}
 14519  	}
 14520  	if s.SourceAuthOverride != nil {
 14521  		if err := s.SourceAuthOverride.Validate(); err != nil {
 14522  			invalidParams.AddNested("SourceAuthOverride", err.(request.ErrInvalidParams))
 14523  		}
 14524  	}
 14525  
 14526  	if invalidParams.Len() > 0 {
 14527  		return invalidParams
 14528  	}
 14529  	return nil
 14530  }
 14531  
 14532  // SetArtifactsOverride sets the ArtifactsOverride field's value.
 14533  func (s *StartBuildInput) SetArtifactsOverride(v *ProjectArtifacts) *StartBuildInput {
 14534  	s.ArtifactsOverride = v
 14535  	return s
 14536  }
 14537  
 14538  // SetBuildStatusConfigOverride sets the BuildStatusConfigOverride field's value.
 14539  func (s *StartBuildInput) SetBuildStatusConfigOverride(v *BuildStatusConfig) *StartBuildInput {
 14540  	s.BuildStatusConfigOverride = v
 14541  	return s
 14542  }
 14543  
 14544  // SetBuildspecOverride sets the BuildspecOverride field's value.
 14545  func (s *StartBuildInput) SetBuildspecOverride(v string) *StartBuildInput {
 14546  	s.BuildspecOverride = &v
 14547  	return s
 14548  }
 14549  
 14550  // SetCacheOverride sets the CacheOverride field's value.
 14551  func (s *StartBuildInput) SetCacheOverride(v *ProjectCache) *StartBuildInput {
 14552  	s.CacheOverride = v
 14553  	return s
 14554  }
 14555  
 14556  // SetCertificateOverride sets the CertificateOverride field's value.
 14557  func (s *StartBuildInput) SetCertificateOverride(v string) *StartBuildInput {
 14558  	s.CertificateOverride = &v
 14559  	return s
 14560  }
 14561  
 14562  // SetComputeTypeOverride sets the ComputeTypeOverride field's value.
 14563  func (s *StartBuildInput) SetComputeTypeOverride(v string) *StartBuildInput {
 14564  	s.ComputeTypeOverride = &v
 14565  	return s
 14566  }
 14567  
 14568  // SetDebugSessionEnabled sets the DebugSessionEnabled field's value.
 14569  func (s *StartBuildInput) SetDebugSessionEnabled(v bool) *StartBuildInput {
 14570  	s.DebugSessionEnabled = &v
 14571  	return s
 14572  }
 14573  
 14574  // SetEncryptionKeyOverride sets the EncryptionKeyOverride field's value.
 14575  func (s *StartBuildInput) SetEncryptionKeyOverride(v string) *StartBuildInput {
 14576  	s.EncryptionKeyOverride = &v
 14577  	return s
 14578  }
 14579  
 14580  // SetEnvironmentTypeOverride sets the EnvironmentTypeOverride field's value.
 14581  func (s *StartBuildInput) SetEnvironmentTypeOverride(v string) *StartBuildInput {
 14582  	s.EnvironmentTypeOverride = &v
 14583  	return s
 14584  }
 14585  
 14586  // SetEnvironmentVariablesOverride sets the EnvironmentVariablesOverride field's value.
 14587  func (s *StartBuildInput) SetEnvironmentVariablesOverride(v []*EnvironmentVariable) *StartBuildInput {
 14588  	s.EnvironmentVariablesOverride = v
 14589  	return s
 14590  }
 14591  
 14592  // SetGitCloneDepthOverride sets the GitCloneDepthOverride field's value.
 14593  func (s *StartBuildInput) SetGitCloneDepthOverride(v int64) *StartBuildInput {
 14594  	s.GitCloneDepthOverride = &v
 14595  	return s
 14596  }
 14597  
 14598  // SetGitSubmodulesConfigOverride sets the GitSubmodulesConfigOverride field's value.
 14599  func (s *StartBuildInput) SetGitSubmodulesConfigOverride(v *GitSubmodulesConfig) *StartBuildInput {
 14600  	s.GitSubmodulesConfigOverride = v
 14601  	return s
 14602  }
 14603  
 14604  // SetIdempotencyToken sets the IdempotencyToken field's value.
 14605  func (s *StartBuildInput) SetIdempotencyToken(v string) *StartBuildInput {
 14606  	s.IdempotencyToken = &v
 14607  	return s
 14608  }
 14609  
 14610  // SetImageOverride sets the ImageOverride field's value.
 14611  func (s *StartBuildInput) SetImageOverride(v string) *StartBuildInput {
 14612  	s.ImageOverride = &v
 14613  	return s
 14614  }
 14615  
 14616  // SetImagePullCredentialsTypeOverride sets the ImagePullCredentialsTypeOverride field's value.
 14617  func (s *StartBuildInput) SetImagePullCredentialsTypeOverride(v string) *StartBuildInput {
 14618  	s.ImagePullCredentialsTypeOverride = &v
 14619  	return s
 14620  }
 14621  
 14622  // SetInsecureSslOverride sets the InsecureSslOverride field's value.
 14623  func (s *StartBuildInput) SetInsecureSslOverride(v bool) *StartBuildInput {
 14624  	s.InsecureSslOverride = &v
 14625  	return s
 14626  }
 14627  
 14628  // SetLogsConfigOverride sets the LogsConfigOverride field's value.
 14629  func (s *StartBuildInput) SetLogsConfigOverride(v *LogsConfig) *StartBuildInput {
 14630  	s.LogsConfigOverride = v
 14631  	return s
 14632  }
 14633  
 14634  // SetPrivilegedModeOverride sets the PrivilegedModeOverride field's value.
 14635  func (s *StartBuildInput) SetPrivilegedModeOverride(v bool) *StartBuildInput {
 14636  	s.PrivilegedModeOverride = &v
 14637  	return s
 14638  }
 14639  
 14640  // SetProjectName sets the ProjectName field's value.
 14641  func (s *StartBuildInput) SetProjectName(v string) *StartBuildInput {
 14642  	s.ProjectName = &v
 14643  	return s
 14644  }
 14645  
 14646  // SetQueuedTimeoutInMinutesOverride sets the QueuedTimeoutInMinutesOverride field's value.
 14647  func (s *StartBuildInput) SetQueuedTimeoutInMinutesOverride(v int64) *StartBuildInput {
 14648  	s.QueuedTimeoutInMinutesOverride = &v
 14649  	return s
 14650  }
 14651  
 14652  // SetRegistryCredentialOverride sets the RegistryCredentialOverride field's value.
 14653  func (s *StartBuildInput) SetRegistryCredentialOverride(v *RegistryCredential) *StartBuildInput {
 14654  	s.RegistryCredentialOverride = v
 14655  	return s
 14656  }
 14657  
 14658  // SetReportBuildStatusOverride sets the ReportBuildStatusOverride field's value.
 14659  func (s *StartBuildInput) SetReportBuildStatusOverride(v bool) *StartBuildInput {
 14660  	s.ReportBuildStatusOverride = &v
 14661  	return s
 14662  }
 14663  
 14664  // SetSecondaryArtifactsOverride sets the SecondaryArtifactsOverride field's value.
 14665  func (s *StartBuildInput) SetSecondaryArtifactsOverride(v []*ProjectArtifacts) *StartBuildInput {
 14666  	s.SecondaryArtifactsOverride = v
 14667  	return s
 14668  }
 14669  
 14670  // SetSecondarySourcesOverride sets the SecondarySourcesOverride field's value.
 14671  func (s *StartBuildInput) SetSecondarySourcesOverride(v []*ProjectSource) *StartBuildInput {
 14672  	s.SecondarySourcesOverride = v
 14673  	return s
 14674  }
 14675  
 14676  // SetSecondarySourcesVersionOverride sets the SecondarySourcesVersionOverride field's value.
 14677  func (s *StartBuildInput) SetSecondarySourcesVersionOverride(v []*ProjectSourceVersion) *StartBuildInput {
 14678  	s.SecondarySourcesVersionOverride = v
 14679  	return s
 14680  }
 14681  
 14682  // SetServiceRoleOverride sets the ServiceRoleOverride field's value.
 14683  func (s *StartBuildInput) SetServiceRoleOverride(v string) *StartBuildInput {
 14684  	s.ServiceRoleOverride = &v
 14685  	return s
 14686  }
 14687  
 14688  // SetSourceAuthOverride sets the SourceAuthOverride field's value.
 14689  func (s *StartBuildInput) SetSourceAuthOverride(v *SourceAuth) *StartBuildInput {
 14690  	s.SourceAuthOverride = v
 14691  	return s
 14692  }
 14693  
 14694  // SetSourceLocationOverride sets the SourceLocationOverride field's value.
 14695  func (s *StartBuildInput) SetSourceLocationOverride(v string) *StartBuildInput {
 14696  	s.SourceLocationOverride = &v
 14697  	return s
 14698  }
 14699  
 14700  // SetSourceTypeOverride sets the SourceTypeOverride field's value.
 14701  func (s *StartBuildInput) SetSourceTypeOverride(v string) *StartBuildInput {
 14702  	s.SourceTypeOverride = &v
 14703  	return s
 14704  }
 14705  
 14706  // SetSourceVersion sets the SourceVersion field's value.
 14707  func (s *StartBuildInput) SetSourceVersion(v string) *StartBuildInput {
 14708  	s.SourceVersion = &v
 14709  	return s
 14710  }
 14711  
 14712  // SetTimeoutInMinutesOverride sets the TimeoutInMinutesOverride field's value.
 14713  func (s *StartBuildInput) SetTimeoutInMinutesOverride(v int64) *StartBuildInput {
 14714  	s.TimeoutInMinutesOverride = &v
 14715  	return s
 14716  }
 14717  
 14718  type StartBuildOutput struct {
 14719  	_ struct{} `type:"structure"`
 14720  
 14721  	// Information about the build to be run.
 14722  	Build *Build `locationName:"build" type:"structure"`
 14723  }
 14724  
 14725  // String returns the string representation.
 14726  //
 14727  // API parameter values that are decorated as "sensitive" in the API will not
 14728  // be included in the string output. The member name will be present, but the
 14729  // value will be replaced with "sensitive".
 14730  func (s StartBuildOutput) String() string {
 14731  	return awsutil.Prettify(s)
 14732  }
 14733  
 14734  // GoString returns the string representation.
 14735  //
 14736  // API parameter values that are decorated as "sensitive" in the API will not
 14737  // be included in the string output. The member name will be present, but the
 14738  // value will be replaced with "sensitive".
 14739  func (s StartBuildOutput) GoString() string {
 14740  	return s.String()
 14741  }
 14742  
 14743  // SetBuild sets the Build field's value.
 14744  func (s *StartBuildOutput) SetBuild(v *Build) *StartBuildOutput {
 14745  	s.Build = v
 14746  	return s
 14747  }
 14748  
 14749  type StopBuildBatchInput struct {
 14750  	_ struct{} `type:"structure"`
 14751  
 14752  	// The identifier of the batch build to stop.
 14753  	//
 14754  	// Id is a required field
 14755  	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
 14756  }
 14757  
 14758  // String returns the string representation.
 14759  //
 14760  // API parameter values that are decorated as "sensitive" in the API will not
 14761  // be included in the string output. The member name will be present, but the
 14762  // value will be replaced with "sensitive".
 14763  func (s StopBuildBatchInput) String() string {
 14764  	return awsutil.Prettify(s)
 14765  }
 14766  
 14767  // GoString returns the string representation.
 14768  //
 14769  // API parameter values that are decorated as "sensitive" in the API will not
 14770  // be included in the string output. The member name will be present, but the
 14771  // value will be replaced with "sensitive".
 14772  func (s StopBuildBatchInput) GoString() string {
 14773  	return s.String()
 14774  }
 14775  
 14776  // Validate inspects the fields of the type to determine if they are valid.
 14777  func (s *StopBuildBatchInput) Validate() error {
 14778  	invalidParams := request.ErrInvalidParams{Context: "StopBuildBatchInput"}
 14779  	if s.Id == nil {
 14780  		invalidParams.Add(request.NewErrParamRequired("Id"))
 14781  	}
 14782  	if s.Id != nil && len(*s.Id) < 1 {
 14783  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 14784  	}
 14785  
 14786  	if invalidParams.Len() > 0 {
 14787  		return invalidParams
 14788  	}
 14789  	return nil
 14790  }
 14791  
 14792  // SetId sets the Id field's value.
 14793  func (s *StopBuildBatchInput) SetId(v string) *StopBuildBatchInput {
 14794  	s.Id = &v
 14795  	return s
 14796  }
 14797  
 14798  type StopBuildBatchOutput struct {
 14799  	_ struct{} `type:"structure"`
 14800  
 14801  	// Contains information about a batch build.
 14802  	BuildBatch *BuildBatch `locationName:"buildBatch" type:"structure"`
 14803  }
 14804  
 14805  // String returns the string representation.
 14806  //
 14807  // API parameter values that are decorated as "sensitive" in the API will not
 14808  // be included in the string output. The member name will be present, but the
 14809  // value will be replaced with "sensitive".
 14810  func (s StopBuildBatchOutput) String() string {
 14811  	return awsutil.Prettify(s)
 14812  }
 14813  
 14814  // GoString returns the string representation.
 14815  //
 14816  // API parameter values that are decorated as "sensitive" in the API will not
 14817  // be included in the string output. The member name will be present, but the
 14818  // value will be replaced with "sensitive".
 14819  func (s StopBuildBatchOutput) GoString() string {
 14820  	return s.String()
 14821  }
 14822  
 14823  // SetBuildBatch sets the BuildBatch field's value.
 14824  func (s *StopBuildBatchOutput) SetBuildBatch(v *BuildBatch) *StopBuildBatchOutput {
 14825  	s.BuildBatch = v
 14826  	return s
 14827  }
 14828  
 14829  type StopBuildInput struct {
 14830  	_ struct{} `type:"structure"`
 14831  
 14832  	// The ID of the build.
 14833  	//
 14834  	// Id is a required field
 14835  	Id *string `locationName:"id" min:"1" type:"string" required:"true"`
 14836  }
 14837  
 14838  // String returns the string representation.
 14839  //
 14840  // API parameter values that are decorated as "sensitive" in the API will not
 14841  // be included in the string output. The member name will be present, but the
 14842  // value will be replaced with "sensitive".
 14843  func (s StopBuildInput) String() string {
 14844  	return awsutil.Prettify(s)
 14845  }
 14846  
 14847  // GoString returns the string representation.
 14848  //
 14849  // API parameter values that are decorated as "sensitive" in the API will not
 14850  // be included in the string output. The member name will be present, but the
 14851  // value will be replaced with "sensitive".
 14852  func (s StopBuildInput) GoString() string {
 14853  	return s.String()
 14854  }
 14855  
 14856  // Validate inspects the fields of the type to determine if they are valid.
 14857  func (s *StopBuildInput) Validate() error {
 14858  	invalidParams := request.ErrInvalidParams{Context: "StopBuildInput"}
 14859  	if s.Id == nil {
 14860  		invalidParams.Add(request.NewErrParamRequired("Id"))
 14861  	}
 14862  	if s.Id != nil && len(*s.Id) < 1 {
 14863  		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
 14864  	}
 14865  
 14866  	if invalidParams.Len() > 0 {
 14867  		return invalidParams
 14868  	}
 14869  	return nil
 14870  }
 14871  
 14872  // SetId sets the Id field's value.
 14873  func (s *StopBuildInput) SetId(v string) *StopBuildInput {
 14874  	s.Id = &v
 14875  	return s
 14876  }
 14877  
 14878  type StopBuildOutput struct {
 14879  	_ struct{} `type:"structure"`
 14880  
 14881  	// Information about the build.
 14882  	Build *Build `locationName:"build" type:"structure"`
 14883  }
 14884  
 14885  // String returns the string representation.
 14886  //
 14887  // API parameter values that are decorated as "sensitive" in the API will not
 14888  // be included in the string output. The member name will be present, but the
 14889  // value will be replaced with "sensitive".
 14890  func (s StopBuildOutput) String() string {
 14891  	return awsutil.Prettify(s)
 14892  }
 14893  
 14894  // GoString returns the string representation.
 14895  //
 14896  // API parameter values that are decorated as "sensitive" in the API will not
 14897  // be included in the string output. The member name will be present, but the
 14898  // value will be replaced with "sensitive".
 14899  func (s StopBuildOutput) GoString() string {
 14900  	return s.String()
 14901  }
 14902  
 14903  // SetBuild sets the Build field's value.
 14904  func (s *StopBuildOutput) SetBuild(v *Build) *StopBuildOutput {
 14905  	s.Build = v
 14906  	return s
 14907  }
 14908  
 14909  // A tag, consisting of a key and a value.
 14910  //
 14911  // This tag is available for use by Amazon Web Services services that support
 14912  // tags in CodeBuild.
 14913  type Tag struct {
 14914  	_ struct{} `type:"structure"`
 14915  
 14916  	// The tag's key.
 14917  	Key *string `locationName:"key" min:"1" type:"string"`
 14918  
 14919  	// The tag's value.
 14920  	Value *string `locationName:"value" type:"string"`
 14921  }
 14922  
 14923  // String returns the string representation.
 14924  //
 14925  // API parameter values that are decorated as "sensitive" in the API will not
 14926  // be included in the string output. The member name will be present, but the
 14927  // value will be replaced with "sensitive".
 14928  func (s Tag) String() string {
 14929  	return awsutil.Prettify(s)
 14930  }
 14931  
 14932  // GoString returns the string representation.
 14933  //
 14934  // API parameter values that are decorated as "sensitive" in the API will not
 14935  // be included in the string output. The member name will be present, but the
 14936  // value will be replaced with "sensitive".
 14937  func (s Tag) GoString() string {
 14938  	return s.String()
 14939  }
 14940  
 14941  // Validate inspects the fields of the type to determine if they are valid.
 14942  func (s *Tag) Validate() error {
 14943  	invalidParams := request.ErrInvalidParams{Context: "Tag"}
 14944  	if s.Key != nil && len(*s.Key) < 1 {
 14945  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 14946  	}
 14947  
 14948  	if invalidParams.Len() > 0 {
 14949  		return invalidParams
 14950  	}
 14951  	return nil
 14952  }
 14953  
 14954  // SetKey sets the Key field's value.
 14955  func (s *Tag) SetKey(v string) *Tag {
 14956  	s.Key = &v
 14957  	return s
 14958  }
 14959  
 14960  // SetValue sets the Value field's value.
 14961  func (s *Tag) SetValue(v string) *Tag {
 14962  	s.Value = &v
 14963  	return s
 14964  }
 14965  
 14966  // Information about a test case created using a framework such as NUnit or
 14967  // Cucumber. A test case might be a unit test or a configuration test.
 14968  type TestCase struct {
 14969  	_ struct{} `type:"structure"`
 14970  
 14971  	// The number of nanoseconds it took to run this test case.
 14972  	DurationInNanoSeconds *int64 `locationName:"durationInNanoSeconds" type:"long"`
 14973  
 14974  	// The date and time a test case expires. A test case expires 30 days after
 14975  	// it is created. An expired test case is not available to view in CodeBuild.
 14976  	Expired *time.Time `locationName:"expired" type:"timestamp"`
 14977  
 14978  	// A message associated with a test case. For example, an error message or stack
 14979  	// trace.
 14980  	Message *string `locationName:"message" type:"string"`
 14981  
 14982  	// The name of the test case.
 14983  	Name *string `locationName:"name" type:"string"`
 14984  
 14985  	// A string that is applied to a series of related test cases. CodeBuild generates
 14986  	// the prefix. The prefix depends on the framework used to generate the tests.
 14987  	Prefix *string `locationName:"prefix" type:"string"`
 14988  
 14989  	// The ARN of the report to which the test case belongs.
 14990  	ReportArn *string `locationName:"reportArn" min:"1" type:"string"`
 14991  
 14992  	// The status returned by the test case after it was run. Valid statuses are
 14993  	// SUCCEEDED, FAILED, ERROR, SKIPPED, and UNKNOWN.
 14994  	Status *string `locationName:"status" type:"string"`
 14995  
 14996  	// The path to the raw data file that contains the test result.
 14997  	TestRawDataPath *string `locationName:"testRawDataPath" type:"string"`
 14998  }
 14999  
 15000  // String returns the string representation.
 15001  //
 15002  // API parameter values that are decorated as "sensitive" in the API will not
 15003  // be included in the string output. The member name will be present, but the
 15004  // value will be replaced with "sensitive".
 15005  func (s TestCase) String() string {
 15006  	return awsutil.Prettify(s)
 15007  }
 15008  
 15009  // GoString returns the string representation.
 15010  //
 15011  // API parameter values that are decorated as "sensitive" in the API will not
 15012  // be included in the string output. The member name will be present, but the
 15013  // value will be replaced with "sensitive".
 15014  func (s TestCase) GoString() string {
 15015  	return s.String()
 15016  }
 15017  
 15018  // SetDurationInNanoSeconds sets the DurationInNanoSeconds field's value.
 15019  func (s *TestCase) SetDurationInNanoSeconds(v int64) *TestCase {
 15020  	s.DurationInNanoSeconds = &v
 15021  	return s
 15022  }
 15023  
 15024  // SetExpired sets the Expired field's value.
 15025  func (s *TestCase) SetExpired(v time.Time) *TestCase {
 15026  	s.Expired = &v
 15027  	return s
 15028  }
 15029  
 15030  // SetMessage sets the Message field's value.
 15031  func (s *TestCase) SetMessage(v string) *TestCase {
 15032  	s.Message = &v
 15033  	return s
 15034  }
 15035  
 15036  // SetName sets the Name field's value.
 15037  func (s *TestCase) SetName(v string) *TestCase {
 15038  	s.Name = &v
 15039  	return s
 15040  }
 15041  
 15042  // SetPrefix sets the Prefix field's value.
 15043  func (s *TestCase) SetPrefix(v string) *TestCase {
 15044  	s.Prefix = &v
 15045  	return s
 15046  }
 15047  
 15048  // SetReportArn sets the ReportArn field's value.
 15049  func (s *TestCase) SetReportArn(v string) *TestCase {
 15050  	s.ReportArn = &v
 15051  	return s
 15052  }
 15053  
 15054  // SetStatus sets the Status field's value.
 15055  func (s *TestCase) SetStatus(v string) *TestCase {
 15056  	s.Status = &v
 15057  	return s
 15058  }
 15059  
 15060  // SetTestRawDataPath sets the TestRawDataPath field's value.
 15061  func (s *TestCase) SetTestRawDataPath(v string) *TestCase {
 15062  	s.TestRawDataPath = &v
 15063  	return s
 15064  }
 15065  
 15066  // A filter used to return specific types of test cases. In order to pass the
 15067  // filter, the report must meet all of the filter properties.
 15068  type TestCaseFilter struct {
 15069  	_ struct{} `type:"structure"`
 15070  
 15071  	// A keyword that is used to filter on the name or the prefix of the test cases.
 15072  	// Only test cases where the keyword is a substring of the name or the prefix
 15073  	// will be returned.
 15074  	Keyword *string `locationName:"keyword" type:"string"`
 15075  
 15076  	// The status used to filter test cases. A TestCaseFilter can have one status.
 15077  	// Valid values are:
 15078  	//
 15079  	//    * SUCCEEDED
 15080  	//
 15081  	//    * FAILED
 15082  	//
 15083  	//    * ERROR
 15084  	//
 15085  	//    * SKIPPED
 15086  	//
 15087  	//    * UNKNOWN
 15088  	Status *string `locationName:"status" type:"string"`
 15089  }
 15090  
 15091  // String returns the string representation.
 15092  //
 15093  // API parameter values that are decorated as "sensitive" in the API will not
 15094  // be included in the string output. The member name will be present, but the
 15095  // value will be replaced with "sensitive".
 15096  func (s TestCaseFilter) String() string {
 15097  	return awsutil.Prettify(s)
 15098  }
 15099  
 15100  // GoString returns the string representation.
 15101  //
 15102  // API parameter values that are decorated as "sensitive" in the API will not
 15103  // be included in the string output. The member name will be present, but the
 15104  // value will be replaced with "sensitive".
 15105  func (s TestCaseFilter) GoString() string {
 15106  	return s.String()
 15107  }
 15108  
 15109  // SetKeyword sets the Keyword field's value.
 15110  func (s *TestCaseFilter) SetKeyword(v string) *TestCaseFilter {
 15111  	s.Keyword = &v
 15112  	return s
 15113  }
 15114  
 15115  // SetStatus sets the Status field's value.
 15116  func (s *TestCaseFilter) SetStatus(v string) *TestCaseFilter {
 15117  	s.Status = &v
 15118  	return s
 15119  }
 15120  
 15121  // Information about a test report.
 15122  type TestReportSummary struct {
 15123  	_ struct{} `type:"structure"`
 15124  
 15125  	// The number of nanoseconds it took to run all of the test cases in this report.
 15126  	//
 15127  	// DurationInNanoSeconds is a required field
 15128  	DurationInNanoSeconds *int64 `locationName:"durationInNanoSeconds" type:"long" required:"true"`
 15129  
 15130  	// A map that contains the number of each type of status returned by the test
 15131  	// results in this TestReportSummary.
 15132  	//
 15133  	// StatusCounts is a required field
 15134  	StatusCounts map[string]*int64 `locationName:"statusCounts" type:"map" required:"true"`
 15135  
 15136  	// The number of test cases in this TestReportSummary. The total includes truncated
 15137  	// test cases.
 15138  	//
 15139  	// Total is a required field
 15140  	Total *int64 `locationName:"total" type:"integer" required:"true"`
 15141  }
 15142  
 15143  // String returns the string representation.
 15144  //
 15145  // API parameter values that are decorated as "sensitive" in the API will not
 15146  // be included in the string output. The member name will be present, but the
 15147  // value will be replaced with "sensitive".
 15148  func (s TestReportSummary) String() string {
 15149  	return awsutil.Prettify(s)
 15150  }
 15151  
 15152  // GoString returns the string representation.
 15153  //
 15154  // API parameter values that are decorated as "sensitive" in the API will not
 15155  // be included in the string output. The member name will be present, but the
 15156  // value will be replaced with "sensitive".
 15157  func (s TestReportSummary) GoString() string {
 15158  	return s.String()
 15159  }
 15160  
 15161  // SetDurationInNanoSeconds sets the DurationInNanoSeconds field's value.
 15162  func (s *TestReportSummary) SetDurationInNanoSeconds(v int64) *TestReportSummary {
 15163  	s.DurationInNanoSeconds = &v
 15164  	return s
 15165  }
 15166  
 15167  // SetStatusCounts sets the StatusCounts field's value.
 15168  func (s *TestReportSummary) SetStatusCounts(v map[string]*int64) *TestReportSummary {
 15169  	s.StatusCounts = v
 15170  	return s
 15171  }
 15172  
 15173  // SetTotal sets the Total field's value.
 15174  func (s *TestReportSummary) SetTotal(v int64) *TestReportSummary {
 15175  	s.Total = &v
 15176  	return s
 15177  }
 15178  
 15179  type UpdateProjectInput struct {
 15180  	_ struct{} `type:"structure"`
 15181  
 15182  	// Information to be changed about the build output artifacts for the build
 15183  	// project.
 15184  	Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure"`
 15185  
 15186  	// Set this to true to generate a publicly accessible URL for your project's
 15187  	// build badge.
 15188  	BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"`
 15189  
 15190  	// Contains configuration information about a batch build project.
 15191  	BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"`
 15192  
 15193  	// Stores recently used information so that it can be quickly accessed at a
 15194  	// later time.
 15195  	Cache *ProjectCache `locationName:"cache" type:"structure"`
 15196  
 15197  	// The maximum number of concurrent builds that are allowed for this project.
 15198  	//
 15199  	// New builds are only started if the current number of builds is less than
 15200  	// or equal to this limit. If the current build count meets this limit, new
 15201  	// builds are throttled and are not run.
 15202  	//
 15203  	// To remove this limit, set this value to -1.
 15204  	ConcurrentBuildLimit *int64 `locationName:"concurrentBuildLimit" type:"integer"`
 15205  
 15206  	// A new or replacement description of the build project.
 15207  	Description *string `locationName:"description" type:"string"`
 15208  
 15209  	// The Key Management Service customer master key (CMK) to be used for encrypting
 15210  	// the build output artifacts.
 15211  	//
 15212  	// You can use a cross-account KMS key to encrypt the build output artifacts
 15213  	// if your service role has permission to that key.
 15214  	//
 15215  	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
 15216  	// the CMK's alias (using the format alias/<alias-name>).
 15217  	EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"`
 15218  
 15219  	// Information to be changed about the build environment for the build project.
 15220  	Environment *ProjectEnvironment `locationName:"environment" type:"structure"`
 15221  
 15222  	// An array of ProjectFileSystemLocation objects for a CodeBuild build project.
 15223  	// A ProjectFileSystemLocation object specifies the identifier, location, mountOptions,
 15224  	// mountPoint, and type of a file system created using Amazon Elastic File System.
 15225  	FileSystemLocations []*ProjectFileSystemLocation `locationName:"fileSystemLocations" type:"list"`
 15226  
 15227  	// Information about logs for the build project. A project can create logs in
 15228  	// CloudWatch Logs, logs in an S3 bucket, or both.
 15229  	LogsConfig *LogsConfig `locationName:"logsConfig" type:"structure"`
 15230  
 15231  	// The name of the build project.
 15232  	//
 15233  	// You cannot change a build project's name.
 15234  	//
 15235  	// Name is a required field
 15236  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 15237  
 15238  	// The number of minutes a build is allowed to be queued before it times out.
 15239  	QueuedTimeoutInMinutes *int64 `locationName:"queuedTimeoutInMinutes" min:"5" type:"integer"`
 15240  
 15241  	// An array of ProjectArtifact objects.
 15242  	SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"`
 15243  
 15244  	// An array of ProjectSourceVersion objects. If secondarySourceVersions is specified
 15245  	// at the build level, then they take over these secondarySourceVersions (at
 15246  	// the project level).
 15247  	SecondarySourceVersions []*ProjectSourceVersion `locationName:"secondarySourceVersions" type:"list"`
 15248  
 15249  	// An array of ProjectSource objects.
 15250  	SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"`
 15251  
 15252  	// The replacement ARN of the IAM role that enables CodeBuild to interact with
 15253  	// dependent Amazon Web Services services on behalf of the Amazon Web Services
 15254  	// account.
 15255  	ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"`
 15256  
 15257  	// Information to be changed about the build input source code for the build
 15258  	// project.
 15259  	Source *ProjectSource `locationName:"source" type:"structure"`
 15260  
 15261  	// A version of the build input to be built for this project. If not specified,
 15262  	// the latest version is used. If specified, it must be one of:
 15263  	//
 15264  	//    * For CodeCommit: the commit ID, branch, or Git tag to use.
 15265  	//
 15266  	//    * For GitHub: the commit ID, pull request ID, branch name, or tag name
 15267  	//    that corresponds to the version of the source code you want to build.
 15268  	//    If a pull request ID is specified, it must use the format pr/pull-request-ID
 15269  	//    (for example pr/25). If a branch name is specified, the branch's HEAD
 15270  	//    commit ID is used. If not specified, the default branch's HEAD commit
 15271  	//    ID is used.
 15272  	//
 15273  	//    * For Bitbucket: the commit ID, branch name, or tag name that corresponds
 15274  	//    to the version of the source code you want to build. If a branch name
 15275  	//    is specified, the branch's HEAD commit ID is used. If not specified, the
 15276  	//    default branch's HEAD commit ID is used.
 15277  	//
 15278  	//    * For Amazon S3: the version ID of the object that represents the build
 15279  	//    input ZIP file to use.
 15280  	//
 15281  	// If sourceVersion is specified at the build level, then that version takes
 15282  	// precedence over this sourceVersion (at the project level).
 15283  	//
 15284  	// For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html)
 15285  	// in the CodeBuild User Guide.
 15286  	SourceVersion *string `locationName:"sourceVersion" type:"string"`
 15287  
 15288  	// An updated list of tag key and value pairs associated with this build project.
 15289  	//
 15290  	// These tags are available for use by Amazon Web Services services that support
 15291  	// CodeBuild build project tags.
 15292  	Tags []*Tag `locationName:"tags" type:"list"`
 15293  
 15294  	// The replacement value in minutes, from 5 to 480 (8 hours), for CodeBuild
 15295  	// to wait before timing out any related build that did not get marked as completed.
 15296  	TimeoutInMinutes *int64 `locationName:"timeoutInMinutes" min:"5" type:"integer"`
 15297  
 15298  	// VpcConfig enables CodeBuild to access resources in an Amazon VPC.
 15299  	VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"`
 15300  }
 15301  
 15302  // String returns the string representation.
 15303  //
 15304  // API parameter values that are decorated as "sensitive" in the API will not
 15305  // be included in the string output. The member name will be present, but the
 15306  // value will be replaced with "sensitive".
 15307  func (s UpdateProjectInput) String() string {
 15308  	return awsutil.Prettify(s)
 15309  }
 15310  
 15311  // GoString returns the string representation.
 15312  //
 15313  // API parameter values that are decorated as "sensitive" in the API will not
 15314  // be included in the string output. The member name will be present, but the
 15315  // value will be replaced with "sensitive".
 15316  func (s UpdateProjectInput) GoString() string {
 15317  	return s.String()
 15318  }
 15319  
 15320  // Validate inspects the fields of the type to determine if they are valid.
 15321  func (s *UpdateProjectInput) Validate() error {
 15322  	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"}
 15323  	if s.EncryptionKey != nil && len(*s.EncryptionKey) < 1 {
 15324  		invalidParams.Add(request.NewErrParamMinLen("EncryptionKey", 1))
 15325  	}
 15326  	if s.Name == nil {
 15327  		invalidParams.Add(request.NewErrParamRequired("Name"))
 15328  	}
 15329  	if s.Name != nil && len(*s.Name) < 1 {
 15330  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 15331  	}
 15332  	if s.QueuedTimeoutInMinutes != nil && *s.QueuedTimeoutInMinutes < 5 {
 15333  		invalidParams.Add(request.NewErrParamMinValue("QueuedTimeoutInMinutes", 5))
 15334  	}
 15335  	if s.ServiceRole != nil && len(*s.ServiceRole) < 1 {
 15336  		invalidParams.Add(request.NewErrParamMinLen("ServiceRole", 1))
 15337  	}
 15338  	if s.TimeoutInMinutes != nil && *s.TimeoutInMinutes < 5 {
 15339  		invalidParams.Add(request.NewErrParamMinValue("TimeoutInMinutes", 5))
 15340  	}
 15341  	if s.Artifacts != nil {
 15342  		if err := s.Artifacts.Validate(); err != nil {
 15343  			invalidParams.AddNested("Artifacts", err.(request.ErrInvalidParams))
 15344  		}
 15345  	}
 15346  	if s.BuildBatchConfig != nil {
 15347  		if err := s.BuildBatchConfig.Validate(); err != nil {
 15348  			invalidParams.AddNested("BuildBatchConfig", err.(request.ErrInvalidParams))
 15349  		}
 15350  	}
 15351  	if s.Cache != nil {
 15352  		if err := s.Cache.Validate(); err != nil {
 15353  			invalidParams.AddNested("Cache", err.(request.ErrInvalidParams))
 15354  		}
 15355  	}
 15356  	if s.Environment != nil {
 15357  		if err := s.Environment.Validate(); err != nil {
 15358  			invalidParams.AddNested("Environment", err.(request.ErrInvalidParams))
 15359  		}
 15360  	}
 15361  	if s.LogsConfig != nil {
 15362  		if err := s.LogsConfig.Validate(); err != nil {
 15363  			invalidParams.AddNested("LogsConfig", err.(request.ErrInvalidParams))
 15364  		}
 15365  	}
 15366  	if s.SecondaryArtifacts != nil {
 15367  		for i, v := range s.SecondaryArtifacts {
 15368  			if v == nil {
 15369  				continue
 15370  			}
 15371  			if err := v.Validate(); err != nil {
 15372  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondaryArtifacts", i), err.(request.ErrInvalidParams))
 15373  			}
 15374  		}
 15375  	}
 15376  	if s.SecondarySourceVersions != nil {
 15377  		for i, v := range s.SecondarySourceVersions {
 15378  			if v == nil {
 15379  				continue
 15380  			}
 15381  			if err := v.Validate(); err != nil {
 15382  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySourceVersions", i), err.(request.ErrInvalidParams))
 15383  			}
 15384  		}
 15385  	}
 15386  	if s.SecondarySources != nil {
 15387  		for i, v := range s.SecondarySources {
 15388  			if v == nil {
 15389  				continue
 15390  			}
 15391  			if err := v.Validate(); err != nil {
 15392  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SecondarySources", i), err.(request.ErrInvalidParams))
 15393  			}
 15394  		}
 15395  	}
 15396  	if s.Source != nil {
 15397  		if err := s.Source.Validate(); err != nil {
 15398  			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
 15399  		}
 15400  	}
 15401  	if s.Tags != nil {
 15402  		for i, v := range s.Tags {
 15403  			if v == nil {
 15404  				continue
 15405  			}
 15406  			if err := v.Validate(); err != nil {
 15407  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 15408  			}
 15409  		}
 15410  	}
 15411  	if s.VpcConfig != nil {
 15412  		if err := s.VpcConfig.Validate(); err != nil {
 15413  			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
 15414  		}
 15415  	}
 15416  
 15417  	if invalidParams.Len() > 0 {
 15418  		return invalidParams
 15419  	}
 15420  	return nil
 15421  }
 15422  
 15423  // SetArtifacts sets the Artifacts field's value.
 15424  func (s *UpdateProjectInput) SetArtifacts(v *ProjectArtifacts) *UpdateProjectInput {
 15425  	s.Artifacts = v
 15426  	return s
 15427  }
 15428  
 15429  // SetBadgeEnabled sets the BadgeEnabled field's value.
 15430  func (s *UpdateProjectInput) SetBadgeEnabled(v bool) *UpdateProjectInput {
 15431  	s.BadgeEnabled = &v
 15432  	return s
 15433  }
 15434  
 15435  // SetBuildBatchConfig sets the BuildBatchConfig field's value.
 15436  func (s *UpdateProjectInput) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *UpdateProjectInput {
 15437  	s.BuildBatchConfig = v
 15438  	return s
 15439  }
 15440  
 15441  // SetCache sets the Cache field's value.
 15442  func (s *UpdateProjectInput) SetCache(v *ProjectCache) *UpdateProjectInput {
 15443  	s.Cache = v
 15444  	return s
 15445  }
 15446  
 15447  // SetConcurrentBuildLimit sets the ConcurrentBuildLimit field's value.
 15448  func (s *UpdateProjectInput) SetConcurrentBuildLimit(v int64) *UpdateProjectInput {
 15449  	s.ConcurrentBuildLimit = &v
 15450  	return s
 15451  }
 15452  
 15453  // SetDescription sets the Description field's value.
 15454  func (s *UpdateProjectInput) SetDescription(v string) *UpdateProjectInput {
 15455  	s.Description = &v
 15456  	return s
 15457  }
 15458  
 15459  // SetEncryptionKey sets the EncryptionKey field's value.
 15460  func (s *UpdateProjectInput) SetEncryptionKey(v string) *UpdateProjectInput {
 15461  	s.EncryptionKey = &v
 15462  	return s
 15463  }
 15464  
 15465  // SetEnvironment sets the Environment field's value.
 15466  func (s *UpdateProjectInput) SetEnvironment(v *ProjectEnvironment) *UpdateProjectInput {
 15467  	s.Environment = v
 15468  	return s
 15469  }
 15470  
 15471  // SetFileSystemLocations sets the FileSystemLocations field's value.
 15472  func (s *UpdateProjectInput) SetFileSystemLocations(v []*ProjectFileSystemLocation) *UpdateProjectInput {
 15473  	s.FileSystemLocations = v
 15474  	return s
 15475  }
 15476  
 15477  // SetLogsConfig sets the LogsConfig field's value.
 15478  func (s *UpdateProjectInput) SetLogsConfig(v *LogsConfig) *UpdateProjectInput {
 15479  	s.LogsConfig = v
 15480  	return s
 15481  }
 15482  
 15483  // SetName sets the Name field's value.
 15484  func (s *UpdateProjectInput) SetName(v string) *UpdateProjectInput {
 15485  	s.Name = &v
 15486  	return s
 15487  }
 15488  
 15489  // SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value.
 15490  func (s *UpdateProjectInput) SetQueuedTimeoutInMinutes(v int64) *UpdateProjectInput {
 15491  	s.QueuedTimeoutInMinutes = &v
 15492  	return s
 15493  }
 15494  
 15495  // SetSecondaryArtifacts sets the SecondaryArtifacts field's value.
 15496  func (s *UpdateProjectInput) SetSecondaryArtifacts(v []*ProjectArtifacts) *UpdateProjectInput {
 15497  	s.SecondaryArtifacts = v
 15498  	return s
 15499  }
 15500  
 15501  // SetSecondarySourceVersions sets the SecondarySourceVersions field's value.
 15502  func (s *UpdateProjectInput) SetSecondarySourceVersions(v []*ProjectSourceVersion) *UpdateProjectInput {
 15503  	s.SecondarySourceVersions = v
 15504  	return s
 15505  }
 15506  
 15507  // SetSecondarySources sets the SecondarySources field's value.
 15508  func (s *UpdateProjectInput) SetSecondarySources(v []*ProjectSource) *UpdateProjectInput {
 15509  	s.SecondarySources = v
 15510  	return s
 15511  }
 15512  
 15513  // SetServiceRole sets the ServiceRole field's value.
 15514  func (s *UpdateProjectInput) SetServiceRole(v string) *UpdateProjectInput {
 15515  	s.ServiceRole = &v
 15516  	return s
 15517  }
 15518  
 15519  // SetSource sets the Source field's value.
 15520  func (s *UpdateProjectInput) SetSource(v *ProjectSource) *UpdateProjectInput {
 15521  	s.Source = v
 15522  	return s
 15523  }
 15524  
 15525  // SetSourceVersion sets the SourceVersion field's value.
 15526  func (s *UpdateProjectInput) SetSourceVersion(v string) *UpdateProjectInput {
 15527  	s.SourceVersion = &v
 15528  	return s
 15529  }
 15530  
 15531  // SetTags sets the Tags field's value.
 15532  func (s *UpdateProjectInput) SetTags(v []*Tag) *UpdateProjectInput {
 15533  	s.Tags = v
 15534  	return s
 15535  }
 15536  
 15537  // SetTimeoutInMinutes sets the TimeoutInMinutes field's value.
 15538  func (s *UpdateProjectInput) SetTimeoutInMinutes(v int64) *UpdateProjectInput {
 15539  	s.TimeoutInMinutes = &v
 15540  	return s
 15541  }
 15542  
 15543  // SetVpcConfig sets the VpcConfig field's value.
 15544  func (s *UpdateProjectInput) SetVpcConfig(v *VpcConfig) *UpdateProjectInput {
 15545  	s.VpcConfig = v
 15546  	return s
 15547  }
 15548  
 15549  type UpdateProjectOutput struct {
 15550  	_ struct{} `type:"structure"`
 15551  
 15552  	// Information about the build project that was changed.
 15553  	Project *Project `locationName:"project" type:"structure"`
 15554  }
 15555  
 15556  // String returns the string representation.
 15557  //
 15558  // API parameter values that are decorated as "sensitive" in the API will not
 15559  // be included in the string output. The member name will be present, but the
 15560  // value will be replaced with "sensitive".
 15561  func (s UpdateProjectOutput) String() string {
 15562  	return awsutil.Prettify(s)
 15563  }
 15564  
 15565  // GoString returns the string representation.
 15566  //
 15567  // API parameter values that are decorated as "sensitive" in the API will not
 15568  // be included in the string output. The member name will be present, but the
 15569  // value will be replaced with "sensitive".
 15570  func (s UpdateProjectOutput) GoString() string {
 15571  	return s.String()
 15572  }
 15573  
 15574  // SetProject sets the Project field's value.
 15575  func (s *UpdateProjectOutput) SetProject(v *Project) *UpdateProjectOutput {
 15576  	s.Project = v
 15577  	return s
 15578  }
 15579  
 15580  type UpdateProjectVisibilityInput struct {
 15581  	_ struct{} `type:"structure"`
 15582  
 15583  	// The Amazon Resource Name (ARN) of the build project.
 15584  	//
 15585  	// ProjectArn is a required field
 15586  	ProjectArn *string `locationName:"projectArn" min:"1" type:"string" required:"true"`
 15587  
 15588  	// Specifies the visibility of the project's builds. Possible values are:
 15589  	//
 15590  	// PUBLIC_READ
 15591  	//
 15592  	// The project builds are visible to the public.
 15593  	//
 15594  	// PRIVATE
 15595  	//
 15596  	// The project builds are not visible to the public.
 15597  	//
 15598  	// ProjectVisibility is a required field
 15599  	ProjectVisibility *string `locationName:"projectVisibility" type:"string" required:"true" enum:"ProjectVisibilityType"`
 15600  
 15601  	// The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs
 15602  	// and Amazon S3 artifacts for the project's builds.
 15603  	ResourceAccessRole *string `locationName:"resourceAccessRole" min:"1" type:"string"`
 15604  }
 15605  
 15606  // String returns the string representation.
 15607  //
 15608  // API parameter values that are decorated as "sensitive" in the API will not
 15609  // be included in the string output. The member name will be present, but the
 15610  // value will be replaced with "sensitive".
 15611  func (s UpdateProjectVisibilityInput) String() string {
 15612  	return awsutil.Prettify(s)
 15613  }
 15614  
 15615  // GoString returns the string representation.
 15616  //
 15617  // API parameter values that are decorated as "sensitive" in the API will not
 15618  // be included in the string output. The member name will be present, but the
 15619  // value will be replaced with "sensitive".
 15620  func (s UpdateProjectVisibilityInput) GoString() string {
 15621  	return s.String()
 15622  }
 15623  
 15624  // Validate inspects the fields of the type to determine if they are valid.
 15625  func (s *UpdateProjectVisibilityInput) Validate() error {
 15626  	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectVisibilityInput"}
 15627  	if s.ProjectArn == nil {
 15628  		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
 15629  	}
 15630  	if s.ProjectArn != nil && len(*s.ProjectArn) < 1 {
 15631  		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 1))
 15632  	}
 15633  	if s.ProjectVisibility == nil {
 15634  		invalidParams.Add(request.NewErrParamRequired("ProjectVisibility"))
 15635  	}
 15636  	if s.ResourceAccessRole != nil && len(*s.ResourceAccessRole) < 1 {
 15637  		invalidParams.Add(request.NewErrParamMinLen("ResourceAccessRole", 1))
 15638  	}
 15639  
 15640  	if invalidParams.Len() > 0 {
 15641  		return invalidParams
 15642  	}
 15643  	return nil
 15644  }
 15645  
 15646  // SetProjectArn sets the ProjectArn field's value.
 15647  func (s *UpdateProjectVisibilityInput) SetProjectArn(v string) *UpdateProjectVisibilityInput {
 15648  	s.ProjectArn = &v
 15649  	return s
 15650  }
 15651  
 15652  // SetProjectVisibility sets the ProjectVisibility field's value.
 15653  func (s *UpdateProjectVisibilityInput) SetProjectVisibility(v string) *UpdateProjectVisibilityInput {
 15654  	s.ProjectVisibility = &v
 15655  	return s
 15656  }
 15657  
 15658  // SetResourceAccessRole sets the ResourceAccessRole field's value.
 15659  func (s *UpdateProjectVisibilityInput) SetResourceAccessRole(v string) *UpdateProjectVisibilityInput {
 15660  	s.ResourceAccessRole = &v
 15661  	return s
 15662  }
 15663  
 15664  type UpdateProjectVisibilityOutput struct {
 15665  	_ struct{} `type:"structure"`
 15666  
 15667  	// The Amazon Resource Name (ARN) of the build project.
 15668  	ProjectArn *string `locationName:"projectArn" min:"1" type:"string"`
 15669  
 15670  	// Specifies the visibility of the project's builds. Possible values are:
 15671  	//
 15672  	// PUBLIC_READ
 15673  	//
 15674  	// The project builds are visible to the public.
 15675  	//
 15676  	// PRIVATE
 15677  	//
 15678  	// The project builds are not visible to the public.
 15679  	ProjectVisibility *string `locationName:"projectVisibility" type:"string" enum:"ProjectVisibilityType"`
 15680  
 15681  	// Contains the project identifier used with the public build APIs.
 15682  	PublicProjectAlias *string `locationName:"publicProjectAlias" min:"1" type:"string"`
 15683  }
 15684  
 15685  // String returns the string representation.
 15686  //
 15687  // API parameter values that are decorated as "sensitive" in the API will not
 15688  // be included in the string output. The member name will be present, but the
 15689  // value will be replaced with "sensitive".
 15690  func (s UpdateProjectVisibilityOutput) String() string {
 15691  	return awsutil.Prettify(s)
 15692  }
 15693  
 15694  // GoString returns the string representation.
 15695  //
 15696  // API parameter values that are decorated as "sensitive" in the API will not
 15697  // be included in the string output. The member name will be present, but the
 15698  // value will be replaced with "sensitive".
 15699  func (s UpdateProjectVisibilityOutput) GoString() string {
 15700  	return s.String()
 15701  }
 15702  
 15703  // SetProjectArn sets the ProjectArn field's value.
 15704  func (s *UpdateProjectVisibilityOutput) SetProjectArn(v string) *UpdateProjectVisibilityOutput {
 15705  	s.ProjectArn = &v
 15706  	return s
 15707  }
 15708  
 15709  // SetProjectVisibility sets the ProjectVisibility field's value.
 15710  func (s *UpdateProjectVisibilityOutput) SetProjectVisibility(v string) *UpdateProjectVisibilityOutput {
 15711  	s.ProjectVisibility = &v
 15712  	return s
 15713  }
 15714  
 15715  // SetPublicProjectAlias sets the PublicProjectAlias field's value.
 15716  func (s *UpdateProjectVisibilityOutput) SetPublicProjectAlias(v string) *UpdateProjectVisibilityOutput {
 15717  	s.PublicProjectAlias = &v
 15718  	return s
 15719  }
 15720  
 15721  type UpdateReportGroupInput struct {
 15722  	_ struct{} `type:"structure"`
 15723  
 15724  	// The ARN of the report group to update.
 15725  	//
 15726  	// Arn is a required field
 15727  	Arn *string `locationName:"arn" min:"1" type:"string" required:"true"`
 15728  
 15729  	// Used to specify an updated export type. Valid values are:
 15730  	//
 15731  	//    * S3: The report results are exported to an S3 bucket.
 15732  	//
 15733  	//    * NO_EXPORT: The report results are not exported.
 15734  	ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"`
 15735  
 15736  	// An updated list of tag key and value pairs associated with this report group.
 15737  	//
 15738  	// These tags are available for use by Amazon Web Services services that support
 15739  	// CodeBuild report group tags.
 15740  	Tags []*Tag `locationName:"tags" type:"list"`
 15741  }
 15742  
 15743  // String returns the string representation.
 15744  //
 15745  // API parameter values that are decorated as "sensitive" in the API will not
 15746  // be included in the string output. The member name will be present, but the
 15747  // value will be replaced with "sensitive".
 15748  func (s UpdateReportGroupInput) String() string {
 15749  	return awsutil.Prettify(s)
 15750  }
 15751  
 15752  // GoString returns the string representation.
 15753  //
 15754  // API parameter values that are decorated as "sensitive" in the API will not
 15755  // be included in the string output. The member name will be present, but the
 15756  // value will be replaced with "sensitive".
 15757  func (s UpdateReportGroupInput) GoString() string {
 15758  	return s.String()
 15759  }
 15760  
 15761  // Validate inspects the fields of the type to determine if they are valid.
 15762  func (s *UpdateReportGroupInput) Validate() error {
 15763  	invalidParams := request.ErrInvalidParams{Context: "UpdateReportGroupInput"}
 15764  	if s.Arn == nil {
 15765  		invalidParams.Add(request.NewErrParamRequired("Arn"))
 15766  	}
 15767  	if s.Arn != nil && len(*s.Arn) < 1 {
 15768  		invalidParams.Add(request.NewErrParamMinLen("Arn", 1))
 15769  	}
 15770  	if s.ExportConfig != nil {
 15771  		if err := s.ExportConfig.Validate(); err != nil {
 15772  			invalidParams.AddNested("ExportConfig", err.(request.ErrInvalidParams))
 15773  		}
 15774  	}
 15775  	if s.Tags != nil {
 15776  		for i, v := range s.Tags {
 15777  			if v == nil {
 15778  				continue
 15779  			}
 15780  			if err := v.Validate(); err != nil {
 15781  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
 15782  			}
 15783  		}
 15784  	}
 15785  
 15786  	if invalidParams.Len() > 0 {
 15787  		return invalidParams
 15788  	}
 15789  	return nil
 15790  }
 15791  
 15792  // SetArn sets the Arn field's value.
 15793  func (s *UpdateReportGroupInput) SetArn(v string) *UpdateReportGroupInput {
 15794  	s.Arn = &v
 15795  	return s
 15796  }
 15797  
 15798  // SetExportConfig sets the ExportConfig field's value.
 15799  func (s *UpdateReportGroupInput) SetExportConfig(v *ReportExportConfig) *UpdateReportGroupInput {
 15800  	s.ExportConfig = v
 15801  	return s
 15802  }
 15803  
 15804  // SetTags sets the Tags field's value.
 15805  func (s *UpdateReportGroupInput) SetTags(v []*Tag) *UpdateReportGroupInput {
 15806  	s.Tags = v
 15807  	return s
 15808  }
 15809  
 15810  type UpdateReportGroupOutput struct {
 15811  	_ struct{} `type:"structure"`
 15812  
 15813  	// Information about the updated report group.
 15814  	ReportGroup *ReportGroup `locationName:"reportGroup" type:"structure"`
 15815  }
 15816  
 15817  // String returns the string representation.
 15818  //
 15819  // API parameter values that are decorated as "sensitive" in the API will not
 15820  // be included in the string output. The member name will be present, but the
 15821  // value will be replaced with "sensitive".
 15822  func (s UpdateReportGroupOutput) String() string {
 15823  	return awsutil.Prettify(s)
 15824  }
 15825  
 15826  // GoString returns the string representation.
 15827  //
 15828  // API parameter values that are decorated as "sensitive" in the API will not
 15829  // be included in the string output. The member name will be present, but the
 15830  // value will be replaced with "sensitive".
 15831  func (s UpdateReportGroupOutput) GoString() string {
 15832  	return s.String()
 15833  }
 15834  
 15835  // SetReportGroup sets the ReportGroup field's value.
 15836  func (s *UpdateReportGroupOutput) SetReportGroup(v *ReportGroup) *UpdateReportGroupOutput {
 15837  	s.ReportGroup = v
 15838  	return s
 15839  }
 15840  
 15841  type UpdateWebhookInput struct {
 15842  	_ struct{} `type:"structure"`
 15843  
 15844  	// A regular expression used to determine which repository branches are built
 15845  	// when a webhook is triggered. If the name of a branch matches the regular
 15846  	// expression, then it is built. If branchFilter is empty, then all branches
 15847  	// are built.
 15848  	//
 15849  	// It is recommended that you use filterGroups instead of branchFilter.
 15850  	BranchFilter *string `locationName:"branchFilter" type:"string"`
 15851  
 15852  	// Specifies the type of build this webhook will trigger.
 15853  	BuildType *string `locationName:"buildType" type:"string" enum:"WebhookBuildType"`
 15854  
 15855  	// An array of arrays of WebhookFilter objects used to determine if a webhook
 15856  	// event can trigger a build. A filter group must contain at least one EVENT
 15857  	// WebhookFilter.
 15858  	FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"`
 15859  
 15860  	// The name of the CodeBuild project.
 15861  	//
 15862  	// ProjectName is a required field
 15863  	ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"`
 15864  
 15865  	// A boolean value that specifies whether the associated GitHub repository's
 15866  	// secret token should be updated. If you use Bitbucket for your repository,
 15867  	// rotateSecret is ignored.
 15868  	RotateSecret *bool `locationName:"rotateSecret" type:"boolean"`
 15869  }
 15870  
 15871  // String returns the string representation.
 15872  //
 15873  // API parameter values that are decorated as "sensitive" in the API will not
 15874  // be included in the string output. The member name will be present, but the
 15875  // value will be replaced with "sensitive".
 15876  func (s UpdateWebhookInput) String() string {
 15877  	return awsutil.Prettify(s)
 15878  }
 15879  
 15880  // GoString returns the string representation.
 15881  //
 15882  // API parameter values that are decorated as "sensitive" in the API will not
 15883  // be included in the string output. The member name will be present, but the
 15884  // value will be replaced with "sensitive".
 15885  func (s UpdateWebhookInput) GoString() string {
 15886  	return s.String()
 15887  }
 15888  
 15889  // Validate inspects the fields of the type to determine if they are valid.
 15890  func (s *UpdateWebhookInput) Validate() error {
 15891  	invalidParams := request.ErrInvalidParams{Context: "UpdateWebhookInput"}
 15892  	if s.ProjectName == nil {
 15893  		invalidParams.Add(request.NewErrParamRequired("ProjectName"))
 15894  	}
 15895  	if s.ProjectName != nil && len(*s.ProjectName) < 2 {
 15896  		invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2))
 15897  	}
 15898  
 15899  	if invalidParams.Len() > 0 {
 15900  		return invalidParams
 15901  	}
 15902  	return nil
 15903  }
 15904  
 15905  // SetBranchFilter sets the BranchFilter field's value.
 15906  func (s *UpdateWebhookInput) SetBranchFilter(v string) *UpdateWebhookInput {
 15907  	s.BranchFilter = &v
 15908  	return s
 15909  }
 15910  
 15911  // SetBuildType sets the BuildType field's value.
 15912  func (s *UpdateWebhookInput) SetBuildType(v string) *UpdateWebhookInput {
 15913  	s.BuildType = &v
 15914  	return s
 15915  }
 15916  
 15917  // SetFilterGroups sets the FilterGroups field's value.
 15918  func (s *UpdateWebhookInput) SetFilterGroups(v [][]*WebhookFilter) *UpdateWebhookInput {
 15919  	s.FilterGroups = v
 15920  	return s
 15921  }
 15922  
 15923  // SetProjectName sets the ProjectName field's value.
 15924  func (s *UpdateWebhookInput) SetProjectName(v string) *UpdateWebhookInput {
 15925  	s.ProjectName = &v
 15926  	return s
 15927  }
 15928  
 15929  // SetRotateSecret sets the RotateSecret field's value.
 15930  func (s *UpdateWebhookInput) SetRotateSecret(v bool) *UpdateWebhookInput {
 15931  	s.RotateSecret = &v
 15932  	return s
 15933  }
 15934  
 15935  type UpdateWebhookOutput struct {
 15936  	_ struct{} `type:"structure"`
 15937  
 15938  	// Information about a repository's webhook that is associated with a project
 15939  	// in CodeBuild.
 15940  	Webhook *Webhook `locationName:"webhook" type:"structure"`
 15941  }
 15942  
 15943  // String returns the string representation.
 15944  //
 15945  // API parameter values that are decorated as "sensitive" in the API will not
 15946  // be included in the string output. The member name will be present, but the
 15947  // value will be replaced with "sensitive".
 15948  func (s UpdateWebhookOutput) String() string {
 15949  	return awsutil.Prettify(s)
 15950  }
 15951  
 15952  // GoString returns the string representation.
 15953  //
 15954  // API parameter values that are decorated as "sensitive" in the API will not
 15955  // be included in the string output. The member name will be present, but the
 15956  // value will be replaced with "sensitive".
 15957  func (s UpdateWebhookOutput) GoString() string {
 15958  	return s.String()
 15959  }
 15960  
 15961  // SetWebhook sets the Webhook field's value.
 15962  func (s *UpdateWebhookOutput) SetWebhook(v *Webhook) *UpdateWebhookOutput {
 15963  	s.Webhook = v
 15964  	return s
 15965  }
 15966  
 15967  // Information about the VPC configuration that CodeBuild accesses.
 15968  type VpcConfig struct {
 15969  	_ struct{} `type:"structure"`
 15970  
 15971  	// A list of one or more security groups IDs in your Amazon VPC.
 15972  	SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"`
 15973  
 15974  	// A list of one or more subnet IDs in your Amazon VPC.
 15975  	Subnets []*string `locationName:"subnets" type:"list"`
 15976  
 15977  	// The ID of the Amazon VPC.
 15978  	VpcId *string `locationName:"vpcId" min:"1" type:"string"`
 15979  }
 15980  
 15981  // String returns the string representation.
 15982  //
 15983  // API parameter values that are decorated as "sensitive" in the API will not
 15984  // be included in the string output. The member name will be present, but the
 15985  // value will be replaced with "sensitive".
 15986  func (s VpcConfig) String() string {
 15987  	return awsutil.Prettify(s)
 15988  }
 15989  
 15990  // GoString returns the string representation.
 15991  //
 15992  // API parameter values that are decorated as "sensitive" in the API will not
 15993  // be included in the string output. The member name will be present, but the
 15994  // value will be replaced with "sensitive".
 15995  func (s VpcConfig) GoString() string {
 15996  	return s.String()
 15997  }
 15998  
 15999  // Validate inspects the fields of the type to determine if they are valid.
 16000  func (s *VpcConfig) Validate() error {
 16001  	invalidParams := request.ErrInvalidParams{Context: "VpcConfig"}
 16002  	if s.VpcId != nil && len(*s.VpcId) < 1 {
 16003  		invalidParams.Add(request.NewErrParamMinLen("VpcId", 1))
 16004  	}
 16005  
 16006  	if invalidParams.Len() > 0 {
 16007  		return invalidParams
 16008  	}
 16009  	return nil
 16010  }
 16011  
 16012  // SetSecurityGroupIds sets the SecurityGroupIds field's value.
 16013  func (s *VpcConfig) SetSecurityGroupIds(v []*string) *VpcConfig {
 16014  	s.SecurityGroupIds = v
 16015  	return s
 16016  }
 16017  
 16018  // SetSubnets sets the Subnets field's value.
 16019  func (s *VpcConfig) SetSubnets(v []*string) *VpcConfig {
 16020  	s.Subnets = v
 16021  	return s
 16022  }
 16023  
 16024  // SetVpcId sets the VpcId field's value.
 16025  func (s *VpcConfig) SetVpcId(v string) *VpcConfig {
 16026  	s.VpcId = &v
 16027  	return s
 16028  }
 16029  
 16030  // Information about a webhook that connects repository events to a build project
 16031  // in CodeBuild.
 16032  type Webhook struct {
 16033  	_ struct{} `type:"structure"`
 16034  
 16035  	// A regular expression used to determine which repository branches are built
 16036  	// when a webhook is triggered. If the name of a branch matches the regular
 16037  	// expression, then it is built. If branchFilter is empty, then all branches
 16038  	// are built.
 16039  	//
 16040  	// It is recommended that you use filterGroups instead of branchFilter.
 16041  	BranchFilter *string `locationName:"branchFilter" type:"string"`
 16042  
 16043  	// Specifies the type of build this webhook will trigger.
 16044  	BuildType *string `locationName:"buildType" type:"string" enum:"WebhookBuildType"`
 16045  
 16046  	// An array of arrays of WebhookFilter objects used to determine which webhooks
 16047  	// are triggered. At least one WebhookFilter in the array must specify EVENT
 16048  	// as its type.
 16049  	//
 16050  	// For a build to be triggered, at least one filter group in the filterGroups
 16051  	// array must pass. For a filter group to pass, each of its filters must pass.
 16052  	FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"`
 16053  
 16054  	// A timestamp that indicates the last time a repository's secret token was
 16055  	// modified.
 16056  	LastModifiedSecret *time.Time `locationName:"lastModifiedSecret" type:"timestamp"`
 16057  
 16058  	// The CodeBuild endpoint where webhook events are sent.
 16059  	PayloadUrl *string `locationName:"payloadUrl" min:"1" type:"string"`
 16060  
 16061  	// The secret token of the associated repository.
 16062  	//
 16063  	// A Bitbucket webhook does not support secret.
 16064  	Secret *string `locationName:"secret" min:"1" type:"string"`
 16065  
 16066  	// The URL to the webhook.
 16067  	Url *string `locationName:"url" min:"1" type:"string"`
 16068  }
 16069  
 16070  // String returns the string representation.
 16071  //
 16072  // API parameter values that are decorated as "sensitive" in the API will not
 16073  // be included in the string output. The member name will be present, but the
 16074  // value will be replaced with "sensitive".
 16075  func (s Webhook) String() string {
 16076  	return awsutil.Prettify(s)
 16077  }
 16078  
 16079  // GoString returns the string representation.
 16080  //
 16081  // API parameter values that are decorated as "sensitive" in the API will not
 16082  // be included in the string output. The member name will be present, but the
 16083  // value will be replaced with "sensitive".
 16084  func (s Webhook) GoString() string {
 16085  	return s.String()
 16086  }
 16087  
 16088  // SetBranchFilter sets the BranchFilter field's value.
 16089  func (s *Webhook) SetBranchFilter(v string) *Webhook {
 16090  	s.BranchFilter = &v
 16091  	return s
 16092  }
 16093  
 16094  // SetBuildType sets the BuildType field's value.
 16095  func (s *Webhook) SetBuildType(v string) *Webhook {
 16096  	s.BuildType = &v
 16097  	return s
 16098  }
 16099  
 16100  // SetFilterGroups sets the FilterGroups field's value.
 16101  func (s *Webhook) SetFilterGroups(v [][]*WebhookFilter) *Webhook {
 16102  	s.FilterGroups = v
 16103  	return s
 16104  }
 16105  
 16106  // SetLastModifiedSecret sets the LastModifiedSecret field's value.
 16107  func (s *Webhook) SetLastModifiedSecret(v time.Time) *Webhook {
 16108  	s.LastModifiedSecret = &v
 16109  	return s
 16110  }
 16111  
 16112  // SetPayloadUrl sets the PayloadUrl field's value.
 16113  func (s *Webhook) SetPayloadUrl(v string) *Webhook {
 16114  	s.PayloadUrl = &v
 16115  	return s
 16116  }
 16117  
 16118  // SetSecret sets the Secret field's value.
 16119  func (s *Webhook) SetSecret(v string) *Webhook {
 16120  	s.Secret = &v
 16121  	return s
 16122  }
 16123  
 16124  // SetUrl sets the Url field's value.
 16125  func (s *Webhook) SetUrl(v string) *Webhook {
 16126  	s.Url = &v
 16127  	return s
 16128  }
 16129  
 16130  // A filter used to determine which webhooks trigger a build.
 16131  type WebhookFilter struct {
 16132  	_ struct{} `type:"structure"`
 16133  
 16134  	// Used to indicate that the pattern determines which webhook events do not
 16135  	// trigger a build. If true, then a webhook event that does not match the pattern
 16136  	// triggers a build. If false, then a webhook event that matches the pattern
 16137  	// triggers a build.
 16138  	ExcludeMatchedPattern *bool `locationName:"excludeMatchedPattern" type:"boolean"`
 16139  
 16140  	// For a WebHookFilter that uses EVENT type, a comma-separated string that specifies
 16141  	// one or more events. For example, the webhook filter PUSH, PULL_REQUEST_CREATED,
 16142  	// PULL_REQUEST_UPDATED allows all push, pull request created, and pull request
 16143  	// updated events to trigger a build.
 16144  	//
 16145  	// For a WebHookFilter that uses any of the other filter types, a regular expression
 16146  	// pattern. For example, a WebHookFilter that uses HEAD_REF for its type and
 16147  	// the pattern ^refs/heads/ triggers a build when the head reference is a branch
 16148  	// with a reference name refs/heads/branch-name.
 16149  	//
 16150  	// Pattern is a required field
 16151  	Pattern *string `locationName:"pattern" type:"string" required:"true"`
 16152  
 16153  	// The type of webhook filter. There are six webhook filter types: EVENT, ACTOR_ACCOUNT_ID,
 16154  	// HEAD_REF, BASE_REF, FILE_PATH, and COMMIT_MESSAGE.
 16155  	//
 16156  	// EVENT
 16157  	//
 16158  	// A webhook event triggers a build when the provided pattern matches one of
 16159  	// five event types: PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED, PULL_REQUEST_REOPENED,
 16160  	// and PULL_REQUEST_MERGED. The EVENT patterns are specified as a comma-separated
 16161  	// string. For example, PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED filters
 16162  	// all push, pull request created, and pull request updated events.
 16163  	//
 16164  	// The PULL_REQUEST_REOPENED works with GitHub and GitHub Enterprise only.
 16165  	//
 16166  	// ACTOR_ACCOUNT_ID
 16167  	//
 16168  	// A webhook event triggers a build when a GitHub, GitHub Enterprise, or Bitbucket
 16169  	// account ID matches the regular expression pattern.
 16170  	//
 16171  	// HEAD_REF
 16172  	//
 16173  	// A webhook event triggers a build when the head reference matches the regular
 16174  	// expression pattern. For example, refs/heads/branch-name and refs/tags/tag-name.
 16175  	//
 16176  	// Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise
 16177  	// pull request, Bitbucket push, and Bitbucket pull request events.
 16178  	//
 16179  	// BASE_REF
 16180  	//
 16181  	// A webhook event triggers a build when the base reference matches the regular
 16182  	// expression pattern. For example, refs/heads/branch-name.
 16183  	//
 16184  	// Works with pull request events only.
 16185  	//
 16186  	// FILE_PATH
 16187  	//
 16188  	// A webhook triggers a build when the path of a changed file matches the regular
 16189  	// expression pattern.
 16190  	//
 16191  	// Works with GitHub and Bitbucket events push and pull requests events. Also
 16192  	// works with GitHub Enterprise push events, but does not work with GitHub Enterprise
 16193  	// pull request events.
 16194  	//
 16195  	// COMMIT_MESSAGE
 16196  	//
 16197  	// A webhook triggers a build when the head commit message matches the regular
 16198  	// expression pattern.
 16199  	//
 16200  	// Works with GitHub and Bitbucket events push and pull requests events. Also
 16201  	// works with GitHub Enterprise push events, but does not work with GitHub Enterprise
 16202  	// pull request events.
 16203  	//
 16204  	// Type is a required field
 16205  	Type *string `locationName:"type" type:"string" required:"true" enum:"WebhookFilterType"`
 16206  }
 16207  
 16208  // String returns the string representation.
 16209  //
 16210  // API parameter values that are decorated as "sensitive" in the API will not
 16211  // be included in the string output. The member name will be present, but the
 16212  // value will be replaced with "sensitive".
 16213  func (s WebhookFilter) String() string {
 16214  	return awsutil.Prettify(s)
 16215  }
 16216  
 16217  // GoString returns the string representation.
 16218  //
 16219  // API parameter values that are decorated as "sensitive" in the API will not
 16220  // be included in the string output. The member name will be present, but the
 16221  // value will be replaced with "sensitive".
 16222  func (s WebhookFilter) GoString() string {
 16223  	return s.String()
 16224  }
 16225  
 16226  // SetExcludeMatchedPattern sets the ExcludeMatchedPattern field's value.
 16227  func (s *WebhookFilter) SetExcludeMatchedPattern(v bool) *WebhookFilter {
 16228  	s.ExcludeMatchedPattern = &v
 16229  	return s
 16230  }
 16231  
 16232  // SetPattern sets the Pattern field's value.
 16233  func (s *WebhookFilter) SetPattern(v string) *WebhookFilter {
 16234  	s.Pattern = &v
 16235  	return s
 16236  }
 16237  
 16238  // SetType sets the Type field's value.
 16239  func (s *WebhookFilter) SetType(v string) *WebhookFilter {
 16240  	s.Type = &v
 16241  	return s
 16242  }
 16243  
 16244  const (
 16245  	// ArtifactNamespaceNone is a ArtifactNamespace enum value
 16246  	ArtifactNamespaceNone = "NONE"
 16247  
 16248  	// ArtifactNamespaceBuildId is a ArtifactNamespace enum value
 16249  	ArtifactNamespaceBuildId = "BUILD_ID"
 16250  )
 16251  
 16252  // ArtifactNamespace_Values returns all elements of the ArtifactNamespace enum
 16253  func ArtifactNamespace_Values() []string {
 16254  	return []string{
 16255  		ArtifactNamespaceNone,
 16256  		ArtifactNamespaceBuildId,
 16257  	}
 16258  }
 16259  
 16260  const (
 16261  	// ArtifactPackagingNone is a ArtifactPackaging enum value
 16262  	ArtifactPackagingNone = "NONE"
 16263  
 16264  	// ArtifactPackagingZip is a ArtifactPackaging enum value
 16265  	ArtifactPackagingZip = "ZIP"
 16266  )
 16267  
 16268  // ArtifactPackaging_Values returns all elements of the ArtifactPackaging enum
 16269  func ArtifactPackaging_Values() []string {
 16270  	return []string{
 16271  		ArtifactPackagingNone,
 16272  		ArtifactPackagingZip,
 16273  	}
 16274  }
 16275  
 16276  const (
 16277  	// ArtifactsTypeCodepipeline is a ArtifactsType enum value
 16278  	ArtifactsTypeCodepipeline = "CODEPIPELINE"
 16279  
 16280  	// ArtifactsTypeS3 is a ArtifactsType enum value
 16281  	ArtifactsTypeS3 = "S3"
 16282  
 16283  	// ArtifactsTypeNoArtifacts is a ArtifactsType enum value
 16284  	ArtifactsTypeNoArtifacts = "NO_ARTIFACTS"
 16285  )
 16286  
 16287  // ArtifactsType_Values returns all elements of the ArtifactsType enum
 16288  func ArtifactsType_Values() []string {
 16289  	return []string{
 16290  		ArtifactsTypeCodepipeline,
 16291  		ArtifactsTypeS3,
 16292  		ArtifactsTypeNoArtifacts,
 16293  	}
 16294  }
 16295  
 16296  const (
 16297  	// AuthTypeOauth is a AuthType enum value
 16298  	AuthTypeOauth = "OAUTH"
 16299  
 16300  	// AuthTypeBasicAuth is a AuthType enum value
 16301  	AuthTypeBasicAuth = "BASIC_AUTH"
 16302  
 16303  	// AuthTypePersonalAccessToken is a AuthType enum value
 16304  	AuthTypePersonalAccessToken = "PERSONAL_ACCESS_TOKEN"
 16305  )
 16306  
 16307  // AuthType_Values returns all elements of the AuthType enum
 16308  func AuthType_Values() []string {
 16309  	return []string{
 16310  		AuthTypeOauth,
 16311  		AuthTypeBasicAuth,
 16312  		AuthTypePersonalAccessToken,
 16313  	}
 16314  }
 16315  
 16316  const (
 16317  	// BatchReportModeTypeReportIndividualBuilds is a BatchReportModeType enum value
 16318  	BatchReportModeTypeReportIndividualBuilds = "REPORT_INDIVIDUAL_BUILDS"
 16319  
 16320  	// BatchReportModeTypeReportAggregatedBatch is a BatchReportModeType enum value
 16321  	BatchReportModeTypeReportAggregatedBatch = "REPORT_AGGREGATED_BATCH"
 16322  )
 16323  
 16324  // BatchReportModeType_Values returns all elements of the BatchReportModeType enum
 16325  func BatchReportModeType_Values() []string {
 16326  	return []string{
 16327  		BatchReportModeTypeReportIndividualBuilds,
 16328  		BatchReportModeTypeReportAggregatedBatch,
 16329  	}
 16330  }
 16331  
 16332  // Specifies the bucket owner's access for objects that another account uploads
 16333  // to their Amazon S3 bucket. By default, only the account that uploads the
 16334  // objects to the bucket has access to these objects. This property allows you
 16335  // to give the bucket owner access to these objects.
 16336  //
 16337  // To use this property, your CodeBuild service role must have the s3:PutBucketAcl
 16338  // permission. This permission allows CodeBuild to modify the access control
 16339  // list for the bucket.
 16340  //
 16341  // This property can be one of the following values:
 16342  //
 16343  // NONE
 16344  //
 16345  // The bucket owner does not have access to the objects. This is the default.
 16346  //
 16347  // READ_ONLY
 16348  //
 16349  // The bucket owner has read-only access to the objects. The uploading account
 16350  // retains ownership of the objects.
 16351  //
 16352  // FULL
 16353  //
 16354  // The bucket owner has full access to the objects. Object ownership is determined
 16355  // by the following criteria:
 16356  //
 16357  //    * If the bucket is configured with the Bucket owner preferred setting,
 16358  //    the bucket owner owns the objects. The uploading account will have object
 16359  //    access as specified by the bucket's policy.
 16360  //
 16361  //    * Otherwise, the uploading account retains ownership of the objects.
 16362  //
 16363  // For more information about Amazon S3 object ownership, see Controlling ownership
 16364  // of uploaded objects using S3 Object Ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
 16365  // in the Amazon Simple Storage Service User Guide.
 16366  const (
 16367  	// BucketOwnerAccessNone is a BucketOwnerAccess enum value
 16368  	BucketOwnerAccessNone = "NONE"
 16369  
 16370  	// BucketOwnerAccessReadOnly is a BucketOwnerAccess enum value
 16371  	BucketOwnerAccessReadOnly = "READ_ONLY"
 16372  
 16373  	// BucketOwnerAccessFull is a BucketOwnerAccess enum value
 16374  	BucketOwnerAccessFull = "FULL"
 16375  )
 16376  
 16377  // BucketOwnerAccess_Values returns all elements of the BucketOwnerAccess enum
 16378  func BucketOwnerAccess_Values() []string {
 16379  	return []string{
 16380  		BucketOwnerAccessNone,
 16381  		BucketOwnerAccessReadOnly,
 16382  		BucketOwnerAccessFull,
 16383  	}
 16384  }
 16385  
 16386  const (
 16387  	// BuildBatchPhaseTypeSubmitted is a BuildBatchPhaseType enum value
 16388  	BuildBatchPhaseTypeSubmitted = "SUBMITTED"
 16389  
 16390  	// BuildBatchPhaseTypeDownloadBatchspec is a BuildBatchPhaseType enum value
 16391  	BuildBatchPhaseTypeDownloadBatchspec = "DOWNLOAD_BATCHSPEC"
 16392  
 16393  	// BuildBatchPhaseTypeInProgress is a BuildBatchPhaseType enum value
 16394  	BuildBatchPhaseTypeInProgress = "IN_PROGRESS"
 16395  
 16396  	// BuildBatchPhaseTypeCombineArtifacts is a BuildBatchPhaseType enum value
 16397  	BuildBatchPhaseTypeCombineArtifacts = "COMBINE_ARTIFACTS"
 16398  
 16399  	// BuildBatchPhaseTypeSucceeded is a BuildBatchPhaseType enum value
 16400  	BuildBatchPhaseTypeSucceeded = "SUCCEEDED"
 16401  
 16402  	// BuildBatchPhaseTypeFailed is a BuildBatchPhaseType enum value
 16403  	BuildBatchPhaseTypeFailed = "FAILED"
 16404  
 16405  	// BuildBatchPhaseTypeStopped is a BuildBatchPhaseType enum value
 16406  	BuildBatchPhaseTypeStopped = "STOPPED"
 16407  )
 16408  
 16409  // BuildBatchPhaseType_Values returns all elements of the BuildBatchPhaseType enum
 16410  func BuildBatchPhaseType_Values() []string {
 16411  	return []string{
 16412  		BuildBatchPhaseTypeSubmitted,
 16413  		BuildBatchPhaseTypeDownloadBatchspec,
 16414  		BuildBatchPhaseTypeInProgress,
 16415  		BuildBatchPhaseTypeCombineArtifacts,
 16416  		BuildBatchPhaseTypeSucceeded,
 16417  		BuildBatchPhaseTypeFailed,
 16418  		BuildBatchPhaseTypeStopped,
 16419  	}
 16420  }
 16421  
 16422  const (
 16423  	// BuildPhaseTypeSubmitted is a BuildPhaseType enum value
 16424  	BuildPhaseTypeSubmitted = "SUBMITTED"
 16425  
 16426  	// BuildPhaseTypeQueued is a BuildPhaseType enum value
 16427  	BuildPhaseTypeQueued = "QUEUED"
 16428  
 16429  	// BuildPhaseTypeProvisioning is a BuildPhaseType enum value
 16430  	BuildPhaseTypeProvisioning = "PROVISIONING"
 16431  
 16432  	// BuildPhaseTypeDownloadSource is a BuildPhaseType enum value
 16433  	BuildPhaseTypeDownloadSource = "DOWNLOAD_SOURCE"
 16434  
 16435  	// BuildPhaseTypeInstall is a BuildPhaseType enum value
 16436  	BuildPhaseTypeInstall = "INSTALL"
 16437  
 16438  	// BuildPhaseTypePreBuild is a BuildPhaseType enum value
 16439  	BuildPhaseTypePreBuild = "PRE_BUILD"
 16440  
 16441  	// BuildPhaseTypeBuild is a BuildPhaseType enum value
 16442  	BuildPhaseTypeBuild = "BUILD"
 16443  
 16444  	// BuildPhaseTypePostBuild is a BuildPhaseType enum value
 16445  	BuildPhaseTypePostBuild = "POST_BUILD"
 16446  
 16447  	// BuildPhaseTypeUploadArtifacts is a BuildPhaseType enum value
 16448  	BuildPhaseTypeUploadArtifacts = "UPLOAD_ARTIFACTS"
 16449  
 16450  	// BuildPhaseTypeFinalizing is a BuildPhaseType enum value
 16451  	BuildPhaseTypeFinalizing = "FINALIZING"
 16452  
 16453  	// BuildPhaseTypeCompleted is a BuildPhaseType enum value
 16454  	BuildPhaseTypeCompleted = "COMPLETED"
 16455  )
 16456  
 16457  // BuildPhaseType_Values returns all elements of the BuildPhaseType enum
 16458  func BuildPhaseType_Values() []string {
 16459  	return []string{
 16460  		BuildPhaseTypeSubmitted,
 16461  		BuildPhaseTypeQueued,
 16462  		BuildPhaseTypeProvisioning,
 16463  		BuildPhaseTypeDownloadSource,
 16464  		BuildPhaseTypeInstall,
 16465  		BuildPhaseTypePreBuild,
 16466  		BuildPhaseTypeBuild,
 16467  		BuildPhaseTypePostBuild,
 16468  		BuildPhaseTypeUploadArtifacts,
 16469  		BuildPhaseTypeFinalizing,
 16470  		BuildPhaseTypeCompleted,
 16471  	}
 16472  }
 16473  
 16474  const (
 16475  	// CacheModeLocalDockerLayerCache is a CacheMode enum value
 16476  	CacheModeLocalDockerLayerCache = "LOCAL_DOCKER_LAYER_CACHE"
 16477  
 16478  	// CacheModeLocalSourceCache is a CacheMode enum value
 16479  	CacheModeLocalSourceCache = "LOCAL_SOURCE_CACHE"
 16480  
 16481  	// CacheModeLocalCustomCache is a CacheMode enum value
 16482  	CacheModeLocalCustomCache = "LOCAL_CUSTOM_CACHE"
 16483  )
 16484  
 16485  // CacheMode_Values returns all elements of the CacheMode enum
 16486  func CacheMode_Values() []string {
 16487  	return []string{
 16488  		CacheModeLocalDockerLayerCache,
 16489  		CacheModeLocalSourceCache,
 16490  		CacheModeLocalCustomCache,
 16491  	}
 16492  }
 16493  
 16494  const (
 16495  	// CacheTypeNoCache is a CacheType enum value
 16496  	CacheTypeNoCache = "NO_CACHE"
 16497  
 16498  	// CacheTypeS3 is a CacheType enum value
 16499  	CacheTypeS3 = "S3"
 16500  
 16501  	// CacheTypeLocal is a CacheType enum value
 16502  	CacheTypeLocal = "LOCAL"
 16503  )
 16504  
 16505  // CacheType_Values returns all elements of the CacheType enum
 16506  func CacheType_Values() []string {
 16507  	return []string{
 16508  		CacheTypeNoCache,
 16509  		CacheTypeS3,
 16510  		CacheTypeLocal,
 16511  	}
 16512  }
 16513  
 16514  const (
 16515  	// ComputeTypeBuildGeneral1Small is a ComputeType enum value
 16516  	ComputeTypeBuildGeneral1Small = "BUILD_GENERAL1_SMALL"
 16517  
 16518  	// ComputeTypeBuildGeneral1Medium is a ComputeType enum value
 16519  	ComputeTypeBuildGeneral1Medium = "BUILD_GENERAL1_MEDIUM"
 16520  
 16521  	// ComputeTypeBuildGeneral1Large is a ComputeType enum value
 16522  	ComputeTypeBuildGeneral1Large = "BUILD_GENERAL1_LARGE"
 16523  
 16524  	// ComputeTypeBuildGeneral12xlarge is a ComputeType enum value
 16525  	ComputeTypeBuildGeneral12xlarge = "BUILD_GENERAL1_2XLARGE"
 16526  )
 16527  
 16528  // ComputeType_Values returns all elements of the ComputeType enum
 16529  func ComputeType_Values() []string {
 16530  	return []string{
 16531  		ComputeTypeBuildGeneral1Small,
 16532  		ComputeTypeBuildGeneral1Medium,
 16533  		ComputeTypeBuildGeneral1Large,
 16534  		ComputeTypeBuildGeneral12xlarge,
 16535  	}
 16536  }
 16537  
 16538  const (
 16539  	// CredentialProviderTypeSecretsManager is a CredentialProviderType enum value
 16540  	CredentialProviderTypeSecretsManager = "SECRETS_MANAGER"
 16541  )
 16542  
 16543  // CredentialProviderType_Values returns all elements of the CredentialProviderType enum
 16544  func CredentialProviderType_Values() []string {
 16545  	return []string{
 16546  		CredentialProviderTypeSecretsManager,
 16547  	}
 16548  }
 16549  
 16550  const (
 16551  	// EnvironmentTypeWindowsContainer is a EnvironmentType enum value
 16552  	EnvironmentTypeWindowsContainer = "WINDOWS_CONTAINER"
 16553  
 16554  	// EnvironmentTypeLinuxContainer is a EnvironmentType enum value
 16555  	EnvironmentTypeLinuxContainer = "LINUX_CONTAINER"
 16556  
 16557  	// EnvironmentTypeLinuxGpuContainer is a EnvironmentType enum value
 16558  	EnvironmentTypeLinuxGpuContainer = "LINUX_GPU_CONTAINER"
 16559  
 16560  	// EnvironmentTypeArmContainer is a EnvironmentType enum value
 16561  	EnvironmentTypeArmContainer = "ARM_CONTAINER"
 16562  
 16563  	// EnvironmentTypeWindowsServer2019Container is a EnvironmentType enum value
 16564  	EnvironmentTypeWindowsServer2019Container = "WINDOWS_SERVER_2019_CONTAINER"
 16565  )
 16566  
 16567  // EnvironmentType_Values returns all elements of the EnvironmentType enum
 16568  func EnvironmentType_Values() []string {
 16569  	return []string{
 16570  		EnvironmentTypeWindowsContainer,
 16571  		EnvironmentTypeLinuxContainer,
 16572  		EnvironmentTypeLinuxGpuContainer,
 16573  		EnvironmentTypeArmContainer,
 16574  		EnvironmentTypeWindowsServer2019Container,
 16575  	}
 16576  }
 16577  
 16578  const (
 16579  	// EnvironmentVariableTypePlaintext is a EnvironmentVariableType enum value
 16580  	EnvironmentVariableTypePlaintext = "PLAINTEXT"
 16581  
 16582  	// EnvironmentVariableTypeParameterStore is a EnvironmentVariableType enum value
 16583  	EnvironmentVariableTypeParameterStore = "PARAMETER_STORE"
 16584  
 16585  	// EnvironmentVariableTypeSecretsManager is a EnvironmentVariableType enum value
 16586  	EnvironmentVariableTypeSecretsManager = "SECRETS_MANAGER"
 16587  )
 16588  
 16589  // EnvironmentVariableType_Values returns all elements of the EnvironmentVariableType enum
 16590  func EnvironmentVariableType_Values() []string {
 16591  	return []string{
 16592  		EnvironmentVariableTypePlaintext,
 16593  		EnvironmentVariableTypeParameterStore,
 16594  		EnvironmentVariableTypeSecretsManager,
 16595  	}
 16596  }
 16597  
 16598  const (
 16599  	// FileSystemTypeEfs is a FileSystemType enum value
 16600  	FileSystemTypeEfs = "EFS"
 16601  )
 16602  
 16603  // FileSystemType_Values returns all elements of the FileSystemType enum
 16604  func FileSystemType_Values() []string {
 16605  	return []string{
 16606  		FileSystemTypeEfs,
 16607  	}
 16608  }
 16609  
 16610  const (
 16611  	// ImagePullCredentialsTypeCodebuild is a ImagePullCredentialsType enum value
 16612  	ImagePullCredentialsTypeCodebuild = "CODEBUILD"
 16613  
 16614  	// ImagePullCredentialsTypeServiceRole is a ImagePullCredentialsType enum value
 16615  	ImagePullCredentialsTypeServiceRole = "SERVICE_ROLE"
 16616  )
 16617  
 16618  // ImagePullCredentialsType_Values returns all elements of the ImagePullCredentialsType enum
 16619  func ImagePullCredentialsType_Values() []string {
 16620  	return []string{
 16621  		ImagePullCredentialsTypeCodebuild,
 16622  		ImagePullCredentialsTypeServiceRole,
 16623  	}
 16624  }
 16625  
 16626  const (
 16627  	// LanguageTypeJava is a LanguageType enum value
 16628  	LanguageTypeJava = "JAVA"
 16629  
 16630  	// LanguageTypePython is a LanguageType enum value
 16631  	LanguageTypePython = "PYTHON"
 16632  
 16633  	// LanguageTypeNodeJs is a LanguageType enum value
 16634  	LanguageTypeNodeJs = "NODE_JS"
 16635  
 16636  	// LanguageTypeRuby is a LanguageType enum value
 16637  	LanguageTypeRuby = "RUBY"
 16638  
 16639  	// LanguageTypeGolang is a LanguageType enum value
 16640  	LanguageTypeGolang = "GOLANG"
 16641  
 16642  	// LanguageTypeDocker is a LanguageType enum value
 16643  	LanguageTypeDocker = "DOCKER"
 16644  
 16645  	// LanguageTypeAndroid is a LanguageType enum value
 16646  	LanguageTypeAndroid = "ANDROID"
 16647  
 16648  	// LanguageTypeDotnet is a LanguageType enum value
 16649  	LanguageTypeDotnet = "DOTNET"
 16650  
 16651  	// LanguageTypeBase is a LanguageType enum value
 16652  	LanguageTypeBase = "BASE"
 16653  
 16654  	// LanguageTypePhp is a LanguageType enum value
 16655  	LanguageTypePhp = "PHP"
 16656  )
 16657  
 16658  // LanguageType_Values returns all elements of the LanguageType enum
 16659  func LanguageType_Values() []string {
 16660  	return []string{
 16661  		LanguageTypeJava,
 16662  		LanguageTypePython,
 16663  		LanguageTypeNodeJs,
 16664  		LanguageTypeRuby,
 16665  		LanguageTypeGolang,
 16666  		LanguageTypeDocker,
 16667  		LanguageTypeAndroid,
 16668  		LanguageTypeDotnet,
 16669  		LanguageTypeBase,
 16670  		LanguageTypePhp,
 16671  	}
 16672  }
 16673  
 16674  const (
 16675  	// LogsConfigStatusTypeEnabled is a LogsConfigStatusType enum value
 16676  	LogsConfigStatusTypeEnabled = "ENABLED"
 16677  
 16678  	// LogsConfigStatusTypeDisabled is a LogsConfigStatusType enum value
 16679  	LogsConfigStatusTypeDisabled = "DISABLED"
 16680  )
 16681  
 16682  // LogsConfigStatusType_Values returns all elements of the LogsConfigStatusType enum
 16683  func LogsConfigStatusType_Values() []string {
 16684  	return []string{
 16685  		LogsConfigStatusTypeEnabled,
 16686  		LogsConfigStatusTypeDisabled,
 16687  	}
 16688  }
 16689  
 16690  const (
 16691  	// PlatformTypeDebian is a PlatformType enum value
 16692  	PlatformTypeDebian = "DEBIAN"
 16693  
 16694  	// PlatformTypeAmazonLinux is a PlatformType enum value
 16695  	PlatformTypeAmazonLinux = "AMAZON_LINUX"
 16696  
 16697  	// PlatformTypeUbuntu is a PlatformType enum value
 16698  	PlatformTypeUbuntu = "UBUNTU"
 16699  
 16700  	// PlatformTypeWindowsServer is a PlatformType enum value
 16701  	PlatformTypeWindowsServer = "WINDOWS_SERVER"
 16702  )
 16703  
 16704  // PlatformType_Values returns all elements of the PlatformType enum
 16705  func PlatformType_Values() []string {
 16706  	return []string{
 16707  		PlatformTypeDebian,
 16708  		PlatformTypeAmazonLinux,
 16709  		PlatformTypeUbuntu,
 16710  		PlatformTypeWindowsServer,
 16711  	}
 16712  }
 16713  
 16714  const (
 16715  	// ProjectSortByTypeName is a ProjectSortByType enum value
 16716  	ProjectSortByTypeName = "NAME"
 16717  
 16718  	// ProjectSortByTypeCreatedTime is a ProjectSortByType enum value
 16719  	ProjectSortByTypeCreatedTime = "CREATED_TIME"
 16720  
 16721  	// ProjectSortByTypeLastModifiedTime is a ProjectSortByType enum value
 16722  	ProjectSortByTypeLastModifiedTime = "LAST_MODIFIED_TIME"
 16723  )
 16724  
 16725  // ProjectSortByType_Values returns all elements of the ProjectSortByType enum
 16726  func ProjectSortByType_Values() []string {
 16727  	return []string{
 16728  		ProjectSortByTypeName,
 16729  		ProjectSortByTypeCreatedTime,
 16730  		ProjectSortByTypeLastModifiedTime,
 16731  	}
 16732  }
 16733  
 16734  // Specifies the visibility of the project's builds. Possible values are:
 16735  //
 16736  // PUBLIC_READ
 16737  //
 16738  // The project builds are visible to the public.
 16739  //
 16740  // PRIVATE
 16741  //
 16742  // The project builds are not visible to the public.
 16743  const (
 16744  	// ProjectVisibilityTypePublicRead is a ProjectVisibilityType enum value
 16745  	ProjectVisibilityTypePublicRead = "PUBLIC_READ"
 16746  
 16747  	// ProjectVisibilityTypePrivate is a ProjectVisibilityType enum value
 16748  	ProjectVisibilityTypePrivate = "PRIVATE"
 16749  )
 16750  
 16751  // ProjectVisibilityType_Values returns all elements of the ProjectVisibilityType enum
 16752  func ProjectVisibilityType_Values() []string {
 16753  	return []string{
 16754  		ProjectVisibilityTypePublicRead,
 16755  		ProjectVisibilityTypePrivate,
 16756  	}
 16757  }
 16758  
 16759  const (
 16760  	// ReportCodeCoverageSortByTypeLineCoveragePercentage is a ReportCodeCoverageSortByType enum value
 16761  	ReportCodeCoverageSortByTypeLineCoveragePercentage = "LINE_COVERAGE_PERCENTAGE"
 16762  
 16763  	// ReportCodeCoverageSortByTypeFilePath is a ReportCodeCoverageSortByType enum value
 16764  	ReportCodeCoverageSortByTypeFilePath = "FILE_PATH"
 16765  )
 16766  
 16767  // ReportCodeCoverageSortByType_Values returns all elements of the ReportCodeCoverageSortByType enum
 16768  func ReportCodeCoverageSortByType_Values() []string {
 16769  	return []string{
 16770  		ReportCodeCoverageSortByTypeLineCoveragePercentage,
 16771  		ReportCodeCoverageSortByTypeFilePath,
 16772  	}
 16773  }
 16774  
 16775  const (
 16776  	// ReportExportConfigTypeS3 is a ReportExportConfigType enum value
 16777  	ReportExportConfigTypeS3 = "S3"
 16778  
 16779  	// ReportExportConfigTypeNoExport is a ReportExportConfigType enum value
 16780  	ReportExportConfigTypeNoExport = "NO_EXPORT"
 16781  )
 16782  
 16783  // ReportExportConfigType_Values returns all elements of the ReportExportConfigType enum
 16784  func ReportExportConfigType_Values() []string {
 16785  	return []string{
 16786  		ReportExportConfigTypeS3,
 16787  		ReportExportConfigTypeNoExport,
 16788  	}
 16789  }
 16790  
 16791  const (
 16792  	// ReportGroupSortByTypeName is a ReportGroupSortByType enum value
 16793  	ReportGroupSortByTypeName = "NAME"
 16794  
 16795  	// ReportGroupSortByTypeCreatedTime is a ReportGroupSortByType enum value
 16796  	ReportGroupSortByTypeCreatedTime = "CREATED_TIME"
 16797  
 16798  	// ReportGroupSortByTypeLastModifiedTime is a ReportGroupSortByType enum value
 16799  	ReportGroupSortByTypeLastModifiedTime = "LAST_MODIFIED_TIME"
 16800  )
 16801  
 16802  // ReportGroupSortByType_Values returns all elements of the ReportGroupSortByType enum
 16803  func ReportGroupSortByType_Values() []string {
 16804  	return []string{
 16805  		ReportGroupSortByTypeName,
 16806  		ReportGroupSortByTypeCreatedTime,
 16807  		ReportGroupSortByTypeLastModifiedTime,
 16808  	}
 16809  }
 16810  
 16811  const (
 16812  	// ReportGroupStatusTypeActive is a ReportGroupStatusType enum value
 16813  	ReportGroupStatusTypeActive = "ACTIVE"
 16814  
 16815  	// ReportGroupStatusTypeDeleting is a ReportGroupStatusType enum value
 16816  	ReportGroupStatusTypeDeleting = "DELETING"
 16817  )
 16818  
 16819  // ReportGroupStatusType_Values returns all elements of the ReportGroupStatusType enum
 16820  func ReportGroupStatusType_Values() []string {
 16821  	return []string{
 16822  		ReportGroupStatusTypeActive,
 16823  		ReportGroupStatusTypeDeleting,
 16824  	}
 16825  }
 16826  
 16827  const (
 16828  	// ReportGroupTrendFieldTypePassRate is a ReportGroupTrendFieldType enum value
 16829  	ReportGroupTrendFieldTypePassRate = "PASS_RATE"
 16830  
 16831  	// ReportGroupTrendFieldTypeDuration is a ReportGroupTrendFieldType enum value
 16832  	ReportGroupTrendFieldTypeDuration = "DURATION"
 16833  
 16834  	// ReportGroupTrendFieldTypeTotal is a ReportGroupTrendFieldType enum value
 16835  	ReportGroupTrendFieldTypeTotal = "TOTAL"
 16836  
 16837  	// ReportGroupTrendFieldTypeLineCoverage is a ReportGroupTrendFieldType enum value
 16838  	ReportGroupTrendFieldTypeLineCoverage = "LINE_COVERAGE"
 16839  
 16840  	// ReportGroupTrendFieldTypeLinesCovered is a ReportGroupTrendFieldType enum value
 16841  	ReportGroupTrendFieldTypeLinesCovered = "LINES_COVERED"
 16842  
 16843  	// ReportGroupTrendFieldTypeLinesMissed is a ReportGroupTrendFieldType enum value
 16844  	ReportGroupTrendFieldTypeLinesMissed = "LINES_MISSED"
 16845  
 16846  	// ReportGroupTrendFieldTypeBranchCoverage is a ReportGroupTrendFieldType enum value
 16847  	ReportGroupTrendFieldTypeBranchCoverage = "BRANCH_COVERAGE"
 16848  
 16849  	// ReportGroupTrendFieldTypeBranchesCovered is a ReportGroupTrendFieldType enum value
 16850  	ReportGroupTrendFieldTypeBranchesCovered = "BRANCHES_COVERED"
 16851  
 16852  	// ReportGroupTrendFieldTypeBranchesMissed is a ReportGroupTrendFieldType enum value
 16853  	ReportGroupTrendFieldTypeBranchesMissed = "BRANCHES_MISSED"
 16854  )
 16855  
 16856  // ReportGroupTrendFieldType_Values returns all elements of the ReportGroupTrendFieldType enum
 16857  func ReportGroupTrendFieldType_Values() []string {
 16858  	return []string{
 16859  		ReportGroupTrendFieldTypePassRate,
 16860  		ReportGroupTrendFieldTypeDuration,
 16861  		ReportGroupTrendFieldTypeTotal,
 16862  		ReportGroupTrendFieldTypeLineCoverage,
 16863  		ReportGroupTrendFieldTypeLinesCovered,
 16864  		ReportGroupTrendFieldTypeLinesMissed,
 16865  		ReportGroupTrendFieldTypeBranchCoverage,
 16866  		ReportGroupTrendFieldTypeBranchesCovered,
 16867  		ReportGroupTrendFieldTypeBranchesMissed,
 16868  	}
 16869  }
 16870  
 16871  const (
 16872  	// ReportPackagingTypeZip is a ReportPackagingType enum value
 16873  	ReportPackagingTypeZip = "ZIP"
 16874  
 16875  	// ReportPackagingTypeNone is a ReportPackagingType enum value
 16876  	ReportPackagingTypeNone = "NONE"
 16877  )
 16878  
 16879  // ReportPackagingType_Values returns all elements of the ReportPackagingType enum
 16880  func ReportPackagingType_Values() []string {
 16881  	return []string{
 16882  		ReportPackagingTypeZip,
 16883  		ReportPackagingTypeNone,
 16884  	}
 16885  }
 16886  
 16887  const (
 16888  	// ReportStatusTypeGenerating is a ReportStatusType enum value
 16889  	ReportStatusTypeGenerating = "GENERATING"
 16890  
 16891  	// ReportStatusTypeSucceeded is a ReportStatusType enum value
 16892  	ReportStatusTypeSucceeded = "SUCCEEDED"
 16893  
 16894  	// ReportStatusTypeFailed is a ReportStatusType enum value
 16895  	ReportStatusTypeFailed = "FAILED"
 16896  
 16897  	// ReportStatusTypeIncomplete is a ReportStatusType enum value
 16898  	ReportStatusTypeIncomplete = "INCOMPLETE"
 16899  
 16900  	// ReportStatusTypeDeleting is a ReportStatusType enum value
 16901  	ReportStatusTypeDeleting = "DELETING"
 16902  )
 16903  
 16904  // ReportStatusType_Values returns all elements of the ReportStatusType enum
 16905  func ReportStatusType_Values() []string {
 16906  	return []string{
 16907  		ReportStatusTypeGenerating,
 16908  		ReportStatusTypeSucceeded,
 16909  		ReportStatusTypeFailed,
 16910  		ReportStatusTypeIncomplete,
 16911  		ReportStatusTypeDeleting,
 16912  	}
 16913  }
 16914  
 16915  const (
 16916  	// ReportTypeTest is a ReportType enum value
 16917  	ReportTypeTest = "TEST"
 16918  
 16919  	// ReportTypeCodeCoverage is a ReportType enum value
 16920  	ReportTypeCodeCoverage = "CODE_COVERAGE"
 16921  )
 16922  
 16923  // ReportType_Values returns all elements of the ReportType enum
 16924  func ReportType_Values() []string {
 16925  	return []string{
 16926  		ReportTypeTest,
 16927  		ReportTypeCodeCoverage,
 16928  	}
 16929  }
 16930  
 16931  const (
 16932  	// RetryBuildBatchTypeRetryAllBuilds is a RetryBuildBatchType enum value
 16933  	RetryBuildBatchTypeRetryAllBuilds = "RETRY_ALL_BUILDS"
 16934  
 16935  	// RetryBuildBatchTypeRetryFailedBuilds is a RetryBuildBatchType enum value
 16936  	RetryBuildBatchTypeRetryFailedBuilds = "RETRY_FAILED_BUILDS"
 16937  )
 16938  
 16939  // RetryBuildBatchType_Values returns all elements of the RetryBuildBatchType enum
 16940  func RetryBuildBatchType_Values() []string {
 16941  	return []string{
 16942  		RetryBuildBatchTypeRetryAllBuilds,
 16943  		RetryBuildBatchTypeRetryFailedBuilds,
 16944  	}
 16945  }
 16946  
 16947  const (
 16948  	// ServerTypeGithub is a ServerType enum value
 16949  	ServerTypeGithub = "GITHUB"
 16950  
 16951  	// ServerTypeBitbucket is a ServerType enum value
 16952  	ServerTypeBitbucket = "BITBUCKET"
 16953  
 16954  	// ServerTypeGithubEnterprise is a ServerType enum value
 16955  	ServerTypeGithubEnterprise = "GITHUB_ENTERPRISE"
 16956  )
 16957  
 16958  // ServerType_Values returns all elements of the ServerType enum
 16959  func ServerType_Values() []string {
 16960  	return []string{
 16961  		ServerTypeGithub,
 16962  		ServerTypeBitbucket,
 16963  		ServerTypeGithubEnterprise,
 16964  	}
 16965  }
 16966  
 16967  const (
 16968  	// SharedResourceSortByTypeArn is a SharedResourceSortByType enum value
 16969  	SharedResourceSortByTypeArn = "ARN"
 16970  
 16971  	// SharedResourceSortByTypeModifiedTime is a SharedResourceSortByType enum value
 16972  	SharedResourceSortByTypeModifiedTime = "MODIFIED_TIME"
 16973  )
 16974  
 16975  // SharedResourceSortByType_Values returns all elements of the SharedResourceSortByType enum
 16976  func SharedResourceSortByType_Values() []string {
 16977  	return []string{
 16978  		SharedResourceSortByTypeArn,
 16979  		SharedResourceSortByTypeModifiedTime,
 16980  	}
 16981  }
 16982  
 16983  const (
 16984  	// SortOrderTypeAscending is a SortOrderType enum value
 16985  	SortOrderTypeAscending = "ASCENDING"
 16986  
 16987  	// SortOrderTypeDescending is a SortOrderType enum value
 16988  	SortOrderTypeDescending = "DESCENDING"
 16989  )
 16990  
 16991  // SortOrderType_Values returns all elements of the SortOrderType enum
 16992  func SortOrderType_Values() []string {
 16993  	return []string{
 16994  		SortOrderTypeAscending,
 16995  		SortOrderTypeDescending,
 16996  	}
 16997  }
 16998  
 16999  const (
 17000  	// SourceAuthTypeOauth is a SourceAuthType enum value
 17001  	SourceAuthTypeOauth = "OAUTH"
 17002  )
 17003  
 17004  // SourceAuthType_Values returns all elements of the SourceAuthType enum
 17005  func SourceAuthType_Values() []string {
 17006  	return []string{
 17007  		SourceAuthTypeOauth,
 17008  	}
 17009  }
 17010  
 17011  const (
 17012  	// SourceTypeCodecommit is a SourceType enum value
 17013  	SourceTypeCodecommit = "CODECOMMIT"
 17014  
 17015  	// SourceTypeCodepipeline is a SourceType enum value
 17016  	SourceTypeCodepipeline = "CODEPIPELINE"
 17017  
 17018  	// SourceTypeGithub is a SourceType enum value
 17019  	SourceTypeGithub = "GITHUB"
 17020  
 17021  	// SourceTypeS3 is a SourceType enum value
 17022  	SourceTypeS3 = "S3"
 17023  
 17024  	// SourceTypeBitbucket is a SourceType enum value
 17025  	SourceTypeBitbucket = "BITBUCKET"
 17026  
 17027  	// SourceTypeGithubEnterprise is a SourceType enum value
 17028  	SourceTypeGithubEnterprise = "GITHUB_ENTERPRISE"
 17029  
 17030  	// SourceTypeNoSource is a SourceType enum value
 17031  	SourceTypeNoSource = "NO_SOURCE"
 17032  )
 17033  
 17034  // SourceType_Values returns all elements of the SourceType enum
 17035  func SourceType_Values() []string {
 17036  	return []string{
 17037  		SourceTypeCodecommit,
 17038  		SourceTypeCodepipeline,
 17039  		SourceTypeGithub,
 17040  		SourceTypeS3,
 17041  		SourceTypeBitbucket,
 17042  		SourceTypeGithubEnterprise,
 17043  		SourceTypeNoSource,
 17044  	}
 17045  }
 17046  
 17047  const (
 17048  	// StatusTypeSucceeded is a StatusType enum value
 17049  	StatusTypeSucceeded = "SUCCEEDED"
 17050  
 17051  	// StatusTypeFailed is a StatusType enum value
 17052  	StatusTypeFailed = "FAILED"
 17053  
 17054  	// StatusTypeFault is a StatusType enum value
 17055  	StatusTypeFault = "FAULT"
 17056  
 17057  	// StatusTypeTimedOut is a StatusType enum value
 17058  	StatusTypeTimedOut = "TIMED_OUT"
 17059  
 17060  	// StatusTypeInProgress is a StatusType enum value
 17061  	StatusTypeInProgress = "IN_PROGRESS"
 17062  
 17063  	// StatusTypeStopped is a StatusType enum value
 17064  	StatusTypeStopped = "STOPPED"
 17065  )
 17066  
 17067  // StatusType_Values returns all elements of the StatusType enum
 17068  func StatusType_Values() []string {
 17069  	return []string{
 17070  		StatusTypeSucceeded,
 17071  		StatusTypeFailed,
 17072  		StatusTypeFault,
 17073  		StatusTypeTimedOut,
 17074  		StatusTypeInProgress,
 17075  		StatusTypeStopped,
 17076  	}
 17077  }
 17078  
 17079  const (
 17080  	// WebhookBuildTypeBuild is a WebhookBuildType enum value
 17081  	WebhookBuildTypeBuild = "BUILD"
 17082  
 17083  	// WebhookBuildTypeBuildBatch is a WebhookBuildType enum value
 17084  	WebhookBuildTypeBuildBatch = "BUILD_BATCH"
 17085  )
 17086  
 17087  // WebhookBuildType_Values returns all elements of the WebhookBuildType enum
 17088  func WebhookBuildType_Values() []string {
 17089  	return []string{
 17090  		WebhookBuildTypeBuild,
 17091  		WebhookBuildTypeBuildBatch,
 17092  	}
 17093  }
 17094  
 17095  const (
 17096  	// WebhookFilterTypeEvent is a WebhookFilterType enum value
 17097  	WebhookFilterTypeEvent = "EVENT"
 17098  
 17099  	// WebhookFilterTypeBaseRef is a WebhookFilterType enum value
 17100  	WebhookFilterTypeBaseRef = "BASE_REF"
 17101  
 17102  	// WebhookFilterTypeHeadRef is a WebhookFilterType enum value
 17103  	WebhookFilterTypeHeadRef = "HEAD_REF"
 17104  
 17105  	// WebhookFilterTypeActorAccountId is a WebhookFilterType enum value
 17106  	WebhookFilterTypeActorAccountId = "ACTOR_ACCOUNT_ID"
 17107  
 17108  	// WebhookFilterTypeFilePath is a WebhookFilterType enum value
 17109  	WebhookFilterTypeFilePath = "FILE_PATH"
 17110  
 17111  	// WebhookFilterTypeCommitMessage is a WebhookFilterType enum value
 17112  	WebhookFilterTypeCommitMessage = "COMMIT_MESSAGE"
 17113  )
 17114  
 17115  // WebhookFilterType_Values returns all elements of the WebhookFilterType enum
 17116  func WebhookFilterType_Values() []string {
 17117  	return []string{
 17118  		WebhookFilterTypeEvent,
 17119  		WebhookFilterTypeBaseRef,
 17120  		WebhookFilterTypeHeadRef,
 17121  		WebhookFilterTypeActorAccountId,
 17122  		WebhookFilterTypeFilePath,
 17123  		WebhookFilterTypeCommitMessage,
 17124  	}
 17125  }