awscodebuild

package
v2.0.0-rc.29 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 10, 2021 License: Apache-2.0 Imports: 18 Imported by: 8

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BitBucketSourceCredentials_IsConstruct

func BitBucketSourceCredentials_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func BitBucketSourceCredentials_IsResource

func BitBucketSourceCredentials_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func CfnProject_CFN_RESOURCE_TYPE_NAME

func CfnProject_CFN_RESOURCE_TYPE_NAME() *string

func CfnProject_IsCfnElement

func CfnProject_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnProject_IsCfnResource

func CfnProject_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnProject_IsConstruct

func CfnProject_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnReportGroup_CFN_RESOURCE_TYPE_NAME

func CfnReportGroup_CFN_RESOURCE_TYPE_NAME() *string

func CfnReportGroup_IsCfnElement

func CfnReportGroup_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnReportGroup_IsCfnResource

func CfnReportGroup_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnReportGroup_IsConstruct

func CfnReportGroup_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func CfnSourceCredential_CFN_RESOURCE_TYPE_NAME

func CfnSourceCredential_CFN_RESOURCE_TYPE_NAME() *string

func CfnSourceCredential_IsCfnElement

func CfnSourceCredential_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element. Experimental.

func CfnSourceCredential_IsCfnResource

func CfnSourceCredential_IsCfnResource(construct constructs.IConstruct) *bool

Check whether the given construct is a CfnResource. Experimental.

func CfnSourceCredential_IsConstruct

func CfnSourceCredential_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func GitHubEnterpriseSourceCredentials_IsConstruct

func GitHubEnterpriseSourceCredentials_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func GitHubEnterpriseSourceCredentials_IsResource

func GitHubEnterpriseSourceCredentials_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func GitHubSourceCredentials_IsConstruct

func GitHubSourceCredentials_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func GitHubSourceCredentials_IsResource

func GitHubSourceCredentials_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func NewArtifacts_Override

func NewArtifacts_Override(a Artifacts, props *ArtifactsProps)

Experimental.

func NewBitBucketSourceCredentials_Override

func NewBitBucketSourceCredentials_Override(b BitBucketSourceCredentials, scope constructs.Construct, id *string, props *BitBucketSourceCredentialsProps)

Experimental.

func NewBuildSpec_Override

func NewBuildSpec_Override(b BuildSpec)

Experimental.

func NewCache_Override

func NewCache_Override(c Cache)

Experimental.

func NewCfnProject_Override

func NewCfnProject_Override(c CfnProject, scope constructs.Construct, id *string, props *CfnProjectProps)

Create a new `AWS::CodeBuild::Project`.

func NewCfnReportGroup_Override

func NewCfnReportGroup_Override(c CfnReportGroup, scope constructs.Construct, id *string, props *CfnReportGroupProps)

Create a new `AWS::CodeBuild::ReportGroup`.

func NewCfnSourceCredential_Override

func NewCfnSourceCredential_Override(c CfnSourceCredential, scope constructs.Construct, id *string, props *CfnSourceCredentialProps)

Create a new `AWS::CodeBuild::SourceCredential`.

func NewFileSystemLocation_Override

func NewFileSystemLocation_Override(f FileSystemLocation)

Experimental.

func NewGitHubEnterpriseSourceCredentials_Override

func NewGitHubEnterpriseSourceCredentials_Override(g GitHubEnterpriseSourceCredentials, scope constructs.Construct, id *string, props *GitHubEnterpriseSourceCredentialsProps)

Experimental.

func NewGitHubSourceCredentials_Override

func NewGitHubSourceCredentials_Override(g GitHubSourceCredentials, scope constructs.Construct, id *string, props *GitHubSourceCredentialsProps)

Experimental.

func NewPipelineProject_Override

func NewPipelineProject_Override(p PipelineProject, scope constructs.Construct, id *string, props *PipelineProjectProps)

Experimental.

func NewProject_Override

func NewProject_Override(p Project, scope constructs.Construct, id *string, props *ProjectProps)

Experimental.

func NewReportGroup_Override

func NewReportGroup_Override(r ReportGroup, scope constructs.Construct, id *string, props *ReportGroupProps)

Experimental.

func NewSource_Override

func NewSource_Override(s Source, props *SourceProps)

Experimental.

func NewUntrustedCodeBoundaryPolicy_Override

func NewUntrustedCodeBoundaryPolicy_Override(u UntrustedCodeBoundaryPolicy, scope constructs.Construct, id *string, props *UntrustedCodeBoundaryPolicyProps)

Experimental.

func PhaseChangeEvent_BuildComplete

func PhaseChangeEvent_BuildComplete() *string

func PhaseChangeEvent_BuildId

func PhaseChangeEvent_BuildId() *string

func PhaseChangeEvent_CompletedPhase

func PhaseChangeEvent_CompletedPhase() *string

func PhaseChangeEvent_CompletedPhaseDurationSeconds

func PhaseChangeEvent_CompletedPhaseDurationSeconds() *string

func PhaseChangeEvent_CompletedPhaseStatus

func PhaseChangeEvent_CompletedPhaseStatus() *string

func PhaseChangeEvent_ProjectName

func PhaseChangeEvent_ProjectName() *string

func PipelineProject_IsConstruct

func PipelineProject_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func PipelineProject_IsResource

func PipelineProject_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func PipelineProject_SerializeEnvVariables

func PipelineProject_SerializeEnvVariables(environmentVariables *map[string]*BuildEnvironmentVariable, validateNoPlainTextSecrets *bool, principal awsiam.IGrantable) *[]*CfnProject_EnvironmentVariableProperty

Convert the environment variables map of string to {@link BuildEnvironmentVariable}, which is the customer-facing type, to a list of {@link CfnProject.EnvironmentVariableProperty}, which is the representation of environment variables in CloudFormation.

Returns: an array of {@link CfnProject.EnvironmentVariableProperty} instances Experimental.

func Project_IsConstruct

func Project_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func Project_IsResource

func Project_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func Project_SerializeEnvVariables

func Project_SerializeEnvVariables(environmentVariables *map[string]*BuildEnvironmentVariable, validateNoPlainTextSecrets *bool, principal awsiam.IGrantable) *[]*CfnProject_EnvironmentVariableProperty

Convert the environment variables map of string to {@link BuildEnvironmentVariable}, which is the customer-facing type, to a list of {@link CfnProject.EnvironmentVariableProperty}, which is the representation of environment variables in CloudFormation.

Returns: an array of {@link CfnProject.EnvironmentVariableProperty} instances Experimental.

func ReportGroup_IsConstruct

func ReportGroup_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func ReportGroup_IsResource

func ReportGroup_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

func StateChangeEvent_BuildId

func StateChangeEvent_BuildId() *string

func StateChangeEvent_BuildStatus

func StateChangeEvent_BuildStatus() *string

func StateChangeEvent_CurrentPhase

func StateChangeEvent_CurrentPhase() *string

func StateChangeEvent_ProjectName

func StateChangeEvent_ProjectName() *string

func UntrustedCodeBoundaryPolicy_FromAwsManagedPolicyName

func UntrustedCodeBoundaryPolicy_FromAwsManagedPolicyName(managedPolicyName *string) awsiam.IManagedPolicy

Import a managed policy from one of the policies that AWS manages.

For this managed policy, you only need to know the name to be able to use it.

Some managed policy names start with "service-role/", some start with "job-function/", and some don't start with anything. Include the prefix when constructing this object. Experimental.

func UntrustedCodeBoundaryPolicy_FromManagedPolicyArn

func UntrustedCodeBoundaryPolicy_FromManagedPolicyArn(scope constructs.Construct, id *string, managedPolicyArn *string) awsiam.IManagedPolicy

Import an external managed policy by ARN.

For this managed policy, you only need to know the ARN to be able to use it. This can be useful if you got the ARN from a CloudFormation Export.

If the imported Managed Policy ARN is a Token (such as a `CfnParameter.valueAsString` or a `Fn.importValue()`) *and* the referenced managed policy has a `path` (like `arn:...:policy/AdminPolicy/AdminAllow`), the `managedPolicyName` property will not resolve to the correct value. Instead it will resolve to the first path component. We unfortunately cannot express the correct calculation of the full path name as a CloudFormation expression. In this scenario the Managed Policy ARN should be supplied without the `path` in order to resolve the correct managed policy resource. Experimental.

func UntrustedCodeBoundaryPolicy_FromManagedPolicyName

func UntrustedCodeBoundaryPolicy_FromManagedPolicyName(scope constructs.Construct, id *string, managedPolicyName *string) awsiam.IManagedPolicy

Import a customer managed policy from the managedPolicyName.

For this managed policy, you only need to know the name to be able to use it. Experimental.

func UntrustedCodeBoundaryPolicy_IsConstruct

func UntrustedCodeBoundaryPolicy_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead

func UntrustedCodeBoundaryPolicy_IsResource

func UntrustedCodeBoundaryPolicy_IsResource(construct constructs.IConstruct) *bool

Check whether the given construct is a Resource. Experimental.

Types

type Artifacts

type Artifacts interface {
	IArtifacts
	Identifier() *string
	Type() *string
	Bind(_scope constructs.Construct, _project IProject) *ArtifactsConfig
}

Artifacts definition for a CodeBuild Project. Experimental.

type ArtifactsConfig

type ArtifactsConfig struct {
	// The low-level CloudFormation artifacts property.
	// Experimental.
	ArtifactsProperty *CfnProject_ArtifactsProperty `json:"artifactsProperty"`
}

