// Code generated by smithy-go-codegen DO NOT EDIT. package codebuild import ( "context" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" "github.com/aws/aws-sdk-go-v2/service/codebuild/types" "github.com/aws/smithy-go/middleware" smithyhttp "github.com/aws/smithy-go/transport/http" ) // Starts a batch build for a project. func (c *Client) StartBuildBatch(ctx context.Context, params *StartBuildBatchInput, optFns ...func(*Options)) (*StartBuildBatchOutput, error) { if params == nil { params = &StartBuildBatchInput{} } result, metadata, err := c.invokeOperation(ctx, "StartBuildBatch", params, optFns, c.addOperationStartBuildBatchMiddlewares) if err != nil { return nil, err } out := result.(*StartBuildBatchOutput) out.ResultMetadata = metadata return out, nil } type StartBuildBatchInput struct { // The name of the project. // // This member is required. ProjectName *string // An array of ProjectArtifacts objects that contains information about the build // output artifact overrides for the build project. ArtifactsOverride *types.ProjectArtifacts // A BuildBatchConfigOverride object that contains batch build configuration // overrides. BuildBatchConfigOverride *types.ProjectBuildBatchConfig // Overrides the build timeout specified in the batch build project. BuildTimeoutInMinutesOverride *int32 // A buildspec file declaration that overrides, for this build only, the latest // one already defined in the build project. If this value is set, it can be either // an inline buildspec definition, the path to an alternate buildspec file relative // to the value of the built-in CODEBUILD_SRC_DIR environment variable, or the // path to an S3 bucket. The bucket must be in the same Amazon Web Services Region // as the build project. Specify the buildspec file using its ARN (for example, // arn:aws:s3:::my-codebuild-sample2/buildspec.yml ). If this value is not provided // or is set to an empty string, the source code must contain a buildspec file in // its root directory. For more information, see Buildspec File Name and Storage // Location (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage) // . BuildspecOverride *string // A ProjectCache object that specifies cache overrides. CacheOverride *types.ProjectCache // The name of a certificate for this batch build that overrides the one specified // in the batch build project. CertificateOverride *string // The name of a compute type for this batch build that overrides the one // specified in the batch build project. ComputeTypeOverride types.ComputeType // Specifies if session debugging is enabled for this batch build. For more // information, see Viewing a running build in Session Manager (https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html) // . Batch session debugging is not supported for matrix batch builds. DebugSessionEnabled *bool // The Key Management Service customer master key (CMK) that overrides the one // specified in the batch build project. The CMK key encrypts the build output // artifacts. You can use a cross-account KMS key to encrypt the build output // artifacts if your service role has permission to that key. You can specify // either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's // alias (using the format alias/ ). EncryptionKeyOverride *string // A container type for this batch build that overrides the one specified in the // batch build project. EnvironmentTypeOverride types.EnvironmentType // An array of EnvironmentVariable objects that override, or add to, the // environment variables defined in the batch build project. EnvironmentVariablesOverride []types.EnvironmentVariable // The user-defined depth of history, with a minimum value of 0, that overrides, // for this batch build only, any previous depth of history defined in the batch // build project. GitCloneDepthOverride *int32 // A GitSubmodulesConfig object that overrides the Git submodules configuration // for this batch build. GitSubmodulesConfigOverride *types.GitSubmodulesConfig // A unique, case sensitive identifier you provide to ensure the idempotency of // the StartBuildBatch request. The token is included in the StartBuildBatch // request and is valid for five minutes. If you repeat the StartBuildBatch // request with the same token, but change a parameter, CodeBuild returns a // parameter mismatch error. IdempotencyToken *string // The name of an image for this batch build that overrides the one specified in // the batch build project. ImageOverride *string // The type of credentials CodeBuild uses to pull images in your batch build. // There are two valid values: CODEBUILD Specifies that CodeBuild uses its own // credentials. This requires that you modify your ECR repository policy to trust // CodeBuild's service principal. SERVICE_ROLE Specifies that CodeBuild uses your // build project's service role. When using a cross-account or private registry // image, you must use SERVICE_ROLE credentials. When using an CodeBuild curated // image, you must use CODEBUILD credentials. ImagePullCredentialsTypeOverride types.ImagePullCredentialsType // Enable this flag to override the insecure SSL setting that is specified in the // batch build project. The insecure SSL setting determines whether to ignore SSL // warnings while connecting to the project source code. This override applies only // if the build's source is GitHub Enterprise. InsecureSslOverride *bool // A LogsConfig object that override the log settings defined in the batch build // project. LogsConfigOverride *types.LogsConfig // Enable this flag to override privileged mode in the batch build project. PrivilegedModeOverride *bool // The number of minutes a batch build is allowed to be queued before it times out. QueuedTimeoutInMinutesOverride *int32 // A RegistryCredential object that overrides credentials for access to a private // registry. RegistryCredentialOverride *types.RegistryCredential // Set to true to report to your source provider the status of a batch build's // start and completion. If you use this option with a source provider other than // GitHub, GitHub Enterprise, or Bitbucket, an invalidInputException is thrown. // The status of a build triggered by a webhook is always reported to your source // provider. ReportBuildBatchStatusOverride *bool // An array of ProjectArtifacts objects that override the secondary artifacts // defined in the batch build project. SecondaryArtifactsOverride []types.ProjectArtifacts // An array of ProjectSource objects that override the secondary sources defined // in the batch build project. SecondarySourcesOverride []types.ProjectSource // An array of ProjectSourceVersion objects that override the secondary source // versions in the batch build project. SecondarySourcesVersionOverride []types.ProjectSourceVersion // The name of a service role for this batch build that overrides the one // specified in the batch build project. ServiceRoleOverride *string // A SourceAuth object that overrides the one defined in the batch build project. // This override applies only if the build project's source is BitBucket or GitHub. SourceAuthOverride *types.SourceAuth // A location that overrides, for this batch build, the source location defined in // the batch build project. SourceLocationOverride *string // The source input type that overrides the source input defined in the batch // build project. SourceTypeOverride types.SourceType // The version of the batch build input to be built, for this build only. If not // specified, the latest version is used. If specified, the contents depends on the // source provider: CodeCommit The commit ID, branch, or Git tag to use. GitHub The // commit ID, pull request ID, branch name, or tag name that corresponds to the // version of the source code you want to build. If a pull request ID is specified, // it must use the format pr/pull-request-ID (for example pr/25 ). If a branch name // is specified, the branch's HEAD commit ID is used. If not specified, the default // branch's HEAD commit ID is used. Bitbucket The commit ID, branch name, or tag // name that corresponds to the version of the source code you want to build. If a // branch name is specified, the branch's HEAD commit ID is used. If not specified, // the default branch's HEAD commit ID is used. Amazon S3 The version ID of the // object that represents the build input ZIP file to use. If sourceVersion is // specified at the project level, then this sourceVersion (at the build level) // takes precedence. For more information, see Source Version Sample with CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-source-version.html) // in the CodeBuild User Guide. SourceVersion *string noSmithyDocumentSerde } type StartBuildBatchOutput struct { // A BuildBatch object that contains information about the batch build. BuildBatch *types.BuildBatch // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata noSmithyDocumentSerde } func (c *Client) addOperationStartBuildBatchMiddlewares(stack *middleware.Stack, options Options) (err error) { err = stack.Serialize.Add(&awsAwsjson11_serializeOpStartBuildBatch{}, middleware.After) if err != nil { return err } err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpStartBuildBatch{}, middleware.After) if err != nil { return err } if err = addSetLoggerMiddleware(stack, options); err != nil { return err } if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { return err } if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { return err } if err = addResolveEndpointMiddleware(stack, options); err != nil { return err } if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { return err } if err = addRetryMiddlewares(stack, options); err != nil { return err } if err = addHTTPSignerV4Middleware(stack, options); err != nil { return err } if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { return err } if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { return err } if err = addClientUserAgent(stack, options); err != nil { return err } if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { return err } if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { return err } if err = addOpStartBuildBatchValidationMiddleware(stack); err != nil { return err } if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartBuildBatch(options.Region), middleware.Before); err != nil { return err } if err = awsmiddleware.AddRecursionDetection(stack); err != nil { return err } if err = addRequestIDRetrieverMiddleware(stack); err != nil { return err } if err = addResponseErrorMiddleware(stack); err != nil { return err } if err = addRequestResponseLogging(stack, options); err != nil { return err } return nil } func newServiceMetadataMiddleware_opStartBuildBatch(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, ServiceID: ServiceID, SigningName: "codebuild", OperationName: "StartBuildBatch", } }