// Code generated by smithy-go-codegen DO NOT EDIT. package types import ( smithydocument "github.com/aws/smithy-go/document" "time" ) // Specifies restrictions for the batch build. type BatchRestrictions struct { // An array of strings that specify the compute types that are allowed for the // batch build. See Build environment compute types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) // in the CodeBuild User Guide for these values. ComputeTypesAllowed []string // Specifies the maximum number of builds allowed. MaximumBuildsAllowed *int32 noSmithyDocumentSerde } // Information about a build. type Build struct { // The Amazon Resource Name (ARN) of the build. Arn *string // Information about the output artifacts for the build. Artifacts *BuildArtifacts // The ARN of the batch build that this build is a member of, if applicable. BuildBatchArn *string // Whether the build is complete. True if complete; otherwise, false. BuildComplete bool // The number of the build. For each project, the buildNumber of its first build // is 1 . The buildNumber of each subsequent build is incremented by 1 . If a build // is deleted, the buildNumber of other builds does not change. BuildNumber *int64 // The current status of the build. Valid values include: // - FAILED : The build failed. // - FAULT : The build faulted. // - IN_PROGRESS : The build is still in progress. // - STOPPED : The build stopped. // - SUCCEEDED : The build succeeded. // - TIMED_OUT : The build timed out. BuildStatus StatusType // Information about the cache for the build. Cache *ProjectCache // The current build phase. CurrentPhase *string // Contains information about the debug session for this build. DebugSession *DebugSession // The Key Management Service customer master key (CMK) to be used for encrypting // 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/ ). EncryptionKey *string // When the build process ended, expressed in Unix time format. EndTime *time.Time // Information about the build environment for this build. Environment *ProjectEnvironment // A list of exported environment variables for this build. Exported environment // variables are used in conjunction with CodePipeline to export environment // variables from the current build stage to subsequent stages in the pipeline. For // more information, see Working with variables (https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-variables.html) // in the CodePipeline User Guide. ExportedEnvironmentVariables []ExportedEnvironmentVariable // An array of ProjectFileSystemLocation objects for a CodeBuild build project. A // ProjectFileSystemLocation object specifies the identifier , location , // mountOptions , mountPoint , and type of a file system created using Amazon // Elastic File System. FileSystemLocations []ProjectFileSystemLocation // The unique ID for the build. Id *string // The entity that started the build. Valid values include: // - If CodePipeline started the build, the pipeline's name (for example, // codepipeline/my-demo-pipeline ). // - If an IAM user started the build, the user's name (for example, MyUserName // ). // - If the Jenkins plugin for CodeBuild started the build, the string // CodeBuild-Jenkins-Plugin . Initiator *string // Information about the build's logs in CloudWatch Logs. Logs *LogsLocation // Describes a network interface. NetworkInterface *NetworkInterface // Information about all previous build phases that are complete and information // about any current build phase that is not yet complete. Phases []BuildPhase // The name of the CodeBuild project. ProjectName *string // The number of minutes a build is allowed to be queued before it times out. QueuedTimeoutInMinutes *int32 // An array of the ARNs associated with this build's reports. ReportArns []string // An identifier for the version of this build's source code. // - For CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit ID. // - For CodePipeline, the source revision provided by CodePipeline. // - For Amazon S3, this does not apply. ResolvedSourceVersion *string // An array of ProjectArtifacts objects. SecondaryArtifacts []BuildArtifacts // An array of ProjectSourceVersion objects. Each ProjectSourceVersion must be one // of: // - For CodeCommit: the commit ID, branch, or Git tag to use. // - For 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. // - For 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. // - For Amazon S3: the version ID of the object that represents the build input // ZIP file to use. SecondarySourceVersions []ProjectSourceVersion // An array of ProjectSource objects. SecondarySources []ProjectSource // The name of a service role used for this build. ServiceRole *string // Information about the source code to be built. Source *ProjectSource // Any version identifier for the version of the source code to be built. 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 // When the build process started, expressed in Unix time format. StartTime *time.Time // How long, in minutes, for CodeBuild to wait before timing out this build if it // does not get marked as completed. TimeoutInMinutes *int32 // If your CodeBuild project accesses resources in an Amazon VPC, you provide this // parameter that identifies the VPC ID and the list of security group IDs and // subnet IDs. The security groups and subnets must belong to the same VPC. You // must provide at least one security group and one subnet ID. VpcConfig *VpcConfig noSmithyDocumentSerde } // Information about build output artifacts. type BuildArtifacts struct { // An identifier for this artifact definition. ArtifactIdentifier *string // Specifies the bucket owner's access for objects that another account uploads to // their Amazon S3 bucket. By default, only the account that uploads the objects to // the bucket has access to these objects. This property allows you to give the // bucket owner access to these objects. To use this property, your CodeBuild // service role must have the s3:PutBucketAcl permission. This permission allows // CodeBuild to modify the access control list for the bucket. This property can be // one of the following values: NONE The bucket owner does not have access to the // objects. This is the default. READ_ONLY The bucket owner has read-only access to // the objects. The uploading account retains ownership of the objects. FULL The // bucket owner has full access to the objects. Object ownership is determined by // the following criteria: // - If the bucket is configured with the Bucket owner preferred setting, the // bucket owner owns the objects. The uploading account will have object access as // specified by the bucket's policy. // - Otherwise, the uploading account retains ownership of the objects. // For more information about Amazon S3 object ownership, see Controlling // ownership of uploaded objects using S3 Object Ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) // in the Amazon Simple Storage Service User Guide. BucketOwnerAccess BucketOwnerAccess // Information that tells you if encryption for build artifacts is disabled. EncryptionDisabled *bool // Information about the location of the build artifacts. Location *string // The MD5 hash of the build artifact. You can use this hash along with a checksum // tool to confirm file integrity and authenticity. This value is available only if // the build project's packaging value is set to ZIP . Md5sum *string // If this flag is set, a name specified in the buildspec file overrides the // artifact name. The name specified in a buildspec file is calculated at build // time and uses the Shell Command Language. For example, you can append a date and // time to your artifact name so that it is always unique. OverrideArtifactName *bool // The SHA-256 hash of the build artifact. You can use this hash along with a // checksum tool to confirm file integrity and authenticity. This value is // available only if the build project's packaging value is set to ZIP . Sha256sum *string noSmithyDocumentSerde } // Contains information about a batch build. type BuildBatch struct { // The ARN of the batch build. Arn *string // A BuildArtifacts object the defines the build artifacts for this batch build. Artifacts *BuildArtifacts // Contains configuration information about a batch build project. BuildBatchConfig *ProjectBuildBatchConfig // The number of the batch build. For each project, the buildBatchNumber of its // first batch build is 1 . The buildBatchNumber of each subsequent batch build is // incremented by 1 . If a batch build is deleted, the buildBatchNumber of other // batch builds does not change. BuildBatchNumber *int64 // The status of the batch build. BuildBatchStatus StatusType // An array of BuildGroup objects that define the build groups for the batch build. BuildGroups []BuildGroup // Specifies the maximum amount of time, in minutes, that the build in a batch // must be completed in. BuildTimeoutInMinutes *int32 // Information about the cache for the build project. Cache *ProjectCache // Indicates if the batch build is complete. Complete bool // The current phase of the batch build. CurrentPhase *string // 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) to be used for encrypting // the batch 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/ ). EncryptionKey *string // The date and time that the batch build ended. EndTime *time.Time // Information about the build environment of the build project. Environment *ProjectEnvironment // An array of ProjectFileSystemLocation objects for the batch build project. A // ProjectFileSystemLocation object specifies the identifier , location , // mountOptions , mountPoint , and type of a file system created using Amazon // Elastic File System. FileSystemLocations []ProjectFileSystemLocation // The identifier of the batch build. Id *string // The entity that started the batch build. Valid values include: // - If CodePipeline started the build, the pipeline's name (for example, // codepipeline/my-demo-pipeline ). // - If an IAM user started the build, the user's name. // - If the Jenkins plugin for CodeBuild started the build, the string // CodeBuild-Jenkins-Plugin . Initiator *string // Information about logs for a build project. These can be logs in CloudWatch // Logs, built in a specified S3 bucket, or both. LogConfig *LogsConfig // An array of BuildBatchPhase objects the specify the phases of the batch build. Phases []BuildBatchPhase // The name of the batch build project. ProjectName *string // Specifies the amount of time, in minutes, that the batch build is allowed to be // queued before it times out. QueuedTimeoutInMinutes *int32 // The identifier of the resolved version of this batch build's source code. // - For CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit ID. // - For CodePipeline, the source revision provided by CodePipeline. // - For Amazon S3, this does not apply. ResolvedSourceVersion *string // An array of BuildArtifacts objects the define the build artifacts for this // batch build. SecondaryArtifacts []BuildArtifacts // An array of ProjectSourceVersion objects. Each ProjectSourceVersion must be one // of: // - For CodeCommit: the commit ID, branch, or Git tag to use. // - For 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. // - For 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. // - For Amazon S3: the version ID of the object that represents the build input // ZIP file to use. SecondarySourceVersions []ProjectSourceVersion // An array of ProjectSource objects that define the sources for the batch build. SecondarySources []ProjectSource // The name of a service role used for builds in the batch. ServiceRole *string // Information about the build input source code for the build project. Source *ProjectSource // The identifier of the version of the source code to be built. SourceVersion *string // The date and time that the batch build started. StartTime *time.Time // Information about the VPC configuration that CodeBuild accesses. VpcConfig *VpcConfig noSmithyDocumentSerde } // Specifies filters when retrieving batch builds. type BuildBatchFilter struct { // The status of the batch builds to retrieve. Only batch builds that have this // status will be retrieved. Status StatusType noSmithyDocumentSerde } // Contains information about a stage for a batch build. type BuildBatchPhase struct { // Additional information about the batch build phase. Especially to help // troubleshoot a failed batch build. Contexts []PhaseContext // How long, in seconds, between the starting and ending times of the batch // build's phase. DurationInSeconds *int64 // When the batch build phase ended, expressed in Unix time format. EndTime *time.Time // The current status of the batch build phase. Valid values include: FAILED The // build phase failed. FAULT The build phase faulted. IN_PROGRESS The build phase // is still in progress. STOPPED The build phase stopped. SUCCEEDED The build phase // succeeded. TIMED_OUT The build phase timed out. PhaseStatus StatusType // The name of the batch build phase. Valid values include: COMBINE_ARTIFACTS // Build output artifacts are being combined and uploaded to the output location. // DOWNLOAD_BATCHSPEC The batch build specification is being downloaded. FAILED One // or more of the builds failed. IN_PROGRESS The batch build is in progress. // STOPPED The batch build was stopped. SUBMITTED The btach build has been // submitted. SUCCEEDED The batch build succeeded. PhaseType BuildBatchPhaseType // When the batch build phase started, expressed in Unix time format. StartTime *time.Time noSmithyDocumentSerde } // Contains information about a batch build build group. Build groups are used to // combine builds that can run in parallel, while still being able to set // dependencies on other build groups. type BuildGroup struct { // A BuildSummary object that contains a summary of the current build group. CurrentBuildSummary *BuildSummary // An array of strings that contain the identifiers of the build groups that this // build group depends on. DependsOn []string // Contains the identifier of the build group. Identifier *string // Specifies if failures in this build group can be ignored. IgnoreFailure bool // An array of BuildSummary objects that contain summaries of previous build // groups. PriorBuildSummaryList []BuildSummary noSmithyDocumentSerde } // Information about a build that could not be successfully deleted. type BuildNotDeleted struct { // The ID of the build that could not be successfully deleted. Id *string // Additional information about the build that could not be successfully deleted. StatusCode *string noSmithyDocumentSerde } // Information about a stage for a build. type BuildPhase struct { // Additional information about a build phase, especially to help troubleshoot a // failed build. Contexts []PhaseContext // How long, in seconds, between the starting and ending times of the build's // phase. DurationInSeconds *int64 // When the build phase ended, expressed in Unix time format. EndTime *time.Time // The current status of the build phase. Valid values include: FAILED The build // phase failed. FAULT The build phase faulted. IN_PROGRESS The build phase is // still in progress. STOPPED The build phase stopped. SUCCEEDED The build phase // succeeded. TIMED_OUT The build phase timed out. PhaseStatus StatusType // The name of the build phase. Valid values include: BUILD Core build activities // typically occur in this build phase. COMPLETED The build has been completed. // DOWNLOAD_SOURCE Source code is being downloaded in this build phase. FINALIZING // The build process is completing in this build phase. INSTALL Installation // activities typically occur in this build phase. POST_BUILD Post-build activities // typically occur in this build phase. PRE_BUILD Pre-build activities typically // occur in this build phase. PROVISIONING The build environment is being set up. // QUEUED The build has been submitted and is queued behind other submitted builds. // SUBMITTED The build has been submitted. UPLOAD_ARTIFACTS Build output artifacts // are being uploaded to the output location. PhaseType BuildPhaseType // When the build phase started, expressed in Unix time format. StartTime *time.Time noSmithyDocumentSerde } // Contains information that defines how the CodeBuild build project reports the // build status to the source provider. type BuildStatusConfig struct { // Specifies the context of the build status CodeBuild sends to the source // provider. The usage of this parameter depends on the source provider. Bitbucket // This parameter is used for the name parameter in the Bitbucket commit status. // 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) // in the Bitbucket API documentation. GitHub/GitHub Enterprise Server This // parameter is used for the context parameter in the GitHub commit status. For // more information, see Create a commit status (https://developer.github.com/v3/repos/statuses/#create-a-commit-status) // in the GitHub developer guide. Context *string // Specifies the target url of the build status CodeBuild sends to the source // provider. The usage of this parameter depends on the source provider. Bitbucket // This parameter is used for the url parameter in the Bitbucket commit status. // 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) // in the Bitbucket API documentation. GitHub/GitHub Enterprise Server This // parameter is used for the target_url parameter in the GitHub commit status. For // more information, see Create a commit status (https://developer.github.com/v3/repos/statuses/#create-a-commit-status) // in the GitHub developer guide. TargetUrl *string noSmithyDocumentSerde } // Contains summary information about a batch build group. type BuildSummary struct { // The batch build ARN. Arn *string // The status of the build group. FAILED The build group failed. FAULT The build // group faulted. IN_PROGRESS The build group is still in progress. STOPPED The // build group stopped. SUCCEEDED The build group succeeded. TIMED_OUT The build // group timed out. BuildStatus StatusType // A ResolvedArtifact object that represents the primary build artifacts for the // build group. PrimaryArtifact *ResolvedArtifact // When the build was started, expressed in Unix time format. RequestedOn *time.Time // An array of ResolvedArtifact objects that represents the secondary build // artifacts for the build group. SecondaryArtifacts []ResolvedArtifact noSmithyDocumentSerde } // Information about CloudWatch Logs for a build project. type CloudWatchLogsConfig struct { // The current status of the logs in CloudWatch Logs for a build project. Valid // values are: // - ENABLED : CloudWatch Logs are enabled for this build project. // - DISABLED : CloudWatch Logs are not enabled for this build project. // // This member is required. Status LogsConfigStatusType // The group name of the logs in CloudWatch Logs. For more information, see // Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) // . GroupName *string // The prefix of the stream name of the CloudWatch Logs. For more information, see // Working with Log Groups and Log Streams (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) // . StreamName *string noSmithyDocumentSerde } // Contains code coverage report information. Line coverage measures how many // statements your tests cover. A statement is a single instruction, not including // comments, conditionals, etc. Branch coverage determines if your tests cover // every possible branch of a control structure, such as an if or case statement. type CodeCoverage struct { // The percentage of branches that are covered by your tests. BranchCoveragePercentage *float64 // The number of conditional branches that are covered by your tests. BranchesCovered *int32 // The number of conditional branches that are not covered by your tests. BranchesMissed *int32 // The date and time that the tests were run. Expired *time.Time // The path of the test report file. FilePath *string // The identifier of the code coverage report. Id *string // The percentage of lines that are covered by your tests. LineCoveragePercentage *float64 // The number of lines that are covered by your tests. LinesCovered *int32 // The number of lines that are not covered by your tests. LinesMissed *int32 // The ARN of the report. ReportARN *string noSmithyDocumentSerde } // Contains a summary of a code coverage report. Line coverage measures how many // statements your tests cover. A statement is a single instruction, not including // comments, conditionals, etc. Branch coverage determines if your tests cover // every possible branch of a control structure, such as an if or case statement. type CodeCoverageReportSummary struct { // The percentage of branches that are covered by your tests. BranchCoveragePercentage *float64 // The number of conditional branches that are covered by your tests. BranchesCovered *int32 // The number of conditional branches that are not covered by your tests. BranchesMissed *int32 // The percentage of lines that are covered by your tests. LineCoveragePercentage *float64 // The number of lines that are covered by your tests. LinesCovered *int32 // The number of lines that are not covered by your tests. LinesMissed *int32 noSmithyDocumentSerde } // Contains information about the debug session for a build. For more information, // see Viewing a running build in Session Manager (https://docs.aws.amazon.com/codebuild/latest/userguide/session-manager.html) // . type DebugSession struct { // Specifies if session debugging is enabled for this build. SessionEnabled *bool // Contains the identifier of the Session Manager session used for the build. To // work with the paused build, you open this session to examine, control, and // resume the build. SessionTarget *string noSmithyDocumentSerde } // Information about a Docker image that is managed by CodeBuild. type EnvironmentImage struct { // The description of the Docker image. Description *string // The name of the Docker image. Name *string // A list of environment image versions. Versions []string noSmithyDocumentSerde } // A set of Docker images that are related by programming language and are managed // by CodeBuild. type EnvironmentLanguage struct { // The list of Docker images that are related by the specified programming // language. Images []EnvironmentImage // The programming language for the Docker images. Language LanguageType noSmithyDocumentSerde } // A set of Docker images that are related by platform and are managed by // CodeBuild. type EnvironmentPlatform struct { // The list of programming languages that are available for the specified platform. Languages []EnvironmentLanguage // The platform's name. Platform PlatformType noSmithyDocumentSerde } // Information about an environment variable for a build project or a build. type EnvironmentVariable struct { // The name or key of the environment variable. // // This member is required. Name *string // The value of the environment variable. We strongly discourage the use of // PLAINTEXT environment variables to store sensitive values, especially Amazon Web // Services secret key IDs and secret access keys. PLAINTEXT environment variables // can be displayed in plain text using the CodeBuild console and the CLI. For // sensitive values, we recommend you use an environment variable of type // PARAMETER_STORE or SECRETS_MANAGER . // // This member is required. Value *string // The type of environment variable. Valid values include: // - PARAMETER_STORE : An environment variable stored in Systems Manager // Parameter Store. To learn how to specify a parameter store environment variable, // see env/parameter-store (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.parameter-store) // in the CodeBuild User Guide. // - PLAINTEXT : An environment variable in plain text format. This is the // default value. // - SECRETS_MANAGER : An environment variable stored in Secrets Manager. To // learn how to specify a secrets manager environment variable, see // env/secrets-manager (https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.secrets-manager) // in the CodeBuild User Guide. Type EnvironmentVariableType noSmithyDocumentSerde } // Contains information about an exported environment variable. Exported // environment variables are used in conjunction with CodePipeline to export // environment variables from the current build stage to subsequent stages in the // pipeline. For more information, see Working with variables (https://docs.aws.amazon.com/codepipeline/latest/userguide/actions-variables.html) // in the CodePipeline User Guide. During a build, the value of a variable is // available starting with the install phase. It can be updated between the start // of the install phase and the end of the post_build phase. After the post_build // phase ends, the value of exported variables cannot change. type ExportedEnvironmentVariable struct { // The name of the exported environment variable. Name *string // The value assigned to the exported environment variable. Value *string noSmithyDocumentSerde } // Information about the Git submodules configuration for an CodeBuild build // project. type GitSubmodulesConfig struct { // Set to true to fetch Git submodules for your CodeBuild build project. // // This member is required. FetchSubmodules *bool noSmithyDocumentSerde } // Information about logs for a build project. These can be logs in CloudWatch // Logs, built in a specified S3 bucket, or both. type LogsConfig struct { // Information about CloudWatch Logs for a build project. CloudWatch Logs are // enabled by default. CloudWatchLogs *CloudWatchLogsConfig // Information about logs built to an S3 bucket for a build project. S3 logs are // not enabled by default. S3Logs *S3LogsConfig noSmithyDocumentSerde } // Information about build logs in CloudWatch Logs. type LogsLocation struct { // Information about CloudWatch Logs for a build project. CloudWatchLogs *CloudWatchLogsConfig // The ARN of CloudWatch Logs for a build project. Its format is // arn:${Partition}:logs:${Region}:${Account}:log-group:${LogGroupName}:log-stream:${LogStreamName} // . 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) // . CloudWatchLogsArn *string // The URL to an individual build log in CloudWatch Logs. DeepLink *string // The name of the CloudWatch Logs group for the build logs. GroupName *string // The URL to a build log in an S3 bucket. S3DeepLink *string // Information about S3 logs for a build project. S3Logs *S3LogsConfig // The ARN of S3 logs for a build project. Its format is // arn:${Partition}:s3:::${BucketName}/${ObjectName} . 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) // . S3LogsArn *string // The name of the CloudWatch Logs stream for the build logs. StreamName *string noSmithyDocumentSerde } // Describes a network interface. type NetworkInterface struct { // The ID of the network interface. NetworkInterfaceId *string // The ID of the subnet. SubnetId *string noSmithyDocumentSerde } // Additional information about a build phase that has an error. You can use this // information for troubleshooting. type PhaseContext struct { // An explanation of the build phase's context. This might include a command ID // and an exit code. Message *string // The status code for the context of the build phase. StatusCode *string noSmithyDocumentSerde } // Information about a build project. type Project struct { // The Amazon Resource Name (ARN) of the build project. Arn *string // Information about the build output artifacts for the build project. Artifacts *ProjectArtifacts // Information about the build badge for the build project. Badge *ProjectBadge // A ProjectBuildBatchConfig object that defines the batch build options for the // project. BuildBatchConfig *ProjectBuildBatchConfig // Information about the cache for the build project. Cache *ProjectCache // The maximum number of concurrent builds that are allowed for this project. New // builds are only started if the current number of builds is less than or equal to // this limit. If the current build count meets this limit, new builds are // throttled and are not run. ConcurrentBuildLimit *int32 // When the build project was created, expressed in Unix time format. Created *time.Time // A description that makes the build project easy to identify. Description *string // The Key Management Service customer master key (CMK) to be used for encrypting // 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/ ). If you don't specify a value, CodeBuild // uses the managed CMK for Amazon Simple Storage Service (Amazon S3). EncryptionKey *string // Information about the build environment for this build project. Environment *ProjectEnvironment // An array of ProjectFileSystemLocation objects for a CodeBuild build project. A // ProjectFileSystemLocation object specifies the identifier , location , // mountOptions , mountPoint , and type of a file system created using Amazon // Elastic File System. FileSystemLocations []ProjectFileSystemLocation // When the build project's settings were last modified, expressed in Unix time // format. LastModified *time.Time // Information about logs for the build project. A project can create logs in // CloudWatch Logs, an S3 bucket, or both. LogsConfig *LogsConfig // The name of the build project. Name *string // Specifies the visibility of the project's builds. Possible values are: // PUBLIC_READ The project builds are visible to the public. PRIVATE The project // builds are not visible to the public. ProjectVisibility ProjectVisibilityType // Contains the project identifier used with the public build APIs. PublicProjectAlias *string // The number of minutes a build is allowed to be queued before it times out. QueuedTimeoutInMinutes *int32 // The ARN of the IAM role that enables CodeBuild to access the CloudWatch Logs // and Amazon S3 artifacts for the project's builds. ResourceAccessRole *string // An array of ProjectArtifacts objects. SecondaryArtifacts []ProjectArtifacts // An array of ProjectSourceVersion objects. If secondarySourceVersions is // specified at the build level, then they take over these secondarySourceVersions // (at the project level). SecondarySourceVersions []ProjectSourceVersion // An array of ProjectSource objects. SecondarySources []ProjectSource // The ARN of the IAM role that enables CodeBuild to interact with dependent // Amazon Web Services services on behalf of the Amazon Web Services account. ServiceRole *string // Information about the build input source code for this build project. Source *ProjectSource // A version of the build input to be built for this project. If not specified, // the latest version is used. If specified, it must be one of: // - For CodeCommit: the commit ID, branch, or Git tag to use. // - For 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. // - For 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. // - For Amazon S3: the version ID of the object that represents the build input // ZIP file to use. // If sourceVersion is specified at the build level, then that version takes // precedence over this sourceVersion (at the project level). 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 // A list of tag key and value pairs associated with this build project. These // tags are available for use by Amazon Web Services services that support // CodeBuild build project tags. Tags []Tag // How long, in minutes, from 5 to 480 (8 hours), for CodeBuild to wait before // timing out any related build that did not get marked as completed. The default // is 60 minutes. TimeoutInMinutes *int32 // Information about the VPC configuration that CodeBuild accesses. VpcConfig *VpcConfig // Information about a webhook that connects repository events to a build project // in CodeBuild. Webhook *Webhook noSmithyDocumentSerde } // Information about the build output artifacts for the build project. type ProjectArtifacts struct { // The type of build output artifact. Valid values include: // - CODEPIPELINE : The build project has build output generated through // CodePipeline. The CODEPIPELINE type is not supported for secondaryArtifacts . // - NO_ARTIFACTS : The build project does not produce any build output. // - S3 : The build project stores build output in Amazon S3. // // This member is required. Type ArtifactsType // An identifier for this artifact definition. ArtifactIdentifier *string // Specifies the bucket owner's access for objects that another account uploads to // their Amazon S3 bucket. By default, only the account that uploads the objects to // the bucket has access to these objects. This property allows you to give the // bucket owner access to these objects. To use this property, your CodeBuild // service role must have the s3:PutBucketAcl permission. This permission allows // CodeBuild to modify the access control list for the bucket. This property can be // one of the following values: NONE The bucket owner does not have access to the // objects. This is the default. READ_ONLY The bucket owner has read-only access to // the objects. The uploading account retains ownership of the objects. FULL The // bucket owner has full access to the objects. Object ownership is determined by // the following criteria: // - If the bucket is configured with the Bucket owner preferred setting, the // bucket owner owns the objects. The uploading account will have object access as // specified by the bucket's policy. // - Otherwise, the uploading account retains ownership of the objects. // For more information about Amazon S3 object ownership, see Controlling // ownership of uploaded objects using S3 Object Ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) // in the Amazon Simple Storage Service User Guide. BucketOwnerAccess BucketOwnerAccess // Set to true if you do not want your output artifacts encrypted. This option is // valid only if your artifacts type is Amazon S3. If this is set with another // artifacts type, an invalidInputException is thrown. EncryptionDisabled *bool // Information about the build output artifact location: // - If type is set to CODEPIPELINE , CodePipeline ignores this value if // specified. This is because CodePipeline manages its build output locations // instead of CodeBuild. // - If type is set to NO_ARTIFACTS , this value is ignored if specified, because // no build output is produced. // - If type is set to S3 , this is the name of the output bucket. Location *string // Along with path and namespaceType , the pattern that CodeBuild uses to name and // store the output artifact: // - If type is set to CODEPIPELINE , CodePipeline ignores this value if // specified. This is because CodePipeline manages its build output names instead // of CodeBuild. // - If type is set to NO_ARTIFACTS , this value is ignored if specified, because // no build output is produced. // - If type is set to S3 , this is the name of the output artifact object. If // you set the name to be a forward slash ("/"), the artifact is stored in the root // of the output bucket. // For example: // - If path is set to MyArtifacts , namespaceType is set to BUILD_ID , and name // is set to MyArtifact.zip , then the output artifact is stored in // MyArtifacts//MyArtifact.zip . // - If path is empty, namespaceType is set to NONE , and name is set to " / ", // the output artifact is stored in the root of the output bucket. // - If path is set to MyArtifacts , namespaceType is set to BUILD_ID , and name // is set to " / ", the output artifact is stored in MyArtifacts/ . Name *string // Along with path and name , the pattern that CodeBuild uses to determine the name // and location to store the output artifact: // - If type is set to CODEPIPELINE , CodePipeline ignores this value if // specified. This is because CodePipeline manages its build output names instead // of CodeBuild. // - If type is set to NO_ARTIFACTS , this value is ignored if specified, because // no build output is produced. // - If type is set to S3 , valid values include: // - BUILD_ID : Include the build ID in the location of the build output // artifact. // - NONE : Do not include the build ID. This is the default if namespaceType is // not specified. // For example, if path is set to MyArtifacts , namespaceType is set to BUILD_ID , // and name is set to MyArtifact.zip , the output artifact is stored in // MyArtifacts//MyArtifact.zip . NamespaceType ArtifactNamespace // If this flag is set, a name specified in the buildspec file overrides the // artifact name. The name specified in a buildspec file is calculated at build // time and uses the Shell Command Language. For example, you can append a date and // time to your artifact name so that it is always unique. OverrideArtifactName *bool // The type of build output artifact to create: // - If type is set to CODEPIPELINE , CodePipeline ignores this value if // specified. This is because CodePipeline manages its build output artifacts // instead of CodeBuild. // - If type is set to NO_ARTIFACTS , this value is ignored if specified, because // no build output is produced. // - If type is set to S3 , valid values include: // - NONE : CodeBuild creates in the output bucket a folder that contains the // build output. This is the default if packaging is not specified. // - ZIP : CodeBuild creates in the output bucket a ZIP file that contains the // build output. Packaging ArtifactPackaging // Along with namespaceType and name , the pattern that CodeBuild uses to name and // store the output artifact: // - If type is set to CODEPIPELINE , CodePipeline ignores this value if // specified. This is because CodePipeline manages its build output names instead // of CodeBuild. // - If type is set to NO_ARTIFACTS , this value is ignored if specified, because // no build output is produced. // - If type is set to S3 , this is the path to the output artifact. If path is // not specified, path is not used. // For example, if path is set to MyArtifacts , namespaceType is set to NONE , and // name is set to MyArtifact.zip , the output artifact is stored in the output // bucket at MyArtifacts/MyArtifact.zip . Path *string noSmithyDocumentSerde } // Information about the build badge for the build project. type ProjectBadge struct { // Set this to true to generate a publicly accessible URL for your project's build // badge. BadgeEnabled bool // The publicly-accessible URL through which you can access the build badge for // your project. BadgeRequestUrl *string noSmithyDocumentSerde } // Contains configuration information about a batch build project. type ProjectBuildBatchConfig struct { // Specifies how build status reports are sent to the source provider for the // batch build. This property is only used when the source provider for your // project is Bitbucket, GitHub, or GitHub Enterprise, and your project is // configured to report build statuses to the source provider. // REPORT_AGGREGATED_BATCH (Default) Aggregate all of the build statuses into a // single status report. REPORT_INDIVIDUAL_BUILDS Send a separate status report for // each individual build. BatchReportMode BatchReportModeType // Specifies if the build artifacts for the batch build should be combined into a // single artifact location. CombineArtifacts *bool // A BatchRestrictions object that specifies the restrictions for the batch build. Restrictions *BatchRestrictions // Specifies the service role ARN for the batch build project. ServiceRole *string // Specifies the maximum amount of time, in minutes, that the batch build must be // completed in. TimeoutInMins *int32 noSmithyDocumentSerde } // Information about the cache for the build project. type ProjectCache struct { // The type of cache used by the build project. Valid values include: // - NO_CACHE : The build project does not use any cache. // - S3 : The build project reads and writes from and to S3. // - LOCAL : The build project stores a cache locally on a build host that is // only available to that build host. // // This member is required. Type CacheType // Information about the cache location: // - NO_CACHE or LOCAL : This value is ignored. // - S3 : This is the S3 bucket name/prefix. Location *string // An array of strings that specify the local cache modes. You can use one or more // local cache modes at the same time. This is only used for LOCAL cache types. // Possible values are: LOCAL_SOURCE_CACHE Caches Git metadata for primary and // secondary sources. After the cache is created, subsequent builds pull only the // change between commits. This mode is a good choice for projects with a clean // working directory and a source that is a large Git repository. If you choose // this option and your project does not use a Git repository (GitHub, GitHub // Enterprise, or Bitbucket), the option is ignored. LOCAL_DOCKER_LAYER_CACHE // Caches existing Docker layers. This mode is a good choice for projects that // build or pull large Docker images. It can prevent the performance issues caused // by pulling large Docker images down from the network. // - You can use a Docker layer cache in the Linux environment only. // - The privileged flag must be set so that your project has the required Docker // permissions. // - You should consider the security implications before you use a Docker layer // cache. // LOCAL_CUSTOM_CACHE Caches directories you specify in the buildspec file. This // mode is a good choice if your build scenario is not suited to one of the other // three local cache modes. If you use a custom cache: // - Only directories can be specified for caching. You cannot specify // individual files. // - Symlinks are used to reference cached directories. // - Cached directories are linked to your build before it downloads its project // sources. Cached items are overridden if a source item has the same name. // Directories are specified using cache paths in the buildspec file. Modes []CacheMode noSmithyDocumentSerde } // Information about the build environment of the build project. type ProjectEnvironment struct { // Information about the compute resources the build project uses. Available // values include: // - BUILD_GENERAL1_SMALL : Use up to 3 GB memory and 2 vCPUs for builds. // - BUILD_GENERAL1_MEDIUM : Use up to 7 GB memory and 4 vCPUs for builds. // - BUILD_GENERAL1_LARGE : Use up to 16 GB memory and 8 vCPUs for builds, // depending on your environment type. // - BUILD_GENERAL1_2XLARGE : Use up to 145 GB memory, 72 vCPUs, and 824 GB of // SSD storage for builds. This compute type supports Docker images up to 100 GB // uncompressed. // If you use BUILD_GENERAL1_LARGE : // - For environment type LINUX_CONTAINER , you can use up to 15 GB memory and 8 // vCPUs for builds. // - For environment type LINUX_GPU_CONTAINER , you can use up to 255 GB memory, // 32 vCPUs, and 4 NVIDIA Tesla V100 GPUs for builds. // - For environment type ARM_CONTAINER , you can use up to 16 GB memory and 8 // vCPUs on ARM-based processors for builds. // For more information, see Build Environment Compute Types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) // in the CodeBuild User Guide. // // This member is required. ComputeType ComputeType // The image tag or image digest that identifies the Docker image to use for this // build project. Use the following formats: // - For an image tag: /: . For example, in the Docker repository that CodeBuild // uses to manage its Docker images, this would be aws/codebuild/standard:4.0 . // - For an image digest: /@ . For example, to specify an image with the digest // "sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf," use // /@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf . // For more information, see Docker images provided by CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html) // in the CodeBuild user guide. // // This member is required. Image *string // The type of build environment to use for related builds. // - The environment type ARM_CONTAINER is available only in regions US East (N. // Virginia), US East (Ohio), US West (Oregon), EU (Ireland), Asia Pacific // (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and EU (Frankfurt). // - The environment type LINUX_CONTAINER with compute type // build.general1.2xlarge is available only in regions US East (N. Virginia), US // East (Ohio), US West (Oregon), Canada (Central), EU (Ireland), EU (London), EU // (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific // (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia). // - The environment type LINUX_GPU_CONTAINER is available only in regions US // East (N. Virginia), US East (Ohio), US West (Oregon), Canada (Central), EU // (Ireland), EU (London), EU (Frankfurt), Asia Pacific (Tokyo), Asia Pacific // (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney) , China (Beijing), and // China (Ningxia). // // - The environment types WINDOWS_CONTAINER and WINDOWS_SERVER_2019_CONTAINER // are available only in regions US East (N. Virginia), US East (Ohio), US West // (Oregon), and EU (Ireland). // For more information, see Build environment compute types (https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html) // in the CodeBuild user guide. // // This member is required. Type EnvironmentType // The ARN of the Amazon S3 bucket, path prefix, and object key that contains the // PEM-encoded certificate for the build project. For more information, see // certificate (https://docs.aws.amazon.com/codebuild/latest/userguide/create-project-cli.html#cli.environment.certificate) // in the CodeBuild User Guide. Certificate *string // A set of environment variables to make available to builds for this build // project. EnvironmentVariables []EnvironmentVariable // The type of credentials CodeBuild uses to pull images in your 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 service principal. // // - SERVICE_ROLE specifies that CodeBuild uses your build project's service // role. // When you use a cross-account or private registry image, you must use // SERVICE_ROLE credentials. When you use an CodeBuild curated image, you must use // CODEBUILD credentials. ImagePullCredentialsType ImagePullCredentialsType // Enables running the Docker daemon inside a Docker container. Set to true only // if the build project is used to build Docker images. Otherwise, a build that // attempts to interact with the Docker daemon fails. The default setting is false // . You can initialize the Docker daemon during the install phase of your build by // adding one of the following sets of commands to the install phase of your // buildspec file: If the operating system's base image is Ubuntu Linux: - nohup // /usr/local/bin/dockerd --host=unix:///var/run/docker.sock // --host=tcp://0.0.0.0:2375 --storage-driver=overlay& - timeout 15 sh -c "until // docker info; do echo .; sleep 1; done" If the operating system's base image is // Alpine Linux and the previous command does not work, add the -t argument to // timeout : - nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock // --host=tcp://0.0.0.0:2375 --storage-driver=overlay& // - timeout -t 15 sh -c "until docker info; do echo .; sleep 1; done" PrivilegedMode *bool // The credentials for access to a private registry. RegistryCredential *RegistryCredential noSmithyDocumentSerde } // Information about a file system created by Amazon Elastic File System (EFS). // For more information, see What Is Amazon Elastic File System? (https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) type ProjectFileSystemLocation struct { // The name used to access a file system created by Amazon EFS. CodeBuild creates // an environment variable by appending the identifier in all capital letters to // CODEBUILD_ . For example, if you specify my_efs for identifier , a new // environment variable is create named CODEBUILD_MY_EFS . The identifier is used // to mount your file system. Identifier *string // A string that specifies the location of the file system created by Amazon EFS. // Its format is efs-dns-name:/directory-path . You can find the DNS name of file // system when you view it in the Amazon EFS console. The directory path is a path // to a directory in the file system that CodeBuild mounts. For example, if the DNS // name of a file system is fs-abcd1234.efs.us-west-2.amazonaws.com , 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 . The directory // path in the format efs-dns-name:/directory-path is optional. If you do not // specify a directory path, the location is only the DNS name and CodeBuild mounts // the entire file system. Location *string // The mount options for a file system created by Amazon EFS. The default mount // options used by CodeBuild are // nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 . For more // information, see Recommended NFS Mount Options (https://docs.aws.amazon.com/efs/latest/ug/mounting-fs-nfs-mount-settings.html) // . MountOptions *string // The location in the container where you mount the file system. MountPoint *string // The type of the file system. The one supported type is EFS . Type FileSystemType noSmithyDocumentSerde } // Information about the build input source code for the build project. type ProjectSource struct { // The type of repository that contains the source code to be built. Valid values // include: // - BITBUCKET : The source code is in a Bitbucket repository. // - CODECOMMIT : The source code is in an CodeCommit repository. // - CODEPIPELINE : The source code settings are specified in the source action // of a pipeline in CodePipeline. // - GITHUB : The source code is in a GitHub or GitHub Enterprise Cloud // repository. // - GITHUB_ENTERPRISE : The source code is in a GitHub Enterprise Server // repository. // - NO_SOURCE : The project does not have input source code. // - S3 : The source code is in an Amazon S3 bucket. // // This member is required. Type SourceType // Information about the authorization settings for CodeBuild to access the source // code to be built. This information is for the CodeBuild console's use only. Your // code should not get or set this information directly. Auth *SourceAuth // Contains information that defines how the build project reports the build // status to the source provider. This option is only used when the source provider // is GITHUB , GITHUB_ENTERPRISE , or BITBUCKET . BuildStatusConfig *BuildStatusConfig // The buildspec file declaration to use for the builds in this 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) // . Buildspec *string // Information about the Git clone depth for the build project. GitCloneDepth *int32 // Information about the Git submodules configuration for the build project. GitSubmodulesConfig *GitSubmodulesConfig // Enable this flag to ignore SSL warnings while connecting to the project source // code. InsecureSsl *bool // Information about the location of the source code to be built. Valid values // include: // - For source code settings that are specified in the source action of a // pipeline in CodePipeline, location should not be specified. If it is // specified, CodePipeline ignores it. This is because CodePipeline uses the // settings in a pipeline's source action instead of this value. // - For source code in an CodeCommit repository, the HTTPS clone URL to the // repository that contains the source code and the buildspec file (for example, // https://git-codecommit..amazonaws.com/v1/repos/ ). // - For source code in an Amazon S3 input bucket, one of the following. // - The path to the ZIP file that contains the source code (for example, //.zip // ). // - The path to the folder that contains the source code (for example, /// ). // - For source code in a GitHub repository, the HTTPS clone URL to the // repository that contains the source and the buildspec file. You must connect // your Amazon Web Services account to your GitHub account. Use the CodeBuild // console to start creating a build project. When you use the console to connect // (or reconnect) with GitHub, on the GitHub Authorize application page, for // Organization access, choose Request access next to each repository you want to // allow CodeBuild to have access to, and then choose Authorize application. (After // you have connected to your GitHub account, you do not need to finish creating // the build project. You can leave the CodeBuild console.) To instruct CodeBuild // to use this connection, in the source object, set the auth object's type value // to OAUTH . // - For source code in a Bitbucket repository, the HTTPS clone URL to the // repository that contains the source and the buildspec file. You must connect // your Amazon Web Services account to your Bitbucket account. Use the CodeBuild // console to start creating a build project. When you use the console to connect // (or reconnect) with Bitbucket, on the Bitbucket Confirm access to your account // page, choose Grant access. (After you have connected to your Bitbucket account, // you do not need to finish creating the build project. You can leave the // CodeBuild console.) To instruct CodeBuild to use this connection, in the // source object, set the auth object's type value to OAUTH . // If you specify CODEPIPELINE for the Type property, don't specify this property. // For all of the other types, you must specify Location . Location *string // Set to true to report the status of a build's start and finish to your source // provider. This option is valid only when your source provider is GitHub, GitHub // Enterprise, or Bitbucket. If this is set and you use a different source // provider, an invalidInputException is thrown. To be able to report the build // status to the source provider, the user associated with the source provider must // have write access to the repo. If the user does not have write access, the build // status cannot be updated. For more information, see Source provider access (https://docs.aws.amazon.com/codebuild/latest/userguide/access-tokens.html) // in the CodeBuild User Guide. The status of a build triggered by a webhook is // always reported to your source provider. If your project's builds are triggered // by a webhook, you must push a new commit to the repo for a change to this // property to take effect. ReportBuildStatus *bool // An identifier for this project source. The identifier can only contain // alphanumeric characters and underscores, and must be less than 128 characters in // length. SourceIdentifier *string noSmithyDocumentSerde } // A source identifier and its corresponding version. type ProjectSourceVersion struct { // An identifier for a source in the build project. The identifier can only // contain alphanumeric characters and underscores, and must be less than 128 // characters in length. // // This member is required. SourceIdentifier *string // The source version for the corresponding source identifier. If specified, must // be one of: // - For CodeCommit: the commit ID, branch, or Git tag to use. // - For 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. // - For 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. // - For Amazon S3: the version ID of the object that represents the build input // ZIP file to use. // 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. // // This member is required. SourceVersion *string noSmithyDocumentSerde } // Information about credentials that provide access to a private Docker registry. // When this is set: // - imagePullCredentialsType must be set to SERVICE_ROLE . // - images cannot be curated or an Amazon ECR image. // // For more information, see Private Registry with Secrets Manager Sample for // CodeBuild (https://docs.aws.amazon.com/codebuild/latest/userguide/sample-private-registry.html) // . type RegistryCredential struct { // The Amazon Resource Name (ARN) or name of credentials created using Secrets // Manager. The credential can use the name of the credentials only if they exist // in your current Amazon Web Services Region. // // This member is required. Credential *string // The service that created the credentials to access a private Docker registry. // The valid value, SECRETS_MANAGER, is for Secrets Manager. // // This member is required. CredentialProvider CredentialProviderType noSmithyDocumentSerde } // Information about the results from running a series of test cases during the // run of a build project. The test cases are specified in the buildspec for the // build project using one or more paths to the test case files. You can specify // any type of tests you want, such as unit tests, integration tests, and // functional tests. type Report struct { // The ARN of the report run. Arn *string // A CodeCoverageReportSummary object that contains a code coverage summary for // this report. CodeCoverageSummary *CodeCoverageReportSummary // The date and time this report run occurred. Created *time.Time // The ARN of the build run that generated this report. ExecutionId *string // The date and time a report expires. A report expires 30 days after it is // created. An expired report is not available to view in CodeBuild. Expired *time.Time // Information about where the raw data used to generate this report was exported. ExportConfig *ReportExportConfig // The name of the report that was run. Name *string // The ARN of the report group associated with this report. ReportGroupArn *string // The status of this report. Status ReportStatusType // A TestReportSummary object that contains information about this test report. TestSummary *TestReportSummary // A boolean that specifies if this report run is truncated. The list of test // cases is truncated after the maximum number of test cases is reached. Truncated *bool // The type of the report that was run. CODE_COVERAGE A code coverage report. TEST // A test report. Type ReportType noSmithyDocumentSerde } // Information about the location where the run of a report is exported. type ReportExportConfig struct { // The export configuration type. Valid values are: // - S3 : The report results are exported to an S3 bucket. // - NO_EXPORT : The report results are not exported. ExportConfigType ReportExportConfigType // A S3ReportExportConfig object that contains information about the S3 bucket // where the run of a report is exported. S3Destination *S3ReportExportConfig noSmithyDocumentSerde } // A filter used to return reports with the status specified by the input status // parameter. type ReportFilter struct { // The status used to filter reports. You can filter using one status only. Status ReportStatusType noSmithyDocumentSerde } // A series of reports. Each report contains information about the results from // running a series of test cases. You specify the test cases for a report group in // the buildspec for a build project using one or more paths to the test case // files. type ReportGroup struct { // The ARN of the ReportGroup . Arn *string // The date and time this ReportGroup was created. Created *time.Time // Information about the destination where the raw data of this ReportGroup is // exported. ExportConfig *ReportExportConfig // The date and time this ReportGroup was last modified. LastModified *time.Time // The name of the ReportGroup . Name *string // The status of the report group. This property is read-only. This can be one of // the following values: ACTIVE The report group is active. DELETING The report // group is in the process of being deleted. Status ReportGroupStatusType // A list of tag key and value pairs associated with this report group. These tags // are available for use by Amazon Web Services services that support CodeBuild // report group tags. Tags []Tag // The type of the ReportGroup . This can be one of the following values: // CODE_COVERAGE The report group contains code coverage reports. TEST The report // group contains test reports. Type ReportType noSmithyDocumentSerde } // Contains trend statistics for a set of reports. The actual values depend on the // type of trend being collected. For more information, see . type ReportGroupTrendStats struct { // Contains the average of all values analyzed. Average *string // Contains the maximum value analyzed. Max *string // Contains the minimum value analyzed. Min *string noSmithyDocumentSerde } // Contains the unmodified data for the report. For more information, see . type ReportWithRawData struct { // The value of the requested data field from the report. Data *string // The ARN of the report. ReportArn *string noSmithyDocumentSerde } // Represents a resolved build artifact. A resolved artifact is an artifact that // is built and deployed to the destination, such as Amazon S3. type ResolvedArtifact struct { // The identifier of the artifact. Identifier *string // The location of the artifact. Location *string // Specifies the type of artifact. Type ArtifactsType noSmithyDocumentSerde } // Information about S3 logs for a build project. type S3LogsConfig struct { // The current status of the S3 build logs. Valid values are: // - ENABLED : S3 build logs are enabled for this build project. // - DISABLED : S3 build logs are not enabled for this build project. // // This member is required. Status LogsConfigStatusType // Specifies the bucket owner's access for objects that another account uploads to // their Amazon S3 bucket. By default, only the account that uploads the objects to // the bucket has access to these objects. This property allows you to give the // bucket owner access to these objects. To use this property, your CodeBuild // service role must have the s3:PutBucketAcl permission. This permission allows // CodeBuild to modify the access control list for the bucket. This property can be // one of the following values: NONE The bucket owner does not have access to the // objects. This is the default. READ_ONLY The bucket owner has read-only access to // the objects. The uploading account retains ownership of the objects. FULL The // bucket owner has full access to the objects. Object ownership is determined by // the following criteria: // - If the bucket is configured with the Bucket owner preferred setting, the // bucket owner owns the objects. The uploading account will have object access as // specified by the bucket's policy. // - Otherwise, the uploading account retains ownership of the objects. // For more information about Amazon S3 object ownership, see Controlling // ownership of uploaded objects using S3 Object Ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) // in the Amazon Simple Storage Service User Guide. BucketOwnerAccess BucketOwnerAccess // Set to true if you do not want your S3 build log output encrypted. By default // S3 build logs are encrypted. EncryptionDisabled *bool // The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 // bucket name is my-bucket , and your path prefix is build-log , then acceptable // formats are my-bucket/build-log or arn:aws:s3:::my-bucket/build-log . Location *string noSmithyDocumentSerde } // Information about the S3 bucket where the raw data of a report are exported. type S3ReportExportConfig struct { // The name of the S3 bucket where the raw data of a report are exported. Bucket *string // The Amazon Web Services account identifier of the owner of the Amazon S3 // bucket. This allows report data to be exported to an Amazon S3 bucket that is // owned by an account other than the account running the build. BucketOwner *string // A boolean value that specifies if the results of a report are encrypted. EncryptionDisabled *bool // The encryption key for the report's encrypted raw data. EncryptionKey *string // The type of build output artifact to create. Valid values include: // - NONE : CodeBuild creates the raw data in the output bucket. This is the // default if packaging is not specified. // - ZIP : CodeBuild creates a ZIP file with the raw data in the output bucket. Packaging ReportPackagingType // The path to the exported report's raw data results. Path *string noSmithyDocumentSerde } // Information about the authorization settings for CodeBuild to access the source // code to be built. This information is for the CodeBuild console's use only. Your // code should not get or set this information directly. type SourceAuth struct { // This data type is deprecated and is no longer accurate or used. The // authorization type to use. The only valid value is OAUTH , which represents the // OAuth authorization type. // // This member is required. Type SourceAuthType // The resource value that applies to the specified authorization type. Resource *string noSmithyDocumentSerde } // Information about the credentials for a GitHub, GitHub Enterprise, or Bitbucket // repository. type SourceCredentialsInfo struct { // The Amazon Resource Name (ARN) of the token. Arn *string // The type of authentication used by the credentials. Valid options are OAUTH, // BASIC_AUTH, or PERSONAL_ACCESS_TOKEN. AuthType AuthType // The type of source provider. The valid options are GITHUB, GITHUB_ENTERPRISE, // or BITBUCKET. ServerType ServerType noSmithyDocumentSerde } // A tag, consisting of a key and a value. This tag is available for use by Amazon // Web Services services that support tags in CodeBuild. type Tag struct { // The tag's key. Key *string // The tag's value. Value *string noSmithyDocumentSerde } // Information about a test case created using a framework such as NUnit or // Cucumber. A test case might be a unit test or a configuration test. type TestCase struct { // The number of nanoseconds it took to run this test case. DurationInNanoSeconds *int64 // The date and time a test case expires. A test case expires 30 days after it is // created. An expired test case is not available to view in CodeBuild. Expired *time.Time // A message associated with a test case. For example, an error message or stack // trace. Message *string // The name of the test case. Name *string // A string that is applied to a series of related test cases. CodeBuild generates // the prefix. The prefix depends on the framework used to generate the tests. Prefix *string // The ARN of the report to which the test case belongs. ReportArn *string // The status returned by the test case after it was run. Valid statuses are // SUCCEEDED , FAILED , ERROR , SKIPPED , and UNKNOWN . Status *string // The path to the raw data file that contains the test result. TestRawDataPath *string noSmithyDocumentSerde } // A filter used to return specific types of test cases. In order to pass the // filter, the report must meet all of the filter properties. type TestCaseFilter struct { // A keyword that is used to filter on the name or the prefix of the test cases. // Only test cases where the keyword is a substring of the name or the prefix will // be returned. Keyword *string // The status used to filter test cases. A TestCaseFilter can have one status. // Valid values are: // - SUCCEEDED // - FAILED // - ERROR // - SKIPPED // - UNKNOWN Status *string noSmithyDocumentSerde } // Information about a test report. type TestReportSummary struct { // The number of nanoseconds it took to run all of the test cases in this report. // // This member is required. DurationInNanoSeconds *int64 // A map that contains the number of each type of status returned by the test // results in this TestReportSummary . // // This member is required. StatusCounts map[string]int32 // The number of test cases in this TestReportSummary . The total includes // truncated test cases. // // This member is required. Total *int32 noSmithyDocumentSerde } // Information about the VPC configuration that CodeBuild accesses. type VpcConfig struct { // A list of one or more security groups IDs in your Amazon VPC. SecurityGroupIds []string // A list of one or more subnet IDs in your Amazon VPC. Subnets []string // The ID of the Amazon VPC. VpcId *string noSmithyDocumentSerde } // Information about a webhook that connects repository events to a build project // in CodeBuild. type Webhook struct { // A regular expression used to determine which repository branches are built when // a webhook is triggered. If the name of a branch matches the regular expression, // then it is built. If branchFilter is empty, then all branches are built. It is // recommended that you use filterGroups instead of branchFilter . BranchFilter *string // Specifies the type of build this webhook will trigger. BuildType WebhookBuildType // An array of arrays of WebhookFilter objects used to determine which webhooks // are triggered. At least one WebhookFilter in the array must specify EVENT as // its type . For a build to be triggered, at least one filter group in the // filterGroups array must pass. For a filter group to pass, each of its filters // must pass. FilterGroups [][]WebhookFilter // A timestamp that indicates the last time a repository's secret token was // modified. LastModifiedSecret *time.Time // The CodeBuild endpoint where webhook events are sent. PayloadUrl *string // The secret token of the associated repository. A Bitbucket webhook does not // support secret . Secret *string // The URL to the webhook. Url *string noSmithyDocumentSerde } // A filter used to determine which webhooks trigger a build. type WebhookFilter struct { // For a WebHookFilter that uses EVENT type, a comma-separated string that // specifies one or more events. For example, the webhook filter PUSH, // PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED allows all push, pull request // created, and pull request updated events to trigger a build. For a WebHookFilter // that uses any of the other filter types, a regular expression pattern. For // example, a WebHookFilter that uses HEAD_REF for its type and the pattern // ^refs/heads/ triggers a build when the head reference is a branch with a // reference name refs/heads/branch-name . // // This member is required. Pattern *string // The type of webhook filter. There are six webhook filter types: EVENT , // ACTOR_ACCOUNT_ID , HEAD_REF , BASE_REF , FILE_PATH , and COMMIT_MESSAGE . EVENT // A webhook event triggers a build when the provided pattern matches one of five // event types: PUSH , PULL_REQUEST_CREATED , PULL_REQUEST_UPDATED , // PULL_REQUEST_REOPENED , and PULL_REQUEST_MERGED . The EVENT patterns are // specified as a comma-separated string. For example, PUSH, PULL_REQUEST_CREATED, // PULL_REQUEST_UPDATED filters all push, pull request created, and pull request // updated events. The PULL_REQUEST_REOPENED works with GitHub and GitHub // Enterprise only. ACTOR_ACCOUNT_ID A webhook event triggers a build when a // GitHub, GitHub Enterprise, or Bitbucket account ID matches the regular // expression pattern . HEAD_REF A webhook event triggers a build when the head // reference matches the regular expression pattern . For example, // refs/heads/branch-name and refs/tags/tag-name . Works with GitHub and GitHub // Enterprise push, GitHub and GitHub Enterprise pull request, Bitbucket push, and // Bitbucket pull request events. BASE_REF A webhook event triggers a build when // the base reference matches the regular expression pattern . For example, // refs/heads/branch-name . Works with pull request events only. FILE_PATH A // webhook triggers a build when the path of a changed file matches the regular // expression pattern . Works with GitHub and Bitbucket events push and pull // requests events. Also works with GitHub Enterprise push events, but does not // work with GitHub Enterprise pull request events. COMMIT_MESSAGE A webhook // triggers a build when the head commit message matches the regular expression // pattern . Works with GitHub and Bitbucket events push and pull requests events. // Also works with GitHub Enterprise push events, but does not work with GitHub // Enterprise pull request events. // // This member is required. Type WebhookFilterType // Used to indicate that the pattern determines which webhook events do not // trigger a build. If true, then a webhook event that does not match the pattern // triggers a build. If false, then a webhook event that matches the pattern // triggers a build. ExcludeMatchedPattern *bool noSmithyDocumentSerde } type noSmithyDocumentSerde = smithydocument.NoSerde