The type returned from {@link IArtifacts#bind}. Experimental.

type ArtifactsProps

type ArtifactsProps struct {
	// The artifact identifier.
	//
	// This property is required on secondary artifacts.
	// Experimental.
	Identifier *string `json:"identifier"`
}

Properties common to all Artifacts classes. Experimental.

type BatchBuildConfig

type BatchBuildConfig struct {
	// The IAM batch service Role of this Project.
	// Experimental.
	Role awsiam.IRole `json:"role"`
}

The type returned from {@link IProject#enableBatchBuilds}. Experimental.

type BindToCodePipelineOptions

type BindToCodePipelineOptions struct {
	// The artifact bucket that will be used by the action that invokes this project.
	// Experimental.
	ArtifactBucket awss3.IBucket `json:"artifactBucket"`
}

The extra options passed to the {@link IProject.bindToCodePipeline} method. Experimental.

type BitBucketSourceCredentials

type BitBucketSourceCredentials interface {
	awscdk.Resource
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

The source credentials used when contacting the BitBucket API.

**Note**: CodeBuild only allows a single credential for BitBucket to be saved in a given AWS account in a given region - any attempt to add more than one will result in an error. Experimental.

func NewBitBucketSourceCredentials

func NewBitBucketSourceCredentials(scope constructs.Construct, id *string, props *BitBucketSourceCredentialsProps) BitBucketSourceCredentials

Experimental.

type BitBucketSourceCredentialsProps

type BitBucketSourceCredentialsProps struct {
	// Your BitBucket application password.
	// Experimental.
	Password awscdk.SecretValue `json:"password"`
	// Your BitBucket username.
	// Experimental.
	Username awscdk.SecretValue `json:"username"`
}

Construction properties of {@link BitBucketSourceCredentials}. Experimental.

type BitBucketSourceProps

type BitBucketSourceProps struct {
	// The source identifier.
	//
	// This property is required on secondary sources.
	// Experimental.
	Identifier *string `json:"identifier"`
	// The BitBucket account/user that owns the repo.
	//
	// TODO: EXAMPLE
	//
	// Experimental.
	Owner *string `json:"owner"`
	// The name of the repo (without the username).
	//
	// TODO: EXAMPLE
	//
	// Experimental.
	Repo *string `json:"repo"`
	// The commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build.
	//
	// TODO: EXAMPLE
	//
	// Experimental.
	BranchOrRef *string `json:"branchOrRef"`
	// The depth of history to download.
	//
	// Minimum value is 0.
	// If this value is 0, greater than 25, or not provided,
	// then the full history is downloaded with each build of the project.
	// Experimental.
	CloneDepth *float64 `json:"cloneDepth"`
	// Whether to fetch submodules while cloning git repo.
	// Experimental.
	FetchSubmodules *bool `json:"fetchSubmodules"`
	// Whether to send notifications on your build's start and end.
	// Experimental.
	ReportBuildStatus *bool `json:"reportBuildStatus"`
	// Whether to create a webhook that will trigger a build every time an event happens in the repository.
	// Experimental.
	Webhook *bool `json:"webhook"`
	// A list of webhook filters that can constraint what events in the repository will trigger a build.
	//
	// A build is triggered if any of the provided filter groups match.
	// Only valid if `webhook` was not provided as false.
	// Experimental.
	WebhookFilters *[]FilterGroup `json:"webhookFilters"`
	// Trigger a batch build from a webhook instead of a standard one.
	//
	// Enabling this will enable batch builds on the CodeBuild project.
	// Experimental.
	WebhookTriggersBatchBuild *bool `json:"webhookTriggersBatchBuild"`
}

Construction properties for {@link BitBucketSource}. Experimental.

type BucketCacheOptions

type BucketCacheOptions struct {
	// The prefix to use to store the cache in the bucket.
	// Experimental.
	Prefix *string `json:"prefix"`
}

Experimental.

type BuildEnvironment

type BuildEnvironment struct {
	// The image used for the builds.
	// Experimental.
	BuildImage IBuildImage `json:"buildImage"`
	// The location of the PEM-encoded certificate for the build project.
	// Experimental.
	Certificate *BuildEnvironmentCertificate `json:"certificate"`
	// The type of compute to use for this build.
	//
	// See the {@link ComputeType} enum for the possible values.
	// Experimental.
	ComputeType ComputeType `json:"computeType"`
	// The environment variables that your builds can use.
	// Experimental.
	EnvironmentVariables *map[string]*BuildEnvironmentVariable `json:"environmentVariables"`
	// Indicates how the project builds Docker images.
	//
	// Specify true to enable
	// running the Docker daemon inside a Docker container. This value must be
	// set to true only if this build project will be used to build Docker
	// images, and the specified build environment image is not one provided by
	// AWS CodeBuild with Docker support. Otherwise, all associated builds that
	// attempt to interact with the Docker daemon will fail.
	// Experimental.
	Privileged *bool `json:"privileged"`
}

Experimental.

type BuildEnvironmentCertificate

type BuildEnvironmentCertificate struct {
	// The bucket where the certificate is.
	// Experimental.
	Bucket awss3.IBucket `json:"bucket"`
	// The full path and name of the key file.
	// Experimental.
	ObjectKey *string `json:"objectKey"`
}

Location of a PEM certificate on S3. Experimental.

type BuildEnvironmentVariable

type BuildEnvironmentVariable struct {
	// The value of the environment variable.
	//
	// For plain-text variables (the default), this is the literal value of variable.
	// For SSM parameter variables, pass the name of the parameter here (`parameterName` property of `IParameter`).
	// For SecretsManager variables secrets, pass either the secret name (`secretName` property of `ISecret`)
	// or the secret ARN (`secretArn` property of `ISecret`) here,
	// along with optional SecretsManager qualifiers separated by ':', like the JSON key, or the version or stage
	// (see https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.secrets-manager for details).
	// Experimental.
	Value interface{} `json:"value"`
	// The type of environment variable.
	// Experimental.
	Type BuildEnvironmentVariableType `json:"type"`
}

Experimental.

type BuildEnvironmentVariableType

type BuildEnvironmentVariableType string

Experimental.

const (
	BuildEnvironmentVariableType_PLAINTEXT       BuildEnvironmentVariableType = "PLAINTEXT"
	BuildEnvironmentVariableType_PARAMETER_STORE BuildEnvironmentVariableType = "PARAMETER_STORE"
	BuildEnvironmentVariableType_SECRETS_MANAGER BuildEnvironmentVariableType = "SECRETS_MANAGER"
)

type BuildImageBindOptions

type BuildImageBindOptions struct {
}

Optional arguments to {@link IBuildImage.binder} - currently empty. Experimental.

type BuildImageConfig

type BuildImageConfig struct {
}

The return type from {@link IBuildImage.binder} - currently empty. Experimental.

type BuildSpec

type BuildSpec interface {
	IsImmediate() *bool
	ToBuildSpec() *string
}

BuildSpec for CodeBuild projects. Experimental.

func BuildSpec_FromObject

func BuildSpec_FromObject(value *map[string]interface{}) BuildSpec

Experimental.

func BuildSpec_FromObjectToYaml

func BuildSpec_FromObjectToYaml(value *map[string]interface{}) BuildSpec

Create a buildspec from an object that will be rendered as YAML in the resulting CloudFormation template. Experimental.

func BuildSpec_FromSourceFilename

func BuildSpec_FromSourceFilename(filename *string) BuildSpec

Use a file from the source as buildspec.

Use this if you want to use a file different from 'buildspec.yml'` Experimental.

type Cache

type Cache interface {
}

Cache options for CodeBuild Project.

A cache can store reusable pieces of your build environment and use them across multiple builds. See: https://docs.aws.amazon.com/codebuild/latest/userguide/build-caching.html

Experimental.

func Cache_Bucket

func Cache_Bucket(bucket awss3.IBucket, options *BucketCacheOptions) Cache

Create an S3 caching strategy. Experimental.

func Cache_Local

func Cache_Local(modes ...LocalCacheMode) Cache

Create a local caching strategy. Experimental.

func Cache_None

func Cache_None() Cache

Experimental.

type CfnProject

type CfnProject interface {
	awscdk.CfnResource
	awscdk.IInspectable
	Artifacts() interface{}
	SetArtifacts(val interface{})
	AttrArn() *string
	BadgeEnabled() interface{}
	SetBadgeEnabled(val interface{})
	BuildBatchConfig() interface{}
	SetBuildBatchConfig(val interface{})
	Cache() interface{}
	SetCache(val interface{})
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	ConcurrentBuildLimit() *float64
	SetConcurrentBuildLimit(val *float64)
	CreationStack() *[]*string
	Description() *string
	SetDescription(val *string)
	EncryptionKey() *string
	SetEncryptionKey(val *string)
	Environment() interface{}
	SetEnvironment(val interface{})
	FileSystemLocations() interface{}
	SetFileSystemLocations(val interface{})
	LogicalId() *string
	LogsConfig() interface{}
	SetLogsConfig(val interface{})
	Name() *string
	SetName(val *string)
	Node() constructs.Node
	QueuedTimeoutInMinutes() *float64
	SetQueuedTimeoutInMinutes(val *float64)
	Ref() *string
	ResourceAccessRole() *string
	SetResourceAccessRole(val *string)
	SecondaryArtifacts() interface{}
	SetSecondaryArtifacts(val interface{})
	SecondarySources() interface{}
	SetSecondarySources(val interface{})
	SecondarySourceVersions() interface{}
	SetSecondarySourceVersions(val interface{})
	ServiceRole() *string
	SetServiceRole(val *string)
	Source() interface{}
	SetSource(val interface{})
	SourceVersion() *string
	SetSourceVersion(val *string)
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	TimeoutInMinutes() *float64
	SetTimeoutInMinutes(val *float64)
	Triggers() interface{}
	SetTriggers(val interface{})
	UpdatedProperites() *map[string]interface{}
	Visibility() *string
	SetVisibility(val *string)
	VpcConfig() interface{}
	SetVpcConfig(val interface{})
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CodeBuild::Project`.

func NewCfnProject

func NewCfnProject(scope constructs.Construct, id *string, props *CfnProjectProps) CfnProject

Create a new `AWS::CodeBuild::Project`.

type CfnProjectProps

type CfnProjectProps struct {
	// `AWS::CodeBuild::Project.Artifacts`.
	Artifacts interface{} `json:"artifacts"`
	// `AWS::CodeBuild::Project.Environment`.
	Environment interface{} `json:"environment"`
	// `AWS::CodeBuild::Project.ServiceRole`.
	ServiceRole *string `json:"serviceRole"`
	// `AWS::CodeBuild::Project.Source`.
	Source interface{} `json:"source"`
	// `AWS::CodeBuild::Project.BadgeEnabled`.
	BadgeEnabled interface{} `json:"badgeEnabled"`
	// `AWS::CodeBuild::Project.BuildBatchConfig`.
	BuildBatchConfig interface{} `json:"buildBatchConfig"`
	// `AWS::CodeBuild::Project.Cache`.
	Cache interface{} `json:"cache"`
	// `AWS::CodeBuild::Project.ConcurrentBuildLimit`.
	ConcurrentBuildLimit *float64 `json:"concurrentBuildLimit"`
	// `AWS::CodeBuild::Project.Description`.
	Description *string `json:"description"`
	// `AWS::CodeBuild::Project.EncryptionKey`.
	EncryptionKey *string `json:"encryptionKey"`
	// `AWS::CodeBuild::Project.FileSystemLocations`.
	FileSystemLocations interface{} `json:"fileSystemLocations"`
	// `AWS::CodeBuild::Project.LogsConfig`.
	LogsConfig interface{} `json:"logsConfig"`
	// `AWS::CodeBuild::Project.Name`.
	Name *string `json:"name"`
	// `AWS::CodeBuild::Project.QueuedTimeoutInMinutes`.
	QueuedTimeoutInMinutes *float64 `json:"queuedTimeoutInMinutes"`
	// `AWS::CodeBuild::Project.ResourceAccessRole`.
	ResourceAccessRole *string `json:"resourceAccessRole"`
	// `AWS::CodeBuild::Project.SecondaryArtifacts`.
	SecondaryArtifacts interface{} `json:"secondaryArtifacts"`
	// `AWS::CodeBuild::Project.SecondarySources`.
	SecondarySources interface{} `json:"secondarySources"`
	// `AWS::CodeBuild::Project.SecondarySourceVersions`.
	SecondarySourceVersions interface{} `json:"secondarySourceVersions"`
	// `AWS::CodeBuild::Project.SourceVersion`.
	SourceVersion *string `json:"sourceVersion"`
	// `AWS::CodeBuild::Project.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
	// `AWS::CodeBuild::Project.TimeoutInMinutes`.
	TimeoutInMinutes *float64 `json:"timeoutInMinutes"`
	// `AWS::CodeBuild::Project.Triggers`.
	Triggers interface{} `json:"triggers"`
	// `AWS::CodeBuild::Project.Visibility`.
	Visibility *string `json:"visibility"`
	// `AWS::CodeBuild::Project.VpcConfig`.
	VpcConfig interface{} `json:"vpcConfig"`
}

Properties for defining a `AWS::CodeBuild::Project`.

type CfnProject_ArtifactsProperty

type CfnProject_ArtifactsProperty struct {
	// `CfnProject.ArtifactsProperty.Type`.
	Type *string `json:"type"`
	// `CfnProject.ArtifactsProperty.ArtifactIdentifier`.
	ArtifactIdentifier *string `json:"artifactIdentifier"`
	// `CfnProject.ArtifactsProperty.EncryptionDisabled`.
	EncryptionDisabled interface{} `json:"encryptionDisabled"`
	// `CfnProject.ArtifactsProperty.Location`.
	Location *string `json:"location"`
	// `CfnProject.ArtifactsProperty.Name`.
	Name *string `json:"name"`
	// `CfnProject.ArtifactsProperty.NamespaceType`.
	NamespaceType *string `json:"namespaceType"`
	// `CfnProject.ArtifactsProperty.OverrideArtifactName`.
	OverrideArtifactName interface{} `json:"overrideArtifactName"`
	// `CfnProject.ArtifactsProperty.Packaging`.
	Packaging *string `json:"packaging"`
	// `CfnProject.ArtifactsProperty.Path`.
	Path *string `json:"path"`
}

type CfnProject_BatchRestrictionsProperty

type CfnProject_BatchRestrictionsProperty struct {
	// `CfnProject.BatchRestrictionsProperty.ComputeTypesAllowed`.
	ComputeTypesAllowed *[]*string `json:"computeTypesAllowed"`
	// `CfnProject.BatchRestrictionsProperty.MaximumBuildsAllowed`.
	MaximumBuildsAllowed *float64 `json:"maximumBuildsAllowed"`
}

type CfnProject_BuildStatusConfigProperty

type CfnProject_BuildStatusConfigProperty struct {
	// `CfnProject.BuildStatusConfigProperty.Context`.
	Context *string `json:"context"`
	// `CfnProject.BuildStatusConfigProperty.TargetUrl`.
	TargetUrl *string `json:"targetUrl"`
}

type CfnProject_CloudWatchLogsConfigProperty

type CfnProject_CloudWatchLogsConfigProperty struct {
	// `CfnProject.CloudWatchLogsConfigProperty.Status`.
	Status *string `json:"status"`
	// `CfnProject.CloudWatchLogsConfigProperty.GroupName`.
	GroupName *string `json:"groupName"`
	// `CfnProject.CloudWatchLogsConfigProperty.StreamName`.
	StreamName *string `json:"streamName"`
}

type CfnProject_EnvironmentProperty

type CfnProject_EnvironmentProperty struct {
	// `CfnProject.EnvironmentProperty.ComputeType`.
	ComputeType *string `json:"computeType"`
	// `CfnProject.EnvironmentProperty.Image`.
	Image *string `json:"image"`
	// `CfnProject.EnvironmentProperty.Type`.
	Type *string `json:"type"`
	// `CfnProject.EnvironmentProperty.Certificate`.
	Certificate *string `json:"certificate"`
	// `CfnProject.EnvironmentProperty.EnvironmentVariables`.
	EnvironmentVariables interface{} `json:"environmentVariables"`
	// `CfnProject.EnvironmentProperty.ImagePullCredentialsType`.
	ImagePullCredentialsType *string `json:"imagePullCredentialsType"`
	// `CfnProject.EnvironmentProperty.PrivilegedMode`.
	PrivilegedMode interface{} `json:"privilegedMode"`
	// `CfnProject.EnvironmentProperty.RegistryCredential`.
	RegistryCredential interface{} `json:"registryCredential"`
}

type CfnProject_EnvironmentVariableProperty

type CfnProject_EnvironmentVariableProperty struct {
	// `CfnProject.EnvironmentVariableProperty.Name`.
	Name *string `json:"name"`
	// `CfnProject.EnvironmentVariableProperty.Value`.
	Value *string `json:"value"`
	// `CfnProject.EnvironmentVariableProperty.Type`.
	Type *string `json:"type"`
}

type CfnProject_GitSubmodulesConfigProperty

type CfnProject_GitSubmodulesConfigProperty struct {
	// `CfnProject.GitSubmodulesConfigProperty.FetchSubmodules`.
	FetchSubmodules interface{} `json:"fetchSubmodules"`
}

type CfnProject_LogsConfigProperty

type CfnProject_LogsConfigProperty struct {
	// `CfnProject.LogsConfigProperty.CloudWatchLogs`.
	CloudWatchLogs interface{} `json:"cloudWatchLogs"`
	// `CfnProject.LogsConfigProperty.S3Logs`.
	S3Logs interface{} `json:"s3Logs"`
}

type CfnProject_ProjectBuildBatchConfigProperty

type CfnProject_ProjectBuildBatchConfigProperty struct {
	// `CfnProject.ProjectBuildBatchConfigProperty.BatchReportMode`.
	BatchReportMode *string `json:"batchReportMode"`
	// `CfnProject.ProjectBuildBatchConfigProperty.CombineArtifacts`.
	CombineArtifacts interface{} `json:"combineArtifacts"`
	// `CfnProject.ProjectBuildBatchConfigProperty.Restrictions`.
	Restrictions interface{} `json:"restrictions"`
	// `CfnProject.ProjectBuildBatchConfigProperty.ServiceRole`.
	ServiceRole *string `json:"serviceRole"`
	// `CfnProject.ProjectBuildBatchConfigProperty.TimeoutInMins`.
	TimeoutInMins *float64 `json:"timeoutInMins"`
}

type CfnProject_ProjectCacheProperty

type CfnProject_ProjectCacheProperty struct {
	// `CfnProject.ProjectCacheProperty.Type`.
	Type *string `json:"type"`
	// `CfnProject.ProjectCacheProperty.Location`.
	Location *string `json:"location"`
	// `CfnProject.ProjectCacheProperty.Modes`.
	Modes *[]*string `json:"modes"`
}

type CfnProject_ProjectFileSystemLocationProperty

type CfnProject_ProjectFileSystemLocationProperty struct {
	// `CfnProject.ProjectFileSystemLocationProperty.Identifier`.
	Identifier *string `json:"identifier"`
	// `CfnProject.ProjectFileSystemLocationProperty.Location`.
	Location *string `json:"location"`
	// `CfnProject.ProjectFileSystemLocationProperty.MountPoint`.
	MountPoint *string `json:"mountPoint"`
	// `CfnProject.ProjectFileSystemLocationProperty.Type`.
	Type *string `json:"type"`
	// `CfnProject.ProjectFileSystemLocationProperty.MountOptions`.
	MountOptions *string `json:"mountOptions"`
}

type CfnProject_ProjectSourceVersionProperty

type CfnProject_ProjectSourceVersionProperty struct {
	// `CfnProject.ProjectSourceVersionProperty.SourceIdentifier`.
	SourceIdentifier *string `json:"sourceIdentifier"`
	// `CfnProject.ProjectSourceVersionProperty.SourceVersion`.
	SourceVersion *string `json:"sourceVersion"`
}

type CfnProject_ProjectTriggersProperty

type CfnProject_ProjectTriggersProperty struct {
	// `CfnProject.ProjectTriggersProperty.BuildType`.
	BuildType *string `json:"buildType"`
	// `CfnProject.ProjectTriggersProperty.FilterGroups`.
	FilterGroups interface{} `json:"filterGroups"`
	// `CfnProject.ProjectTriggersProperty.Webhook`.
	Webhook interface{} `json:"webhook"`
}

type CfnProject_RegistryCredentialProperty

type CfnProject_RegistryCredentialProperty struct {
	// `CfnProject.RegistryCredentialProperty.Credential`.
	Credential *string `json:"credential"`
	// `CfnProject.RegistryCredentialProperty.CredentialProvider`.
	CredentialProvider *string `json:"credentialProvider"`
}

type CfnProject_S3LogsConfigProperty

type CfnProject_S3LogsConfigProperty struct {
	// `CfnProject.S3LogsConfigProperty.Status`.
	Status *string `json:"status"`
	// `CfnProject.S3LogsConfigProperty.EncryptionDisabled`.
	EncryptionDisabled interface{} `json:"encryptionDisabled"`
	// `CfnProject.S3LogsConfigProperty.Location`.
	Location *string `json:"location"`
}

type CfnProject_SourceAuthProperty

type CfnProject_SourceAuthProperty struct {
	// `CfnProject.SourceAuthProperty.Type`.
	Type *string `json:"type"`
	// `CfnProject.SourceAuthProperty.Resource`.
	Resource *string `json:"resource"`
}

type CfnProject_SourceProperty

type CfnProject_SourceProperty struct {
	// `CfnProject.SourceProperty.Type`.
	Type *string `json:"type"`
	// `CfnProject.SourceProperty.Auth`.
	Auth interface{} `json:"auth"`
	// `CfnProject.SourceProperty.BuildSpec`.
	BuildSpec *string `json:"buildSpec"`
	// `CfnProject.SourceProperty.BuildStatusConfig`.
	BuildStatusConfig interface{} `json:"buildStatusConfig"`
	// `CfnProject.SourceProperty.GitCloneDepth`.
	GitCloneDepth *float64 `json:"gitCloneDepth"`
	// `CfnProject.SourceProperty.GitSubmodulesConfig`.
	GitSubmodulesConfig interface{} `json:"gitSubmodulesConfig"`
	// `CfnProject.SourceProperty.InsecureSsl`.
	InsecureSsl interface{} `json:"insecureSsl"`
	// `CfnProject.SourceProperty.Location`.
	Location *string `json:"location"`
	// `CfnProject.SourceProperty.ReportBuildStatus`.
	ReportBuildStatus interface{} `json:"reportBuildStatus"`
	// `CfnProject.SourceProperty.SourceIdentifier`.
	SourceIdentifier *string `json:"sourceIdentifier"`
}

type CfnProject_VpcConfigProperty

type CfnProject_VpcConfigProperty struct {
	// `CfnProject.VpcConfigProperty.SecurityGroupIds`.
	SecurityGroupIds *[]*string `json:"securityGroupIds"`
	// `CfnProject.VpcConfigProperty.Subnets`.
	Subnets *[]*string `json:"subnets"`
	// `CfnProject.VpcConfigProperty.VpcId`.
	VpcId *string `json:"vpcId"`
}

type CfnProject_WebhookFilterProperty

type CfnProject_WebhookFilterProperty struct {
	// `CfnProject.WebhookFilterProperty.Pattern`.
	Pattern *string `json:"pattern"`
	// `CfnProject.WebhookFilterProperty.Type`.
	Type *string `json:"type"`
	// `CfnProject.WebhookFilterProperty.ExcludeMatchedPattern`.
	ExcludeMatchedPattern interface{} `json:"excludeMatchedPattern"`
}

type CfnReportGroup

type CfnReportGroup interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AttrArn() *string
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	DeleteReports() interface{}
	SetDeleteReports(val interface{})
	ExportConfig() interface{}
	SetExportConfig(val interface{})
	LogicalId() *string
	Name() *string
	SetName(val *string)
	Node() constructs.Node
	Ref() *string
	Stack() awscdk.Stack
	Tags() awscdk.TagManager
	Type() *string
	SetType(val *string)
	UpdatedProperites() *map[string]interface{}
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CodeBuild::ReportGroup`.

func NewCfnReportGroup

func NewCfnReportGroup(scope constructs.Construct, id *string, props *CfnReportGroupProps) CfnReportGroup

Create a new `AWS::CodeBuild::ReportGroup`.

type CfnReportGroupProps

type CfnReportGroupProps struct {
	// `AWS::CodeBuild::ReportGroup.ExportConfig`.
	ExportConfig interface{} `json:"exportConfig"`
	// `AWS::CodeBuild::ReportGroup.Type`.
	Type *string `json:"type"`
	// `AWS::CodeBuild::ReportGroup.DeleteReports`.
	DeleteReports interface{} `json:"deleteReports"`
	// `AWS::CodeBuild::ReportGroup.Name`.
	Name *string `json:"name"`
	// `AWS::CodeBuild::ReportGroup.Tags`.
	Tags *[]*awscdk.CfnTag `json:"tags"`
}

Properties for defining a `AWS::CodeBuild::ReportGroup`.

type CfnReportGroup_ReportExportConfigProperty

type CfnReportGroup_ReportExportConfigProperty struct {
	// `CfnReportGroup.ReportExportConfigProperty.ExportConfigType`.
	ExportConfigType *string `json:"exportConfigType"`
	// `CfnReportGroup.ReportExportConfigProperty.S3Destination`.
	S3Destination interface{} `json:"s3Destination"`
}

type CfnReportGroup_S3ReportExportConfigProperty

type CfnReportGroup_S3ReportExportConfigProperty struct {
	// `CfnReportGroup.S3ReportExportConfigProperty.Bucket`.
	Bucket *string `json:"bucket"`
	// `CfnReportGroup.S3ReportExportConfigProperty.BucketOwner`.
	BucketOwner *string `json:"bucketOwner"`
	// `CfnReportGroup.S3ReportExportConfigProperty.EncryptionDisabled`.
	EncryptionDisabled interface{} `json:"encryptionDisabled"`
	// `CfnReportGroup.S3ReportExportConfigProperty.EncryptionKey`.
	EncryptionKey *string `json:"encryptionKey"`
	// `CfnReportGroup.S3ReportExportConfigProperty.Packaging`.
	Packaging *string `json:"packaging"`
	// `CfnReportGroup.S3ReportExportConfigProperty.Path`.
	Path *string `json:"path"`
}

type CfnSourceCredential

type CfnSourceCredential interface {
	awscdk.CfnResource
	awscdk.IInspectable
	AuthType() *string
	SetAuthType(val *string)
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	CfnResourceType() *string
	CreationStack() *[]*string
	LogicalId() *string
	Node() constructs.Node
	Ref() *string
	ServerType() *string
	SetServerType(val *string)
	Stack() awscdk.Stack
	Token() *string
	SetToken(val *string)
	UpdatedProperites() *map[string]interface{}
	Username() *string
	SetUsername(val *string)
	AddDeletionOverride(path *string)
	AddDependsOn(target awscdk.CfnResource)
	AddMetadata(key *string, value interface{})
	AddOverride(path *string, value interface{})
	AddPropertyDeletionOverride(propertyPath *string)
	AddPropertyOverride(propertyPath *string, value interface{})
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	GetAtt(attributeName *string) awscdk.Reference
	GetMetadata(key *string) interface{}
	Inspect(inspector awscdk.TreeInspector)
	OverrideLogicalId(newLogicalId *string)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	ShouldSynthesize() *bool
	ToString() *string
	ValidateProperties(_properties interface{})
}

A CloudFormation `AWS::CodeBuild::SourceCredential`.

func NewCfnSourceCredential

func NewCfnSourceCredential(scope constructs.Construct, id *string, props *CfnSourceCredentialProps) CfnSourceCredential

Create a new `AWS::CodeBuild::SourceCredential`.

type CfnSourceCredentialProps

type CfnSourceCredentialProps struct {
	// `AWS::CodeBuild::SourceCredential.AuthType`.
	AuthType *string `json:"authType"`
	// `AWS::CodeBuild::SourceCredential.ServerType`.
	ServerType *string `json:"serverType"`
	// `AWS::CodeBuild::SourceCredential.Token`.
	Token *string `json:"token"`
	// `AWS::CodeBuild::SourceCredential.Username`.
	Username *string `json:"username"`
}

Properties for defining a `AWS::CodeBuild::SourceCredential`.

type CloudWatchLoggingOptions

type CloudWatchLoggingOptions struct {
	// The current status of the logs in Amazon CloudWatch Logs for a build project.
	// Experimental.
	Enabled *bool `json:"enabled"`
	// The Log Group to send logs to.
	// Experimental.
	LogGroup awslogs.ILogGroup `json:"logGroup"`
	// The prefix of the stream name of the Amazon CloudWatch Logs.
	// Experimental.
	Prefix *string `json:"prefix"`
}

Information about logs built to a CloudWatch Log Group for a build project. Experimental.

type CodeCommitSourceProps

type CodeCommitSourceProps struct {
	// The source identifier.
	//
	// This property is required on secondary sources.
	// Experimental.
	Identifier *string `json:"identifier"`
	// Experimental.
	Repository awscodecommit.IRepository `json:"repository"`
	// The commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build.
	//
	// TODO: EXAMPLE
	//
	// Experimental.
	BranchOrRef *string `json:"branchOrRef"`
	// The depth of history to download.
	//
	// Minimum value is 0.
	// If this value is 0, greater than 25, or not provided,
	// then the full history is downloaded with each build of the project.
	// Experimental.
	CloneDepth *float64 `json:"cloneDepth"`
	// Whether to fetch submodules while cloning git repo.
	// Experimental.
	FetchSubmodules *bool `json:"fetchSubmodules"`
}

Construction properties for {@link CodeCommitSource}. Experimental.

type CommonProjectProps

type CommonProjectProps struct {
	// Whether to allow the CodeBuild to send all network traffic.
	//
	// If set to false, you must individually add traffic rules to allow the
	// CodeBuild project to connect to network targets.
	//
	// Only used if 'vpc' is supplied.
	// Experimental.
	AllowAllOutbound *bool `json:"allowAllOutbound"`
	// Indicates whether AWS CodeBuild generates a publicly accessible URL for your project's build badge.
	//
	// For more information, see Build Badges Sample
	// in the AWS CodeBuild User Guide.
	// Experimental.
	Badge *bool `json:"badge"`
	// Filename or contents of buildspec in JSON format.
	// See: https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-example
	//
	// Experimental.
	BuildSpec BuildSpec `json:"buildSpec"`
	// Caching strategy to use.
	// Experimental.
	Cache Cache `json:"cache"`
	// Whether to check for the presence of any secrets in the environment variables of the default type, BuildEnvironmentVariableType.PLAINTEXT. Since using a secret for the value of that kind of variable would result in it being displayed in plain text in the AWS Console, the construct will throw an exception if it detects a secret was passed there. Pass this property as false if you want to skip this validation, and keep using a secret in a plain text environment variable.
	// Experimental.
	CheckSecretsInPlainTextEnvVariables *bool `json:"checkSecretsInPlainTextEnvVariables"`
	// Maximum number of concurrent builds.
	//
	// Minimum value is 1 and maximum is account build limit.
	// Experimental.
	ConcurrentBuildLimit *float64 `json:"concurrentBuildLimit"`
	// A description of the project.
	//
	// Use the description to identify the purpose
	// of the project.
	// Experimental.
	Description *string `json:"description"`
	// Encryption key to use to read and write artifacts.
	// Experimental.
	EncryptionKey awskms.IKey `json:"encryptionKey"`
	// Build environment to use for the build.
	// Experimental.
	Environment *BuildEnvironment `json:"environment"`
	// Additional environment variables to add to the build environment.
	// Experimental.
	EnvironmentVariables *map[string]*BuildEnvironmentVariable `json:"environmentVariables"`
	// An  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.
	// Experimental.
	FileSystemLocations *[]IFileSystemLocation `json:"fileSystemLocations"`
	// Add permissions to this project's role to create and use test report groups with name starting with the name of this project.
	//
	// That is the standard report group that gets created when a simple name
	// (in contrast to an ARN)
	// is used in the 'reports' section of the buildspec of this project.
	// This is usually harmless, but you can turn these off if you don't plan on using test
	// reports in this project.
	// See: https://docs.aws.amazon.com/codebuild/latest/userguide/test-report-group-naming.html
	//
	// Experimental.
	GrantReportGroupPermissions *bool `json:"grantReportGroupPermissions"`
	// Information about logs for the build project.
	//
	// A project can create logs in Amazon CloudWatch Logs, an S3 bucket, or both.
	// Experimental.
	Logging *LoggingOptions `json:"logging"`
	// The physical, human-readable name of the CodeBuild Project.
	// Experimental.
	ProjectName *string `json:"projectName"`
	// The number of minutes after which AWS CodeBuild stops the build if it's still in queue.
	//
	// For valid values, see the timeoutInMinutes field in the AWS
	// CodeBuild User Guide.
	// Experimental.
	QueuedTimeout awscdk.Duration `json:"queuedTimeout"`
	// Service Role to assume while running the build.
	// Experimental.
	Role awsiam.IRole `json:"role"`
	// What security group to associate with the codebuild project's network interfaces.
	//
	// If no security group is identified, one will be created automatically.
	//
	// Only used if 'vpc' is supplied.
	// Experimental.
	SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups"`
	// Where to place the network interfaces within the VPC.
	//
	// Only used if 'vpc' is supplied.
	// Experimental.
	SubnetSelection *awsec2.SubnetSelection `json:"subnetSelection"`
	// The number of minutes after which AWS CodeBuild stops the build if it's not complete.
	//
	// For valid values, see the timeoutInMinutes field in the AWS
	// CodeBuild User Guide.
	// Experimental.
	Timeout awscdk.Duration `json:"timeout"`
	// VPC network to place codebuild network interfaces.
	//
	// Specify this if the codebuild project needs to access resources in a VPC.
	// Experimental.
	Vpc awsec2.IVpc `json:"vpc"`
}

Experimental.

type ComputeType

type ComputeType string

Build machine compute type. Experimental.

const (
	ComputeType_SMALL    ComputeType = "SMALL"
	ComputeType_MEDIUM   ComputeType = "MEDIUM"
	ComputeType_LARGE    ComputeType = "LARGE"
	ComputeType_X2_LARGE ComputeType = "X2_LARGE"
)

type DockerImageOptions

type DockerImageOptions struct {
	// The credentials, stored in Secrets Manager, used for accessing the repository holding the image, if the repository is private.
	// Experimental.
	SecretsManagerCredentials awssecretsmanager.ISecret `json:"secretsManagerCredentials"`
}

The options when creating a CodeBuild Docker build image using {@link LinuxBuildImage.fromDockerRegistry} or {@link WindowsBuildImage.fromDockerRegistry}. Experimental.

type EfsFileSystemLocationProps

type EfsFileSystemLocationProps struct {
	// The name used to access a file system created by Amazon EFS.
	// Experimental.
	Identifier *string `json:"identifier"`
	// A string that specifies the location of the file system, like Amazon EFS.
	//
	// TODO: EXAMPLE
	//
	// Experimental.
	Location *string `json:"location"`
	// The location in the container where you mount the file system.
	// Experimental.
	MountPoint *string `json:"mountPoint"`
	// The mount options for a file system such as Amazon EFS.
	// Experimental.
	MountOptions *string `json:"mountOptions"`
}

Construction properties for {@link EfsFileSystemLocation}. Experimental.

type EventAction

type EventAction string

The types of webhook event actions. Experimental.

const (
	EventAction_PUSH                  EventAction = "PUSH"
	EventAction_PULL_REQUEST_CREATED  EventAction = "PULL_REQUEST_CREATED"
	EventAction_PULL_REQUEST_UPDATED  EventAction = "PULL_REQUEST_UPDATED"
	EventAction_PULL_REQUEST_MERGED   EventAction = "PULL_REQUEST_MERGED"
	EventAction_PULL_REQUEST_REOPENED EventAction = "PULL_REQUEST_REOPENED"
)

type FileSystemConfig

type FileSystemConfig struct {
	// File system location wrapper property.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codebuild-project-projectfilesystemlocation.html
	//
	// Experimental.
	Location *CfnProject_ProjectFileSystemLocationProperty `json:"location"`
}

The type returned from {@link IFileSystemLocation#bind}. Experimental.

type FileSystemLocation

type FileSystemLocation interface {
}

FileSystemLocation provider definition for a CodeBuild Project. Experimental.

func NewFileSystemLocation

func NewFileSystemLocation() FileSystemLocation

Experimental.

type FilterGroup

type FilterGroup interface {
	AndActorAccountIs(pattern *string) FilterGroup
	AndActorAccountIsNot(pattern *string) FilterGroup
	AndBaseBranchIs(branchName *string) FilterGroup
	AndBaseBranchIsNot(branchName *string) FilterGroup
	AndBaseRefIs(pattern *string) FilterGroup
	AndBaseRefIsNot(pattern *string) FilterGroup
	AndBranchIs(branchName *string) FilterGroup
	AndBranchIsNot(branchName *string) FilterGroup
	AndCommitMessageIs(commitMessage *string) FilterGroup
	AndCommitMessageIsNot(commitMessage *string) FilterGroup
	AndFilePathIs(pattern *string) FilterGroup
	AndFilePathIsNot(pattern *string) FilterGroup
	AndHeadRefIs(pattern *string) FilterGroup
	AndHeadRefIsNot(pattern *string) FilterGroup
	AndTagIs(tagName *string) FilterGroup
	AndTagIsNot(tagName *string) FilterGroup
}

An object that represents a group of filter conditions for a webhook.

Every condition in a given FilterGroup must be true in order for the whole group to be true. You construct instances of it by calling the {@link #inEventOf} static factory method, and then calling various `andXyz` instance methods to create modified instances of it (this class is immutable).

You pass instances of this class to the `webhookFilters` property when constructing a source. Experimental.

func FilterGroup_InEventOf

func FilterGroup_InEventOf(actions ...EventAction) FilterGroup

Creates a new event FilterGroup that triggers on any of the provided actions. Experimental.

type GitHubEnterpriseSourceCredentials

type GitHubEnterpriseSourceCredentials interface {
	awscdk.Resource
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

The source credentials used when contacting the GitHub Enterprise API.

**Note**: CodeBuild only allows a single credential for GitHub Enterprise to be saved in a given AWS account in a given region - any attempt to add more than one will result in an error. Experimental.

func NewGitHubEnterpriseSourceCredentials

func NewGitHubEnterpriseSourceCredentials(scope constructs.Construct, id *string, props *GitHubEnterpriseSourceCredentialsProps) GitHubEnterpriseSourceCredentials

Experimental.

type GitHubEnterpriseSourceCredentialsProps

type GitHubEnterpriseSourceCredentialsProps struct {
	// The personal access token to use when contacting the instance of the GitHub Enterprise API.
	// Experimental.
	AccessToken awscdk.SecretValue `json:"accessToken"`
}

Creation properties for {@link GitHubEnterpriseSourceCredentials}. Experimental.

type GitHubEnterpriseSourceProps

type GitHubEnterpriseSourceProps struct {
	// The source identifier.
	//
	// This property is required on secondary sources.
	// Experimental.
	Identifier *string `json:"identifier"`
	// The HTTPS URL of the repository in your GitHub Enterprise installation.
	// Experimental.
	HttpsCloneUrl *string `json:"httpsCloneUrl"`
	// The commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build.
	//
	// TODO: EXAMPLE
	//
	// Experimental.
	BranchOrRef *string `json:"branchOrRef"`
	// The depth of history to download.
	//
	// Minimum value is 0.
	// If this value is 0, greater than 25, or not provided,
	// then the full history is downloaded with each build of the project.
	// Experimental.
	CloneDepth *float64 `json:"cloneDepth"`
	// Whether to fetch submodules while cloning git repo.
	// Experimental.
	FetchSubmodules *bool `json:"fetchSubmodules"`
	// Whether to ignore SSL errors when connecting to the repository.
	// Experimental.
	IgnoreSslErrors *bool `json:"ignoreSslErrors"`
	// Whether to send notifications on your build's start and end.
	// Experimental.
	ReportBuildStatus *bool `json:"reportBuildStatus"`
	// Whether to create a webhook that will trigger a build every time an event happens in the repository.
	// Experimental.
	Webhook *bool `json:"webhook"`
	// A list of webhook filters that can constraint what events in the repository will trigger a build.
	//
	// A build is triggered if any of the provided filter groups match.
	// Only valid if `webhook` was not provided as false.
	// Experimental.
	WebhookFilters *[]FilterGroup `json:"webhookFilters"`
	// Trigger a batch build from a webhook instead of a standard one.
	//
	// Enabling this will enable batch builds on the CodeBuild project.
	// Experimental.
	WebhookTriggersBatchBuild *bool `json:"webhookTriggersBatchBuild"`
}

Construction properties for {@link GitHubEnterpriseSource}. Experimental.

type GitHubSourceCredentials

type GitHubSourceCredentials interface {
	awscdk.Resource
	Env() *awscdk.ResourceEnvironment
	Node() constructs.Node
	PhysicalName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

The source credentials used when contacting the GitHub API.

**Note**: CodeBuild only allows a single credential for GitHub to be saved in a given AWS account in a given region - any attempt to add more than one will result in an error. Experimental.

func NewGitHubSourceCredentials

func NewGitHubSourceCredentials(scope constructs.Construct, id *string, props *GitHubSourceCredentialsProps) GitHubSourceCredentials

Experimental.

type GitHubSourceCredentialsProps

type GitHubSourceCredentialsProps struct {
	// The personal access token to use when contacting the GitHub API.
	// Experimental.
	AccessToken awscdk.SecretValue `json:"accessToken"`
}

Creation properties for {@link GitHubSourceCredentials}. Experimental.

type GitHubSourceProps

type GitHubSourceProps struct {
	// The source identifier.
	//
	// This property is required on secondary sources.
	// Experimental.
	Identifier *string `json:"identifier"`
	// The GitHub account/user that owns the repo.
	//
	// TODO: EXAMPLE
	//
	// Experimental.
	Owner *string `json:"owner"`
	// The name of the repo (without the username).
	//
	// TODO: EXAMPLE
	//
	// Experimental.
	Repo *string `json:"repo"`
	// The commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build.
	//
	// TODO: EXAMPLE
	//
	// Experimental.
	BranchOrRef *string `json:"branchOrRef"`
	// The depth of history to download.
	//
	// Minimum value is 0.
	// If this value is 0, greater than 25, or not provided,
	// then the full history is downloaded with each build of the project.
	// Experimental.
	CloneDepth *float64 `json:"cloneDepth"`
	// Whether to fetch submodules while cloning git repo.
	// Experimental.
	FetchSubmodules *bool `json:"fetchSubmodules"`
	// Whether to send notifications on your build's start and end.
	// Experimental.
	ReportBuildStatus *bool `json:"reportBuildStatus"`
	// Whether to create a webhook that will trigger a build every time an event happens in the repository.
	// Experimental.
	Webhook *bool `json:"webhook"`
	// A list of webhook filters that can constraint what events in the repository will trigger a build.
	//
	// A build is triggered if any of the provided filter groups match.
	// Only valid if `webhook` was not provided as false.
	// Experimental.
	WebhookFilters *[]FilterGroup `json:"webhookFilters"`
	// Trigger a batch build from a webhook instead of a standard one.
	//
	// Enabling this will enable batch builds on the CodeBuild project.
	// Experimental.
	WebhookTriggersBatchBuild *bool `json:"webhookTriggersBatchBuild"`
}

Construction properties for {@link GitHubSource} and {@link GitHubEnterpriseSource}. Experimental.

type IArtifacts

type IArtifacts interface {
	// Callback when an Artifacts class is used in a CodeBuild Project.
	// Experimental.
	Bind(scope constructs.Construct, project IProject) *ArtifactsConfig
	// The artifact identifier.
	//
	// This property is required on secondary artifacts.
	// Experimental.
	Identifier() *string
	// The CodeBuild type of this artifact.
	// Experimental.
	Type() *string
}

The abstract interface of a CodeBuild build output.

Implemented by {@link Artifacts}. Experimental.

func Artifacts_S3

func Artifacts_S3(props *S3ArtifactsProps) IArtifacts

Experimental.

type IBindableBuildImage

type IBindableBuildImage interface {
	IBuildImage
	// Function that allows the build image access to the construct tree.
	// Experimental.
	Bind(scope constructs.Construct, project IProject, options *BuildImageBindOptions) *BuildImageConfig
}

A variant of {@link IBuildImage} that allows binding to the project. Experimental.

type IBuildImage

type IBuildImage interface {
	// Make a buildspec to run the indicated script.
	// Experimental.
	RunScriptBuildspec(entrypoint *string) BuildSpec
	// Allows the image a chance to validate whether the passed configuration is correct.
	// Experimental.
	Validate(buildEnvironment *BuildEnvironment) *[]*string
	// The default {@link ComputeType} to use with this image, if one was not specified in {@link BuildEnvironment#computeType} explicitly.
	// Experimental.
	DefaultComputeType() ComputeType
	// The Docker image identifier that the build environment uses.
	// See: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html
	//
	// Experimental.
	ImageId() *string
	// The type of principal that CodeBuild will use to pull this build Docker image.
	// Experimental.
	ImagePullPrincipalType() ImagePullPrincipalType
	// An optional ECR repository that the image is hosted in.
	// Experimental.
	Repository() awsecr.IRepository
	// The secretsManagerCredentials for access to a private registry.
	// Experimental.
	SecretsManagerCredentials() awssecretsmanager.ISecret
	// The type of build environment.
	// Experimental.
	Type() *string
}

Represents a Docker image used for the CodeBuild Project builds.

Use the concrete subclasses, either: {@link LinuxBuildImage} or {@link WindowsBuildImage}. Experimental.

func LinuxBuildImage_AMAZON_LINUX_2

func LinuxBuildImage_AMAZON_LINUX_2() IBuildImage

func LinuxBuildImage_AMAZON_LINUX_2_2

func LinuxBuildImage_AMAZON_LINUX_2_2() IBuildImage

func LinuxBuildImage_AMAZON_LINUX_2_3

func LinuxBuildImage_AMAZON_LINUX_2_3() IBuildImage

func LinuxBuildImage_AMAZON_LINUX_2_ARM

func LinuxBuildImage_AMAZON_LINUX_2_ARM() IBuildImage

func LinuxBuildImage_AMAZON_LINUX_2_ARM_2

func LinuxBuildImage_AMAZON_LINUX_2_ARM_2() IBuildImage

func LinuxBuildImage_FromAsset

func LinuxBuildImage_FromAsset(scope constructs.Construct, id *string, props *awsecrassets.DockerImageAssetProps) IBuildImage

Uses an Docker image asset as a Linux build image. Experimental.

func LinuxBuildImage_FromCodeBuildImageId

func LinuxBuildImage_FromCodeBuildImageId(id *string) IBuildImage

Uses a Docker image provided by CodeBuild.

Returns: A Docker image provided by CodeBuild.

TODO: EXAMPLE

See: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html

Experimental.

func LinuxBuildImage_FromDockerRegistry

func LinuxBuildImage_FromDockerRegistry(name *string, options *DockerImageOptions) IBuildImage

Returns: a Linux build image from a Docker Hub image. Experimental.

func LinuxBuildImage_FromEcrRepository

func LinuxBuildImage_FromEcrRepository(repository awsecr.IRepository, tag *string) IBuildImage

Returns: A Linux build image from an ECR repository.

NOTE: if the repository is external (i.e. imported), then we won't be able to add a resource policy statement for it so CodeBuild can pull the image. See: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-ecr.html

Experimental.

func LinuxBuildImage_STANDARD_1_0

func LinuxBuildImage_STANDARD_1_0() IBuildImage

func LinuxBuildImage_STANDARD_2_0

func LinuxBuildImage_STANDARD_2_0() IBuildImage

func LinuxBuildImage_STANDARD_3_0

func LinuxBuildImage_STANDARD_3_0() IBuildImage

func LinuxBuildImage_STANDARD_4_0

func LinuxBuildImage_STANDARD_4_0() IBuildImage

func LinuxBuildImage_STANDARD_5_0

func LinuxBuildImage_STANDARD_5_0() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_ANDROID_JAVA8_24_4_1

func LinuxBuildImage_UBUNTU_14_04_ANDROID_JAVA8_24_4_1() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_ANDROID_JAVA8_26_1_1

func LinuxBuildImage_UBUNTU_14_04_ANDROID_JAVA8_26_1_1() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_BASE

func LinuxBuildImage_UBUNTU_14_04_BASE() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_DOCKER_17_09_0

func LinuxBuildImage_UBUNTU_14_04_DOCKER_17_09_0() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_DOCKER_18_09_0

func LinuxBuildImage_UBUNTU_14_04_DOCKER_18_09_0() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_DOTNET_CORE_1_1

func LinuxBuildImage_UBUNTU_14_04_DOTNET_CORE_1_1() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_DOTNET_CORE_2_0

func LinuxBuildImage_UBUNTU_14_04_DOTNET_CORE_2_0() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_DOTNET_CORE_2_1

func LinuxBuildImage_UBUNTU_14_04_DOTNET_CORE_2_1() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_GOLANG_1_10

func LinuxBuildImage_UBUNTU_14_04_GOLANG_1_10() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_GOLANG_1_11

func LinuxBuildImage_UBUNTU_14_04_GOLANG_1_11() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_NODEJS_10_14_1

func LinuxBuildImage_UBUNTU_14_04_NODEJS_10_14_1() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_NODEJS_10_1_0

func LinuxBuildImage_UBUNTU_14_04_NODEJS_10_1_0() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_NODEJS_6_3_1

func LinuxBuildImage_UBUNTU_14_04_NODEJS_6_3_1() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_NODEJS_8_11_0

func LinuxBuildImage_UBUNTU_14_04_NODEJS_8_11_0() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_OPEN_JDK_11

func LinuxBuildImage_UBUNTU_14_04_OPEN_JDK_11() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_OPEN_JDK_8

func LinuxBuildImage_UBUNTU_14_04_OPEN_JDK_8() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_OPEN_JDK_9

func LinuxBuildImage_UBUNTU_14_04_OPEN_JDK_9() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_PHP_5_6

func LinuxBuildImage_UBUNTU_14_04_PHP_5_6() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_PHP_7_0

func LinuxBuildImage_UBUNTU_14_04_PHP_7_0() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_PHP_7_1

func LinuxBuildImage_UBUNTU_14_04_PHP_7_1() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_PYTHON_2_7_12

func LinuxBuildImage_UBUNTU_14_04_PYTHON_2_7_12() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_PYTHON_3_3_6

func LinuxBuildImage_UBUNTU_14_04_PYTHON_3_3_6() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_PYTHON_3_4_5

func LinuxBuildImage_UBUNTU_14_04_PYTHON_3_4_5() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_PYTHON_3_5_2

func LinuxBuildImage_UBUNTU_14_04_PYTHON_3_5_2() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_PYTHON_3_6_5

func LinuxBuildImage_UBUNTU_14_04_PYTHON_3_6_5() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_PYTHON_3_7_1

func LinuxBuildImage_UBUNTU_14_04_PYTHON_3_7_1() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_RUBY_2_2_5

func LinuxBuildImage_UBUNTU_14_04_RUBY_2_2_5() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_RUBY_2_3_1

func LinuxBuildImage_UBUNTU_14_04_RUBY_2_3_1() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_RUBY_2_5_1

func LinuxBuildImage_UBUNTU_14_04_RUBY_2_5_1() IBuildImage

func LinuxBuildImage_UBUNTU_14_04_RUBY_2_5_3

func LinuxBuildImage_UBUNTU_14_04_RUBY_2_5_3() IBuildImage

func LinuxGpuBuildImage_AwsDeepLearningContainersImage

func LinuxGpuBuildImage_AwsDeepLearningContainersImage(repositoryName *string, tag *string, account *string) IBuildImage

Returns a Linux GPU build image from AWS Deep Learning Containers. See: https://aws.amazon.com/releasenotes/available-deep-learning-containers-images

Experimental.

func LinuxGpuBuildImage_DLC_MXNET_1_4_1

func LinuxGpuBuildImage_DLC_MXNET_1_4_1() IBuildImage

func LinuxGpuBuildImage_DLC_MXNET_1_6_0

func LinuxGpuBuildImage_DLC_MXNET_1_6_0() IBuildImage

func LinuxGpuBuildImage_DLC_PYTORCH_1_2_0

func LinuxGpuBuildImage_DLC_PYTORCH_1_2_0() IBuildImage

func LinuxGpuBuildImage_DLC_PYTORCH_1_3_1

func LinuxGpuBuildImage_DLC_PYTORCH_1_3_1() IBuildImage

func LinuxGpuBuildImage_DLC_PYTORCH_1_4_0_INFERENCE

func LinuxGpuBuildImage_DLC_PYTORCH_1_4_0_INFERENCE() IBuildImage

func LinuxGpuBuildImage_DLC_PYTORCH_1_4_0_TRAINING

func LinuxGpuBuildImage_DLC_PYTORCH_1_4_0_TRAINING() IBuildImage

func LinuxGpuBuildImage_DLC_PYTORCH_1_5_0_INFERENCE

func LinuxGpuBuildImage_DLC_PYTORCH_1_5_0_INFERENCE() IBuildImage

func LinuxGpuBuildImage_DLC_PYTORCH_1_5_0_TRAINING

func LinuxGpuBuildImage_DLC_PYTORCH_1_5_0_TRAINING() IBuildImage

func LinuxGpuBuildImage_DLC_TENSORFLOW_1_14_0

func LinuxGpuBuildImage_DLC_TENSORFLOW_1_14_0() IBuildImage

func LinuxGpuBuildImage_DLC_TENSORFLOW_1_15_0

func LinuxGpuBuildImage_DLC_TENSORFLOW_1_15_0() IBuildImage

func LinuxGpuBuildImage_DLC_TENSORFLOW_1_15_2_INFERENCE

func LinuxGpuBuildImage_DLC_TENSORFLOW_1_15_2_INFERENCE() IBuildImage

func LinuxGpuBuildImage_DLC_TENSORFLOW_1_15_2_TRAINING

func LinuxGpuBuildImage_DLC_TENSORFLOW_1_15_2_TRAINING() IBuildImage

func LinuxGpuBuildImage_DLC_TENSORFLOW_2_0_0

func LinuxGpuBuildImage_DLC_TENSORFLOW_2_0_0() IBuildImage

func LinuxGpuBuildImage_DLC_TENSORFLOW_2_0_1

func LinuxGpuBuildImage_DLC_TENSORFLOW_2_0_1() IBuildImage

func LinuxGpuBuildImage_DLC_TENSORFLOW_2_1_0_INFERENCE

func LinuxGpuBuildImage_DLC_TENSORFLOW_2_1_0_INFERENCE() IBuildImage

func LinuxGpuBuildImage_DLC_TENSORFLOW_2_1_0_TRAINING

func LinuxGpuBuildImage_DLC_TENSORFLOW_2_1_0_TRAINING() IBuildImage

func LinuxGpuBuildImage_DLC_TENSORFLOW_2_2_0_TRAINING

func LinuxGpuBuildImage_DLC_TENSORFLOW_2_2_0_TRAINING() IBuildImage

func LinuxGpuBuildImage_FromEcrRepository

func LinuxGpuBuildImage_FromEcrRepository(repository awsecr.IRepository, tag *string) IBuildImage

Returns a GPU image running Linux from an ECR repository.

NOTE: if the repository is external (i.e. imported), then we won't be able to add a resource policy statement for it so CodeBuild can pull the image. See: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-ecr.html

Experimental.

func WindowsBuildImage_FromAsset

func WindowsBuildImage_FromAsset(scope constructs.Construct, id *string, props *awsecrassets.DockerImageAssetProps, imageType WindowsImageType) IBuildImage

Uses an Docker image asset as a Windows build image. Experimental.

func WindowsBuildImage_FromDockerRegistry

func WindowsBuildImage_FromDockerRegistry(name *string, options *DockerImageOptions, imageType WindowsImageType) IBuildImage

Returns: a Windows build image from a Docker Hub image. Experimental.

func WindowsBuildImage_FromEcrRepository

func WindowsBuildImage_FromEcrRepository(repository awsecr.IRepository, tag *string, imageType WindowsImageType) IBuildImage

Returns: A Linux build image from an ECR repository.

NOTE: if the repository is external (i.e. imported), then we won't be able to add a resource policy statement for it so CodeBuild can pull the image. See: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-ecr.html

Experimental.

func WindowsBuildImage_WINDOWS_BASE_2_0

func WindowsBuildImage_WINDOWS_BASE_2_0() IBuildImage

func WindowsBuildImage_WIN_SERVER_CORE_2016_BASE

func WindowsBuildImage_WIN_SERVER_CORE_2016_BASE() IBuildImage

func WindowsBuildImage_WIN_SERVER_CORE_2019_BASE

func WindowsBuildImage_WIN_SERVER_CORE_2019_BASE() IBuildImage

type IFileSystemLocation

type IFileSystemLocation interface {
	// Called by the project when a file system is added so it can perform binding operations on this file system location.
	// Experimental.
	Bind(scope constructs.Construct, project IProject) *FileSystemConfig
}

The interface of a CodeBuild FileSystemLocation.

Implemented by {@link EfsFileSystemLocation}. Experimental.

func FileSystemLocation_Efs

func FileSystemLocation_Efs(props *EfsFileSystemLocationProps) IFileSystemLocation

EFS file system provider. Experimental.

type IProject

type IProject interface {
	awsec2.IConnectable
	awsiam.IGrantable
	awscodestarnotifications.INotificationRuleSource
	awscdk.IResource
	// Experimental.
	AddToRolePolicy(policyStatement awsiam.PolicyStatement)
	// Enable batch builds.
	//
	// Returns an object contining the batch service role if batch builds
	// could be enabled.
	// Experimental.
	EnableBatchBuilds() *BatchBuildConfig
	// Returns: a CloudWatch metric associated with this build project.
	// Experimental.
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Measures the number of builds triggered.
	//
	// Units: Count
	//
	// Valid CloudWatch statistics: Sum
	// Experimental.
	MetricBuilds(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Measures the duration of all builds over time.
	//
	// Units: Seconds
	//
	// Valid CloudWatch statistics: Average (recommended), Maximum, Minimum
	// Experimental.
	MetricDuration(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Measures the number of builds that failed because of client error or because of a timeout.
	//
	// Units: Count
	//
	// Valid CloudWatch statistics: Sum
	// Experimental.
	MetricFailedBuilds(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Measures the number of successful builds.
	//
	// Units: Count
	//
	// Valid CloudWatch statistics: Sum
	// Experimental.
	MetricSucceededBuilds(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	// Defines a CodeStar Notification rule triggered when the project events emitted by you specified, it very similar to `onEvent` API.
	//
	// You can also use the methods `notifyOnBuildSucceeded` and
	// `notifyOnBuildFailed` to define rules for these specific event emitted.
	//
	// Returns: CodeStar Notifications rule associated with this build project.
	// Experimental.
	NotifyOn(id *string, target awscodestarnotifications.INotificationRuleTarget, options *ProjectNotifyOnOptions) awscodestarnotifications.INotificationRule
	// Defines a CodeStar notification rule which triggers when a build fails.
	// Experimental.
	NotifyOnBuildFailed(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule
	// Defines a CodeStar notification rule which triggers when a build completes successfully.
	// Experimental.
	NotifyOnBuildSucceeded(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule
	// Defines an event rule which triggers when a build fails.
	// Experimental.
	OnBuildFailed(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Defines an event rule which triggers when a build starts.
	// Experimental.
	OnBuildStarted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Defines an event rule which triggers when a build completes successfully.
	// Experimental.
	OnBuildSucceeded(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Defines a CloudWatch event rule triggered when something happens with this project.
	// See: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-build-notifications.html
	//
	// Experimental.
	OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Defines a CloudWatch event rule that triggers upon phase change of this build project.
	// See: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-build-notifications.html
	//
	// Experimental.
	OnPhaseChange(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// Defines a CloudWatch event rule triggered when the build project state changes.
	//
	// You can filter specific build status events using an event
	// pattern filter on the `build-status` detail field:
	//
	//     const rule = project.onStateChange('OnBuildStarted', { target });
	//     rule.addEventPattern({
	//       detail: {
	//         'build-status': [
	//           "IN_PROGRESS",
	//           "SUCCEEDED",
	//           "FAILED",
	//           "STOPPED"
	//         ]
	//       }
	//     });
	//
	// You can also use the methods `onBuildFailed` and `onBuildSucceeded` to define rules for
	// these specific state changes.
	//
	// To access fields from the event in the event target input,
	// use the static fields on the `StateChangeEvent` class.
	// See: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-build-notifications.html
	//
	// Experimental.
	OnStateChange(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	// The ARN of this Project.
	// Experimental.
	ProjectArn() *string
	// The human-visible name of this Project.
	// Experimental.
	ProjectName() *string
	// The IAM service Role of this Project.
	//
	// Undefined for imported Projects.
	// Experimental.
	Role() awsiam.IRole
}

Experimental.

func PipelineProject_FromProjectArn

func PipelineProject_FromProjectArn(scope constructs.Construct, id *string, projectArn *string) IProject

Experimental.

func PipelineProject_FromProjectName

func PipelineProject_FromProjectName(scope constructs.Construct, id *string, projectName *string) IProject

Import a Project defined either outside the CDK, or in a different CDK Stack (and exported using the {@link export} method).

Returns: a reference to the existing Project Experimental.

func Project_FromProjectArn

func Project_FromProjectArn(scope constructs.Construct, id *string, projectArn *string) IProject

Experimental.

func Project_FromProjectName

func Project_FromProjectName(scope constructs.Construct, id *string, projectName *string) IProject

Import a Project defined either outside the CDK, or in a different CDK Stack (and exported using the {@link export} method).

Returns: a reference to the existing Project Experimental.

type IReportGroup

type IReportGroup interface {
	awscdk.IResource
	// Grants the given entity permissions to write (that is, upload reports to) this report group.
	// Experimental.
	GrantWrite(identity awsiam.IGrantable) awsiam.Grant
	// The ARN of the ReportGroup.
	// Experimental.
	ReportGroupArn() *string
	// The name of the ReportGroup.
	// Experimental.
	ReportGroupName() *string
}

The interface representing the ReportGroup resource - either an existing one, imported using the {@link ReportGroup.fromReportGroupName} method, or a new one, created with the {@link ReportGroup} class. Experimental.

func ReportGroup_FromReportGroupName

func ReportGroup_FromReportGroupName(scope constructs.Construct, id *string, reportGroupName *string) IReportGroup

Reference an existing ReportGroup, defined outside of the CDK code, by name. Experimental.

type ISource

type ISource interface {
	// Experimental.
	Bind(scope constructs.Construct, project IProject) *SourceConfig
	// Experimental.
	BadgeSupported() *bool
	// Experimental.
	Identifier() *string
	// Experimental.
	Type() *string
}

The abstract interface of a CodeBuild source.

Implemented by {@link Source}. Experimental.

func Source_BitBucket

func Source_BitBucket(props *BitBucketSourceProps) ISource

Experimental.

func Source_CodeCommit

func Source_CodeCommit(props *CodeCommitSourceProps) ISource

Experimental.

func Source_GitHub

func Source_GitHub(props *GitHubSourceProps) ISource

Experimental.

func Source_GitHubEnterprise

func Source_GitHubEnterprise(props *GitHubEnterpriseSourceProps) ISource

Experimental.

func Source_S3

func Source_S3(props *S3SourceProps) ISource

Experimental.

type ImagePullPrincipalType

type ImagePullPrincipalType string

The type of principal CodeBuild will use to pull your build Docker image. Experimental.

const (
	ImagePullPrincipalType_CODEBUILD    ImagePullPrincipalType = "CODEBUILD"
	ImagePullPrincipalType_SERVICE_ROLE ImagePullPrincipalType = "SERVICE_ROLE"
)

type LinuxBuildImage

type LinuxBuildImage interface {
	IBuildImage
	DefaultComputeType() ComputeType
	ImageId() *string
	ImagePullPrincipalType() ImagePullPrincipalType
	Repository() awsecr.IRepository
	SecretsManagerCredentials() awssecretsmanager.ISecret
	Type() *string
	RunScriptBuildspec(entrypoint *string) BuildSpec
	Validate(_arg *BuildEnvironment) *[]*string
}

A CodeBuild image running Linux.

This class has a bunch of public constants that represent the most popular images.

You can also specify a custom image using one of the static methods:

- LinuxBuildImage.fromDockerRegistry(image[, { secretsManagerCredentials }]) - LinuxBuildImage.fromEcrRepository(repo[, tag]) - LinuxBuildImage.fromAsset(parent, id, props) See: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html

Experimental.

type LinuxGpuBuildImage

type LinuxGpuBuildImage interface {
	IBindableBuildImage
	DefaultComputeType() ComputeType
	ImageId() *string
	ImagePullPrincipalType() ImagePullPrincipalType
	Type() *string
	Bind(scope constructs.Construct, project IProject, _options *BuildImageBindOptions) *BuildImageConfig
	RunScriptBuildspec(entrypoint *string) BuildSpec
	Validate(buildEnvironment *BuildEnvironment) *[]*string
}

A CodeBuild GPU image running Linux.

This class has public constants that represent the most popular GPU images from AWS Deep Learning Containers. See: https://aws.amazon.com/releasenotes/available-deep-learning-containers-images

Experimental.

type LocalCacheMode

type LocalCacheMode string

Local cache modes to enable for the CodeBuild Project. Experimental.

const (
	LocalCacheMode_SOURCE       LocalCacheMode = "SOURCE"
	LocalCacheMode_DOCKER_LAYER LocalCacheMode = "DOCKER_LAYER"
	LocalCacheMode_CUSTOM       LocalCacheMode = "CUSTOM"
)

type LoggingOptions

type LoggingOptions struct {
	// Information about Amazon CloudWatch Logs for a build project.
	// Experimental.
	CloudWatch *CloudWatchLoggingOptions `json:"cloudWatch"`
	// Information about logs built to an S3 bucket for a build project.
	// Experimental.
	S3 *S3LoggingOptions `json:"s3"`
}

Information about logs for the build project.

A project can create logs in Amazon CloudWatch Logs, an S3 bucket, or both. Experimental.

type PhaseChangeEvent

type PhaseChangeEvent interface {
}

Event fields for the CodeBuild "phase change" event. See: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-build-notifications.html#sample-build-notifications-ref

Experimental.

type PipelineProject

type PipelineProject interface {
	Project
	Connections() awsec2.Connections
	Env() *awscdk.ResourceEnvironment
	GrantPrincipal() awsiam.IPrincipal
	Node() constructs.Node
	PhysicalName() *string
	ProjectArn() *string
	ProjectName() *string
	Role() awsiam.IRole
	Stack() awscdk.Stack
	AddFileSystemLocation(fileSystemLocation IFileSystemLocation)
	AddSecondaryArtifact(secondaryArtifact IArtifacts)
	AddSecondarySource(secondarySource ISource)
	AddToRolePolicy(statement awsiam.PolicyStatement)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	BindAsNotificationRuleSource(_scope constructs.Construct) *awscodestarnotifications.NotificationRuleSourceConfig
	BindToCodePipeline(_scope constructs.Construct, options *BindToCodePipelineOptions)
	EnableBatchBuilds() *BatchBuildConfig
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricBuilds(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricDuration(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricFailedBuilds(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricSucceededBuilds(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	NotifyOn(id *string, target awscodestarnotifications.INotificationRuleTarget, options *ProjectNotifyOnOptions) awscodestarnotifications.INotificationRule
	NotifyOnBuildFailed(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule
	NotifyOnBuildSucceeded(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule
	OnBuildFailed(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	OnBuildStarted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	OnBuildSucceeded(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	OnPhaseChange(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	OnStateChange(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	ToString() *string
}

A convenience class for CodeBuild Projects that are used in CodePipeline. Experimental.

func NewPipelineProject

func NewPipelineProject(scope constructs.Construct, id *string, props *PipelineProjectProps) PipelineProject

Experimental.

type PipelineProjectProps

type PipelineProjectProps struct {
	// Whether to allow the CodeBuild to send all network traffic.
	//
	// If set to false, you must individually add traffic rules to allow the
	// CodeBuild project to connect to network targets.
	//
	// Only used if 'vpc' is supplied.
	// Experimental.
	AllowAllOutbound *bool `json:"allowAllOutbound"`
	// Indicates whether AWS CodeBuild generates a publicly accessible URL for your project's build badge.
	//
	// For more information, see Build Badges Sample
	// in the AWS CodeBuild User Guide.
	// Experimental.
	Badge *bool `json:"badge"`
	// Filename or contents of buildspec in JSON format.
	// See: https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-example
	//
	// Experimental.
	BuildSpec BuildSpec `json:"buildSpec"`
	// Caching strategy to use.
	// Experimental.
	Cache Cache `json:"cache"`
	// Whether to check for the presence of any secrets in the environment variables of the default type, BuildEnvironmentVariableType.PLAINTEXT. Since using a secret for the value of that kind of variable would result in it being displayed in plain text in the AWS Console, the construct will throw an exception if it detects a secret was passed there. Pass this property as false if you want to skip this validation, and keep using a secret in a plain text environment variable.
	// Experimental.
	CheckSecretsInPlainTextEnvVariables *bool `json:"checkSecretsInPlainTextEnvVariables"`
	// Maximum number of concurrent builds.
	//
	// Minimum value is 1 and maximum is account build limit.
	// Experimental.
	ConcurrentBuildLimit *float64 `json:"concurrentBuildLimit"`
	// A description of the project.
	//
	// Use the description to identify the purpose
	// of the project.
	// Experimental.
	Description *string `json:"description"`
	// Encryption key to use to read and write artifacts.
	// Experimental.
	EncryptionKey awskms.IKey `json:"encryptionKey"`
	// Build environment to use for the build.
	// Experimental.
	Environment *BuildEnvironment `json:"environment"`
	// Additional environment variables to add to the build environment.
	// Experimental.
	EnvironmentVariables *map[string]*BuildEnvironmentVariable `json:"environmentVariables"`
	// An  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.
	// Experimental.
	FileSystemLocations *[]IFileSystemLocation `json:"fileSystemLocations"`
	// Add permissions to this project's role to create and use test report groups with name starting with the name of this project.
	//
	// That is the standard report group that gets created when a simple name
	// (in contrast to an ARN)
	// is used in the 'reports' section of the buildspec of this project.
	// This is usually harmless, but you can turn these off if you don't plan on using test
	// reports in this project.
	// See: https://docs.aws.amazon.com/codebuild/latest/userguide/test-report-group-naming.html
	//
	// Experimental.
	GrantReportGroupPermissions *bool `json:"grantReportGroupPermissions"`
	// Information about logs for the build project.
	//
	// A project can create logs in Amazon CloudWatch Logs, an S3 bucket, or both.
	// Experimental.
	Logging *LoggingOptions `json:"logging"`
	// The physical, human-readable name of the CodeBuild Project.
	// Experimental.
	ProjectName *string `json:"projectName"`
	// The number of minutes after which AWS CodeBuild stops the build if it's still in queue.
	//
	// For valid values, see the timeoutInMinutes field in the AWS
	// CodeBuild User Guide.
	// Experimental.
	QueuedTimeout awscdk.Duration `json:"queuedTimeout"`
	// Service Role to assume while running the build.
	// Experimental.
	Role awsiam.IRole `json:"role"`
	// What security group to associate with the codebuild project's network interfaces.
	//
	// If no security group is identified, one will be created automatically.
	//
	// Only used if 'vpc' is supplied.
	// Experimental.
	SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups"`
	// Where to place the network interfaces within the VPC.
	//
	// Only used if 'vpc' is supplied.
	// Experimental.
	SubnetSelection *awsec2.SubnetSelection `json:"subnetSelection"`
	// The number of minutes after which AWS CodeBuild stops the build if it's not complete.
	//
	// For valid values, see the timeoutInMinutes field in the AWS
	// CodeBuild User Guide.
	// Experimental.
	Timeout awscdk.Duration `json:"timeout"`
	// VPC network to place codebuild network interfaces.
	//
	// Specify this if the codebuild project needs to access resources in a VPC.
	// Experimental.
	Vpc awsec2.IVpc `json:"vpc"`
}

Experimental.

type Project

type Project interface {
	awscdk.Resource
	IProject
	Connections() awsec2.Connections
	Env() *awscdk.ResourceEnvironment
	GrantPrincipal() awsiam.IPrincipal
	Node() constructs.Node
	PhysicalName() *string
	ProjectArn() *string
	ProjectName() *string
	Role() awsiam.IRole
	Stack() awscdk.Stack
	AddFileSystemLocation(fileSystemLocation IFileSystemLocation)
	AddSecondaryArtifact(secondaryArtifact IArtifacts)
	AddSecondarySource(secondarySource ISource)
	AddToRolePolicy(statement awsiam.PolicyStatement)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	BindAsNotificationRuleSource(_scope constructs.Construct) *awscodestarnotifications.NotificationRuleSourceConfig
	BindToCodePipeline(_scope constructs.Construct, options *BindToCodePipelineOptions)
	EnableBatchBuilds() *BatchBuildConfig
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	Metric(metricName *string, props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricBuilds(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricDuration(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricFailedBuilds(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	MetricSucceededBuilds(props *awscloudwatch.MetricOptions) awscloudwatch.Metric
	NotifyOn(id *string, target awscodestarnotifications.INotificationRuleTarget, options *ProjectNotifyOnOptions) awscodestarnotifications.INotificationRule
	NotifyOnBuildFailed(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule
	NotifyOnBuildSucceeded(id *string, target awscodestarnotifications.INotificationRuleTarget, options *awscodestarnotifications.NotificationRuleOptions) awscodestarnotifications.INotificationRule
	OnBuildFailed(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	OnBuildStarted(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	OnBuildSucceeded(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	OnEvent(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	OnPhaseChange(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	OnStateChange(id *string, options *awsevents.OnEventOptions) awsevents.Rule
	ToString() *string
}

A representation of a CodeBuild Project. Experimental.

func NewProject

func NewProject(scope constructs.Construct, id *string, props *ProjectProps) Project

Experimental.

type ProjectNotificationEvents

type ProjectNotificationEvents string

The list of event types for AWS Codebuild. See: https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#events-ref-buildproject

Experimental.

const (
	ProjectNotificationEvents_BUILD_FAILED          ProjectNotificationEvents = "BUILD_FAILED"
	ProjectNotificationEvents_BUILD_SUCCEEDED       ProjectNotificationEvents = "BUILD_SUCCEEDED"
	ProjectNotificationEvents_BUILD_IN_PROGRESS     ProjectNotificationEvents = "BUILD_IN_PROGRESS"
	ProjectNotificationEvents_BUILD_STOPPED         ProjectNotificationEvents = "BUILD_STOPPED"
	ProjectNotificationEvents_BUILD_PHASE_FAILED    ProjectNotificationEvents = "BUILD_PHASE_FAILED"
	ProjectNotificationEvents_BUILD_PHASE_SUCCEEDED ProjectNotificationEvents = "BUILD_PHASE_SUCCEEDED"
)

type ProjectNotifyOnOptions

type ProjectNotifyOnOptions struct {
	// The level of detail to include in the notifications for this resource.
	//
	// BASIC will include only the contents of the event as it would appear in AWS CloudWatch.
	// FULL will include any supplemental information provided by AWS CodeStar Notifications and/or the service for the resource for which the notification is created.
	// Experimental.
	DetailType awscodestarnotifications.DetailType `json:"detailType"`
	// The status of the notification rule.
	//
	// If the enabled is set to DISABLED, notifications aren't sent for the notification rule.
	// Experimental.
	Enabled *bool `json:"enabled"`
	// The name for the notification rule.
	//
	// Notification rule names must be unique in your AWS account.
	// Experimental.
	NotificationRuleName *string `json:"notificationRuleName"`
	// A list of event types associated with this notification rule for CodeBuild Project.
	//
	// For a complete list of event types and IDs, see Notification concepts in the Developer Tools Console User Guide.
	// See: https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#concepts-api
	//
	// Experimental.
	Events *[]ProjectNotificationEvents `json:"events"`
}

Additional options to pass to the notification rule. Experimental.

type ProjectProps

type ProjectProps struct {
	// Whether to allow the CodeBuild to send all network traffic.
	//
	// If set to false, you must individually add traffic rules to allow the
	// CodeBuild project to connect to network targets.
	//
	// Only used if 'vpc' is supplied.
	// Experimental.
	AllowAllOutbound *bool `json:"allowAllOutbound"`
	// Indicates whether AWS CodeBuild generates a publicly accessible URL for your project's build badge.
	//
	// For more information, see Build Badges Sample
	// in the AWS CodeBuild User Guide.
	// Experimental.
	Badge *bool `json:"badge"`
	// Filename or contents of buildspec in JSON format.
	// See: https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-example
	//
	// Experimental.
	BuildSpec BuildSpec `json:"buildSpec"`
	// Caching strategy to use.
	// Experimental.
	Cache Cache `json:"cache"`
	// Whether to check for the presence of any secrets in the environment variables of the default type, BuildEnvironmentVariableType.PLAINTEXT. Since using a secret for the value of that kind of variable would result in it being displayed in plain text in the AWS Console, the construct will throw an exception if it detects a secret was passed there. Pass this property as false if you want to skip this validation, and keep using a secret in a plain text environment variable.
	// Experimental.
	CheckSecretsInPlainTextEnvVariables *bool `json:"checkSecretsInPlainTextEnvVariables"`
	// Maximum number of concurrent builds.
	//
	// Minimum value is 1 and maximum is account build limit.
	// Experimental.
	ConcurrentBuildLimit *float64 `json:"concurrentBuildLimit"`
	// A description of the project.
	//
	// Use the description to identify the purpose
	// of the project.
	// Experimental.
	Description *string `json:"description"`
	// Encryption key to use to read and write artifacts.
	// Experimental.
	EncryptionKey awskms.IKey `json:"encryptionKey"`
	// Build environment to use for the build.
	// Experimental.
	Environment *BuildEnvironment `json:"environment"`
	// Additional environment variables to add to the build environment.
	// Experimental.
	EnvironmentVariables *map[string]*BuildEnvironmentVariable `json:"environmentVariables"`
	// An  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.
	// Experimental.
	FileSystemLocations *[]IFileSystemLocation `json:"fileSystemLocations"`
	// Add permissions to this project's role to create and use test report groups with name starting with the name of this project.
	//
	// That is the standard report group that gets created when a simple name
	// (in contrast to an ARN)
	// is used in the 'reports' section of the buildspec of this project.
	// This is usually harmless, but you can turn these off if you don't plan on using test
	// reports in this project.
	// See: https://docs.aws.amazon.com/codebuild/latest/userguide/test-report-group-naming.html
	//
	// Experimental.
	GrantReportGroupPermissions *bool `json:"grantReportGroupPermissions"`
	// Information about logs for the build project.
	//
	// A project can create logs in Amazon CloudWatch Logs, an S3 bucket, or both.
	// Experimental.
	Logging *LoggingOptions `json:"logging"`
	// The physical, human-readable name of the CodeBuild Project.
	// Experimental.
	ProjectName *string `json:"projectName"`
	// The number of minutes after which AWS CodeBuild stops the build if it's still in queue.
	//
	// For valid values, see the timeoutInMinutes field in the AWS
	// CodeBuild User Guide.
	// Experimental.
	QueuedTimeout awscdk.Duration `json:"queuedTimeout"`
	// Service Role to assume while running the build.
	// Experimental.
	Role awsiam.IRole `json:"role"`
	// What security group to associate with the codebuild project's network interfaces.
	//
	// If no security group is identified, one will be created automatically.
	//
	// Only used if 'vpc' is supplied.
	// Experimental.
	SecurityGroups *[]awsec2.ISecurityGroup `json:"securityGroups"`
	// Where to place the network interfaces within the VPC.
	//
	// Only used if 'vpc' is supplied.
	// Experimental.
	SubnetSelection *awsec2.SubnetSelection `json:"subnetSelection"`
	// The number of minutes after which AWS CodeBuild stops the build if it's not complete.
	//
	// For valid values, see the timeoutInMinutes field in the AWS
	// CodeBuild User Guide.
	// Experimental.
	Timeout awscdk.Duration `json:"timeout"`
	// VPC network to place codebuild network interfaces.
	//
	// Specify this if the codebuild project needs to access resources in a VPC.
	// Experimental.
	Vpc awsec2.IVpc `json:"vpc"`
	// Defines where build artifacts will be stored.
	//
	// Could be: PipelineBuildArtifacts, NoArtifacts and S3Artifacts.
	// Experimental.
	Artifacts IArtifacts `json:"artifacts"`
	// The secondary artifacts for the Project.
	//
	// Can also be added after the Project has been created by using the {@link Project#addSecondaryArtifact} method.
	// See: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-multi-in-out.html
	//
	// Experimental.
	SecondaryArtifacts *[]IArtifacts `json:"secondaryArtifacts"`
	// The secondary sources for the Project.
	//
	// Can be also added after the Project has been created by using the {@link Project#addSecondarySource} method.
	// See: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-multi-in-out.html
	//
	// Experimental.
	SecondarySources *[]ISource `json:"secondarySources"`
	// The source of the build.
	//
	// *Note*: if {@link NoSource} is given as the source,
	// then you need to provide an explicit `buildSpec`.
	// Experimental.
	Source ISource `json:"source"`
}

Experimental.

type ReportGroup

type ReportGroup interface {
	awscdk.Resource
	IReportGroup
	Env() *awscdk.ResourceEnvironment
	ExportBucket() awss3.IBucket
	Node() constructs.Node
	PhysicalName() *string
	ReportGroupArn() *string
	ReportGroupName() *string
	Stack() awscdk.Stack
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	GrantWrite(identity awsiam.IGrantable) awsiam.Grant
	ToString() *string
}

The ReportGroup resource class. Experimental.

func NewReportGroup

func NewReportGroup(scope constructs.Construct, id *string, props *ReportGroupProps) ReportGroup

Experimental.

type ReportGroupProps

type ReportGroupProps struct {
	// An optional S3 bucket to export the reports to.
	// Experimental.
	ExportBucket awss3.IBucket `json:"exportBucket"`
	// What to do when this resource is deleted from a stack.
	//
	// As CodeBuild does not allow deleting a ResourceGroup that has reports inside of it,
	// this is set to retain the resource by default.
	// Experimental.
	RemovalPolicy awscdk.RemovalPolicy `json:"removalPolicy"`
	// The physical name of the report group.
	// Experimental.
	ReportGroupName *string `json:"reportGroupName"`
	// Whether to output the report files into the export bucket as-is, or create a ZIP from them before doing the export.
	//
	// Ignored if {@link exportBucket} has not been provided.
	// Experimental.
	ZipExport *bool `json:"zipExport"`
}

Construction properties for {@link ReportGroup}. Experimental.

type S3ArtifactsProps

type S3ArtifactsProps struct {
	// The artifact identifier.
	//
	// This property is required on secondary artifacts.
	// Experimental.
	Identifier *string `json:"identifier"`
	// The name of the output bucket.
	// Experimental.
	Bucket awss3.IBucket `json:"bucket"`
	// If this is false, build output will not be encrypted.
	//
	// This is useful if the artifact to publish a static website or sharing content with others
	// Experimental.
	Encryption *bool `json:"encryption"`
	// Indicates if the build ID should be included in the path.
	//
	// If this is set to true,
	// then the build artifact will be stored in "<path>/<build-id>/<name>".
	// Experimental.
	IncludeBuildId *bool `json:"includeBuildId"`
	// The name of the build output ZIP file or folder inside the bucket.
	//
	// The full S3 object key will be "<path>/<build-id>/<name>" or
	// "<path>/<name>" depending on whether `includeBuildId` is set to true.
	//
	// If not set, `overrideArtifactName` will be set and the name from the
	// buildspec will be used instead.
	// Experimental.
	Name *string `json:"name"`
	// If this is true, all build output will be packaged into a single .zip file. Otherwise, all files will be uploaded to <path>/<name>.
	// Experimental.
	PackageZip *bool `json:"packageZip"`
	// The path inside of the bucket for the build output .zip file or folder. If a value is not specified, then build output will be stored at the root of the bucket (or under the <build-id> directory if `includeBuildId` is set to true).
	// Experimental.
	Path *string `json:"path"`
}

Construction properties for {@link S3Artifacts}. Experimental.

type S3LoggingOptions

type S3LoggingOptions struct {
	// The S3 Bucket to send logs to.
	// Experimental.
	Bucket awss3.IBucket `json:"bucket"`
	// The current status of the logs in Amazon CloudWatch Logs for a build project.
	// Experimental.
	Enabled *bool `json:"enabled"`
	// Encrypt the S3 build log output.
	// Experimental.
	Encrypted *bool `json:"encrypted"`
	// The path prefix for S3 logs.
	// Experimental.
	Prefix *string `json:"prefix"`
}

Information about logs built to an S3 bucket for a build project. Experimental.

type S3SourceProps

type S3SourceProps struct {
	// The source identifier.
	//
	// This property is required on secondary sources.
	// Experimental.
	Identifier *string `json:"identifier"`
	// Experimental.
	Bucket awss3.IBucket `json:"bucket"`
	// Experimental.
	Path *string `json:"path"`
	// The version ID of the object that represents the build input ZIP file to use.
	// Experimental.
	Version *string `json:"version"`
}

Construction properties for {@link S3Source}. Experimental.

type Source

type Source interface {
	ISource
	BadgeSupported() *bool
	Identifier() *string
	Type() *string
	Bind(_scope constructs.Construct, _project IProject) *SourceConfig
}

Source provider definition for a CodeBuild Project. Experimental.

type SourceConfig

type SourceConfig struct {
	// Experimental.
	SourceProperty *CfnProject_SourceProperty `json:"sourceProperty"`
	// Experimental.
	BuildTriggers *CfnProject_ProjectTriggersProperty `json:"buildTriggers"`
	// `AWS::CodeBuild::Project.SourceVersion`.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codebuild-project.html#cfn-codebuild-project-sourceversion
	//
	// Experimental.
	SourceVersion *string `json:"sourceVersion"`
}

The type returned from {@link ISource#bind}. Experimental.

type SourceProps

type SourceProps struct {
	// The source identifier.
	//
	// This property is required on secondary sources.
	// Experimental.
	Identifier *string `json:"identifier"`
}

Properties common to all Source classes. Experimental.

type StateChangeEvent

type StateChangeEvent interface {
}

Event fields for the CodeBuild "state change" event. See: https://docs.aws.amazon.com/codebuild/latest/userguide/sample-build-notifications.html#sample-build-notifications-ref

Experimental.

type UntrustedCodeBoundaryPolicy

type UntrustedCodeBoundaryPolicy interface {
	awsiam.ManagedPolicy
	Description() *string
	Document() awsiam.PolicyDocument
	Env() *awscdk.ResourceEnvironment
	ManagedPolicyArn() *string
	ManagedPolicyName() *string
	Node() constructs.Node
	Path() *string
	PhysicalName() *string
	Stack() awscdk.Stack
	AddStatements(statement ...awsiam.PolicyStatement)
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy)
	AttachToGroup(group awsiam.IGroup)
	AttachToRole(role awsiam.IRole)
	AttachToUser(user awsiam.IUser)
	GeneratePhysicalName() *string
	GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string
	GetResourceNameAttribute(nameAttr *string) *string
	ToString() *string
}

Permissions Boundary for a CodeBuild Project running untrusted code.

This class is a Policy, intended to be used as a Permissions Boundary for a CodeBuild project. It allows most of the actions necessary to run the CodeBuild project, but disallows reading from Parameter Store and Secrets Manager.

Use this when your CodeBuild project is running untrusted code (for example, if you are using one to automatically build Pull Requests that anyone can submit), and you want to prevent your future self from accidentally exposing Secrets to this build.

(The reason you might want to do this is because otherwise anyone who can submit a Pull Request to your project can write a script to email those secrets to themselves).

TODO: EXAMPLE

Experimental.

func NewUntrustedCodeBoundaryPolicy

func NewUntrustedCodeBoundaryPolicy(scope constructs.Construct, id *string, props *UntrustedCodeBoundaryPolicyProps) UntrustedCodeBoundaryPolicy

Experimental.

type UntrustedCodeBoundaryPolicyProps

type UntrustedCodeBoundaryPolicyProps struct {
	// Additional statements to add to the default set of statements.
	// Experimental.
	AdditionalStatements *[]awsiam.PolicyStatement `json:"additionalStatements"`
	// The name of the managed policy.
	// Experimental.
	ManagedPolicyName *string `json:"managedPolicyName"`
}

Construction properties for UntrustedCodeBoundaryPolicy. Experimental.

type WindowsBuildImage

type WindowsBuildImage interface {
	IBuildImage
	DefaultComputeType() ComputeType
	ImageId() *string
	ImagePullPrincipalType() ImagePullPrincipalType
	Repository() awsecr.IRepository
	SecretsManagerCredentials() awssecretsmanager.ISecret
	Type() *string
	RunScriptBuildspec(entrypoint *string) BuildSpec
	Validate(buildEnvironment *BuildEnvironment) *[]*string
}

A CodeBuild image running Windows.

This class has a bunch of public constants that represent the most popular images.

You can also specify a custom image using one of the static methods:

- WindowsBuildImage.fromDockerRegistry(image[, { secretsManagerCredentials }, imageType]) - WindowsBuildImage.fromEcrRepository(repo[, tag, imageType]) - WindowsBuildImage.fromAsset(parent, id, props, [, imageType]) See: https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html

Experimental.

type WindowsImageType

type WindowsImageType string

Environment type for Windows Docker images. Experimental.

const (
	WindowsImageType_STANDARD    WindowsImageType = "STANDARD"
	WindowsImageType_SERVER_2019 WindowsImageType = "SERVER_2019"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL