aws-cdk-aws-codebuild 1.204.0


pip install aws-cdk-aws-codebuild

  Latest version

Released: Jun 19, 2023

Project Links

Meta
Author: Amazon Web Services
Requires Python: ~=3.7

Classifiers

Intended Audience
  • Developers

Operating System
  • OS Independent

Programming Language
  • JavaScript
  • Python :: 3 :: Only
  • Python :: 3.7
  • Python :: 3.8
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11

Typing
  • Typed

Development Status
  • 7 - Inactive

License
  • OSI Approved

Framework
  • AWS CDK
  • AWS CDK :: 1

AWS CodeBuild Construct Library

---

End-of-Support

AWS CDK v1 has reached End-of-Support on 2023-06-01. This package is no longer being updated, and users should migrate to AWS CDK v2.

For more information on how to migrate, see the Migrating to AWS CDK v2 guide.


AWS CodeBuild is a fully managed continuous integration service that compiles source code, runs tests, and produces software packages that are ready to deploy. With CodeBuild, you don’t need to provision, manage, and scale your own build servers. CodeBuild scales continuously and processes multiple builds concurrently, so your builds are not left waiting in a queue. You can get started quickly by using prepackaged build environments, or you can create custom build environments that use your own build tools. With CodeBuild, you are charged by the minute for the compute resources you use.

Installation

Install the module:

$ npm i @aws-cdk/aws-codebuild

Import it into your code:

import aws_cdk.aws_codebuild as codebuild

The codebuild.Project construct represents a build project resource. See the reference documentation for a comprehensive list of initialization properties, methods and attributes.

Source

Build projects are usually associated with a source, which is specified via the source property which accepts a class that extends the Source abstract base class. The default is to have no source associated with the build project; the buildSpec option is required in that case.

Here's a CodeBuild project with no source which simply prints Hello, CodeBuild!:

codebuild.Project(self, "MyProject",
    build_spec=codebuild.BuildSpec.from_object({
        "version": "0.2",
        "phases": {
            "build": {
                "commands": ["echo \"Hello, CodeBuild!\""
                ]
            }
        }
    })
)

CodeCommitSource

Use an AWS CodeCommit repository as the source of this build:

import aws_cdk.aws_codecommit as codecommit


repository = codecommit.Repository(self, "MyRepo", repository_name="foo")
codebuild.Project(self, "MyFirstCodeCommitProject",
    source=codebuild.Source.code_commit(repository=repository)
)

S3Source

Create a CodeBuild project with an S3 bucket as the source:

bucket = s3.Bucket(self, "MyBucket")

codebuild.Project(self, "MyProject",
    source=codebuild.Source.s3(
        bucket=bucket,
        path="path/to/file.zip"
    )
)

The CodeBuild role will be granted to read just the given path from the given bucket.

GitHubSource and GitHubEnterpriseSource

These source types can be used to build code from a GitHub repository. Example:

git_hub_source = codebuild.Source.git_hub(
    owner="awslabs",
    repo="aws-cdk",
    webhook=True,  # optional, default: true if `webhookFilters` were provided, false otherwise
    webhook_triggers_batch_build=True,  # optional, default is false
    webhook_filters=[
        codebuild.FilterGroup.in_event_of(codebuild.EventAction.PUSH).and_branch_is("master").and_commit_message_is("the commit message")
    ]
)

To provide GitHub credentials, please either go to AWS CodeBuild Console to connect or call ImportSourceCredentials to persist your personal access token. Example:

aws codebuild import-source-credentials --server-type GITHUB --auth-type PERSONAL_ACCESS_TOKEN --token <token_value>

BitBucketSource

This source type can be used to build code from a BitBucket repository.

bb_source = codebuild.Source.bit_bucket(
    owner="owner",
    repo="repo"
)

For all Git sources

For all Git sources, you can fetch submodules while cloing git repo.

git_hub_source = codebuild.Source.git_hub(
    owner="awslabs",
    repo="aws-cdk",
    fetch_submodules=True
)

Artifacts

CodeBuild Projects can produce Artifacts and upload them to S3. For example:

# bucket: s3.Bucket


project = codebuild.Project(self, "MyProject",
    build_spec=codebuild.BuildSpec.from_object({
        "version": "0.2"
    }),
    artifacts=codebuild.Artifacts.s3(
        bucket=bucket,
        include_build_id=False,
        package_zip=True,
        path="another/path",
        identifier="AddArtifact1"
    )
)

If you'd prefer your buildspec to be rendered as YAML in the template, use the fromObjectToYaml() method instead of fromObject().

Because we've not set the name property, this example will set the overrideArtifactName parameter, and produce an artifact named as defined in the Buildspec file, uploaded to an S3 bucket (bucket). The path will be another/path and the artifact will be a zipfile.

CodePipeline

To add a CodeBuild Project as an Action to CodePipeline, use the PipelineProject class instead of Project. It's a simple class that doesn't allow you to specify sources, secondarySources, artifacts or secondaryArtifacts, as these are handled by setting input and output CodePipeline Artifact instances on the Action, instead of setting them on the Project.

project = codebuild.PipelineProject(self, "Project")

For more details, see the readme of the @aws-cdk/@aws-codepipeline-actions package.

Caching

You can save time when your project builds by using a cache. A cache can store reusable pieces of your build environment and use them across multiple builds. Your build project can use one of two types of caching: Amazon S3 or local. In general, S3 caching is a good option for small and intermediate build artifacts that are more expensive to build than to download. Local caching is a good option for large intermediate build artifacts because the cache is immediately available on the build host.

S3 Caching

With S3 caching, the cache is stored in an S3 bucket which is available regardless from what CodeBuild instance gets selected to run your CodeBuild job on. When using S3 caching, you must also add in a cache section to your buildspec which indicates the files to be cached:

# my_caching_bucket: s3.Bucket


codebuild.Project(self, "Project",
    source=codebuild.Source.bit_bucket(
        owner="awslabs",
        repo="aws-cdk"
    ),

    cache=codebuild.Cache.bucket(my_caching_bucket),

    # BuildSpec with a 'cache' section necessary for S3 caching. This can
    # also come from 'buildspec.yml' in your source.
    build_spec=codebuild.BuildSpec.from_object({
        "version": "0.2",
        "phases": {
            "build": {
                "commands": ["..."]
            }
        },
        "cache": {
            "paths": ["/root/cachedir/**/*"
            ]
        }
    })
)

Note that two different CodeBuild Projects using the same S3 bucket will not share their cache: each Project will get a unique file in the S3 bucket to store the cache in.

Local Caching

With local caching, the cache is stored on the codebuild instance itself. This is simple, cheap and fast, but CodeBuild cannot guarantee a reuse of instance and hence cannot guarantee cache hits. For example, when a build starts and caches files locally, if two subsequent builds start at the same time afterwards only one of those builds would get the cache. Three different cache modes are supported, which can be turned on individually.

  • LocalCacheMode.SOURCE caches Git metadata for primary and secondary sources.
  • LocalCacheMode.DOCKER_LAYER caches existing Docker layers.
  • LocalCacheMode.CUSTOM caches directories you specify in the buildspec file.
codebuild.Project(self, "Project",
    source=codebuild.Source.git_hub_enterprise(
        https_clone_url="https://my-github-enterprise.com/owner/repo"
    ),

    # Enable Docker AND custom caching
    cache=codebuild.Cache.local(codebuild.LocalCacheMode.DOCKER_LAYER, codebuild.LocalCacheMode.CUSTOM),

    # BuildSpec with a 'cache' section necessary for 'CUSTOM' caching. This can
    # also come from 'buildspec.yml' in your source.
    build_spec=codebuild.BuildSpec.from_object({
        "version": "0.2",
        "phases": {
            "build": {
                "commands": ["..."]
            }
        },
        "cache": {
            "paths": ["/root/cachedir/**/*"
            ]
        }
    })
)

Environment

By default, projects use a small instance with an Ubuntu 18.04 image. You can use the environment property to customize the build environment:

  • buildImage defines the Docker image used. See Images below for details on how to define build images.
  • certificate defines the location of a PEM encoded certificate to import.
  • computeType defines the instance type used for the build.
  • privileged can be set to true to allow privileged access.
  • environmentVariables can be set at this level (and also at the project level).

Images

The CodeBuild library supports both Linux and Windows images via the LinuxBuildImage (or LinuxArmBuildImage), and WindowsBuildImage classes, respectively.

You can specify one of the predefined Windows/Linux images by using one of the constants such as WindowsBuildImage.WIN_SERVER_CORE_2019_BASE, WindowsBuildImage.WINDOWS_BASE_2_0, LinuxBuildImage.STANDARD_2_0, or LinuxArmBuildImage.AMAZON_LINUX_2_ARM.

Alternatively, you can specify a custom image using one of the static methods on LinuxBuildImage:

  • LinuxBuildImage.fromDockerRegistry(image[, { secretsManagerCredentials }]) to reference an image in any public or private Docker registry.
  • LinuxBuildImage.fromEcrRepository(repo[, tag]) to reference an image available in an ECR repository.
  • LinuxBuildImage.fromAsset(parent, id, props) to use an image created from a local asset.
  • LinuxBuildImage.fromCodeBuildImageId(id) to reference a pre-defined, CodeBuild-provided Docker image.

or one of the corresponding methods on WindowsBuildImage:

  • WindowsBuildImage.fromDockerRegistry(image[, { secretsManagerCredentials }, imageType])
  • WindowsBuildImage.fromEcrRepository(repo[, tag, imageType])
  • WindowsBuildImage.fromAsset(parent, id, props, [, imageType])

or one of the corresponding methods on LinuxArmBuildImage:

  • LinuxArmBuildImage.fromEcrRepository(repo[, tag])

Note that the WindowsBuildImage version of the static methods accepts an optional parameter of type WindowsImageType, which can be either WindowsImageType.STANDARD, the default, or WindowsImageType.SERVER_2019:

# ecr_repository: ecr.Repository


codebuild.Project(self, "Project",
    environment=codebuild.BuildEnvironment(
        build_image=codebuild.WindowsBuildImage.from_ecr_repository(ecr_repository, "v1.0", codebuild.WindowsImageType.SERVER_2019),
        # optional certificate to include in the build image
        certificate=codebuild.BuildEnvironmentCertificate(
            bucket=s3.Bucket.from_bucket_name(self, "Bucket", "my-bucket"),
            object_key="path/to/cert.pem"
        )
    )
)

The following example shows how to define an image from a Docker asset:

environment=codebuild.BuildEnvironment(
    build_image=codebuild.LinuxBuildImage.from_asset(self, "MyImage",
        directory=path.join(__dirname, "demo-image")
    )
)

The following example shows how to define an image from an ECR repository:

environment=codebuild.BuildEnvironment(
    build_image=codebuild.LinuxBuildImage.from_ecr_repository(ecr_repository, "v1.0")
)

The following example shows how to define an image from a private docker registry:

environment=codebuild.BuildEnvironment(
    build_image=codebuild.LinuxBuildImage.from_docker_registry("my-registry/my-repo",
        secrets_manager_credentials=secrets
    )
)

GPU images

The class LinuxGpuBuildImage contains constants for working with AWS Deep Learning Container images:

codebuild.Project(self, "Project",
    environment=codebuild.BuildEnvironment(
        build_image=codebuild.LinuxGpuBuildImage.DLC_TENSORFLOW_2_1_0_INFERENCE
    )
)

One complication is that the repositories for the DLC images are in different accounts in different AWS regions. In most cases, the CDK will handle providing the correct account for you; in rare cases (for example, deploying to new regions) where our information might be out of date, you can always specify the account (along with the repository name and tag) explicitly using the awsDeepLearningContainersImage method:

codebuild.Project(self, "Project",
    environment=codebuild.BuildEnvironment(
        build_image=codebuild.LinuxGpuBuildImage.aws_deep_learning_containers_image("tensorflow-inference", "2.1.0-gpu-py36-cu101-ubuntu18.04", "123456789012")
    )
)

Alternatively, you can reference an image available in an ECR repository using the LinuxGpuBuildImage.fromEcrRepository(repo[, tag]) method.

Logs

CodeBuild lets you specify an S3 Bucket, CloudWatch Log Group or both to receive logs from your projects.

By default, logs will go to cloudwatch.

CloudWatch Logs Example

codebuild.Project(self, "Project",
    logging=codebuild.LoggingOptions(
        cloud_watch=codebuild.CloudWatchLoggingOptions(
            log_group=logs.LogGroup(self, "MyLogGroup")
        )
    )
)

S3 Logs Example

codebuild.Project(self, "Project",
    logging=codebuild.LoggingOptions(
        s3=codebuild.S3LoggingOptions(
            bucket=s3.Bucket(self, "LogBucket")
        )
    )
)

Credentials

CodeBuild allows you to store credentials used when communicating with various sources, like GitHub:

codebuild.GitHubSourceCredentials(self, "CodeBuildGitHubCreds",
    access_token=SecretValue.secrets_manager("my-token")
)

and BitBucket:

codebuild.BitBucketSourceCredentials(self, "CodeBuildBitBucketCreds",
    username=SecretValue.secrets_manager("my-bitbucket-creds", json_field="username"),
    password=SecretValue.secrets_manager("my-bitbucket-creds", json_field="password")
)

Note: the credentials are global to a given account in a given region - they are not defined per CodeBuild project. CodeBuild only allows storing a single credential of a given type (GitHub, GitHub Enterprise or BitBucket) in a given account in a given region - any attempt to save more than one will result in an error. You can use the list-source-credentials AWS CLI operation to inspect what credentials are stored in your account.

Test reports

You can specify a test report in your buildspec:

project = codebuild.Project(self, "Project",
    build_spec=codebuild.BuildSpec.from_object({
        # ...
        "reports": {
            "my_report": {
                "files": "**/*",
                "base-directory": "build/test-results"
            }
        }
    })
)

This will create a new test report group, with the name <ProjectName>-myReport.

The project's role in the CDK will always be granted permissions to create and use report groups with names starting with the project's name; if you'd rather not have those permissions added, you can opt out of it when creating the project:

# source: codebuild.Source


project = codebuild.Project(self, "Project",
    source=source,
    grant_report_group_permissions=False
)

Alternatively, you can specify an ARN of an existing resource group, instead of a simple name, in your buildspec:

# source: codebuild.Source


# create a new ReportGroup
report_group = codebuild.ReportGroup(self, "ReportGroup")

project = codebuild.Project(self, "Project",
    source=source,
    build_spec=codebuild.BuildSpec.from_object({
        # ...
        "reports": {
            "report_group.report_group_arn": {
                "files": "**/*",
                "base-directory": "build/test-results"
            }
        }
    })
)

If you do that, you need to grant the project's role permissions to write reports to that report group:

# project: codebuild.Project
# report_group: codebuild.ReportGroup


report_group.grant_write(project)

For more information on the test reports feature, see the AWS CodeBuild documentation.

Events

CodeBuild projects can be used either as a source for events or be triggered by events via an event rule.

Using Project as an event target

The @aws-cdk/aws-events-targets.CodeBuildProject allows using an AWS CodeBuild project as a AWS CloudWatch event rule target:

# start build when a commit is pushed
import aws_cdk.aws_codecommit as codecommit
import aws_cdk.aws_events_targets as targets

# code_commit_repository: codecommit.Repository
# project: codebuild.Project


code_commit_repository.on_commit("OnCommit",
    target=targets.CodeBuildProject(project)
)

Using Project as an event source

To define Amazon CloudWatch event rules for build projects, use one of the onXxx methods:

import aws_cdk.aws_events_targets as targets
# fn: lambda.Function
# project: codebuild.Project


rule = project.on_state_change("BuildStateChange",
    target=targets.LambdaFunction(fn)
)

CodeStar Notifications

To define CodeStar Notification rules for Projects, use one of the notifyOnXxx() methods. They are very similar to onXxx() methods for CloudWatch events:

import aws_cdk.aws_chatbot as chatbot

# project: codebuild.Project


target = chatbot.SlackChannelConfiguration(self, "MySlackChannel",
    slack_channel_configuration_name="YOUR_CHANNEL_NAME",
    slack_workspace_id="YOUR_SLACK_WORKSPACE_ID",
    slack_channel_id="YOUR_SLACK_CHANNEL_ID"
)

rule = project.notify_on_build_succeeded("NotifyOnBuildSucceeded", target)

Secondary sources and artifacts

CodeBuild Projects can get their sources from multiple places, and produce multiple outputs. For example:

import aws_cdk.aws_codecommit as codecommit
# repo: codecommit.Repository
# bucket: s3.Bucket


project = codebuild.Project(self, "MyProject",
    secondary_sources=[
        codebuild.Source.code_commit(
            identifier="source2",
            repository=repo
        )
    ],
    secondary_artifacts=[
        codebuild.Artifacts.s3(
            identifier="artifact2",
            bucket=bucket,
            path="some/path",
            name="file.zip"
        )
    ]
)

Note that the identifier property is required for both secondary sources and artifacts.

The contents of the secondary source is available to the build under the directory specified by the CODEBUILD_SRC_DIR_<identifier> environment variable (so, CODEBUILD_SRC_DIR_source2 in the above case).

The secondary artifacts have their own section in the buildspec, under the regular artifacts one. Each secondary artifact has its own section, beginning with their identifier.

So, a buildspec for the above Project could look something like this:

project = codebuild.Project(self, "MyProject",
    # secondary sources and artifacts as above...
    build_spec=codebuild.BuildSpec.from_object({
        "version": "0.2",
        "phases": {
            "build": {
                "commands": ["cd $CODEBUILD_SRC_DIR_source2", "touch output2.txt"
                ]
            }
        },
        "artifacts": {
            "secondary-artifacts": {
                "artifact2": {
                    "base-directory": "$CODEBUILD_SRC_DIR_source2",
                    "files": ["output2.txt"
                    ]
                }
            }
        }
    })
)

Definition of VPC configuration in CodeBuild Project

Typically, resources in an VPC are not accessible by AWS CodeBuild. To enable access, you must provide additional VPC-specific configuration information as part of your CodeBuild project configuration. This includes the VPC ID, the VPC subnet IDs, and the VPC security group IDs. VPC-enabled builds are then able to access resources inside your VPC.

For further Information see https://docs.aws.amazon.com/codebuild/latest/userguide/vpc-support.html

Use Cases VPC connectivity from AWS CodeBuild builds makes it possible to:

  • Run integration tests from your build against data in an Amazon RDS database that's isolated on a private subnet.
  • Query data in an Amazon ElastiCache cluster directly from tests.
  • Interact with internal web services hosted on Amazon EC2, Amazon ECS, or services that use internal Elastic Load Balancing.
  • Retrieve dependencies from self-hosted, internal artifact repositories, such as PyPI for Python, Maven for Java, and npm for Node.js.
  • Access objects in an Amazon S3 bucket configured to allow access through an Amazon VPC endpoint only.
  • Query external web services that require fixed IP addresses through the Elastic IP address of the NAT gateway or NAT instance associated with your subnet(s).

Your builds can access any resource that's hosted in your VPC.

Enable Amazon VPC Access in your CodeBuild Projects

Pass the VPC when defining your Project, then make sure to give the CodeBuild's security group the right permissions to access the resources that it needs by using the connections object.

For example:

# load_balancer: elbv2.ApplicationLoadBalancer


vpc = ec2.Vpc(self, "MyVPC")
project = codebuild.Project(self, "MyProject",
    vpc=vpc,
    build_spec=codebuild.BuildSpec.from_object({})
)

project.connections.allow_to(load_balancer, ec2.Port.tcp(443))

Project File System Location EFS

Add support for CodeBuild to build on AWS EFS file system mounts using the new ProjectFileSystemLocation. The fileSystemLocations property which accepts a list ProjectFileSystemLocation as represented by the interface IFileSystemLocations. The only supported file system type is EFS.

For example:

codebuild.Project(self, "MyProject",
    build_spec=codebuild.BuildSpec.from_object({
        "version": "0.2"
    }),
    file_system_locations=[
        codebuild.FileSystemLocation.efs(
            identifier="myidentifier2",
            location="myclodation.mydnsroot.com:/loc",
            mount_point="/media",
            mount_options="opts"
        )
    ]
)

Here's a CodeBuild project with a simple example that creates a project mounted on AWS EFS:

Minimal Example

Batch builds

To enable batch builds you should call enableBatchBuilds() on the project instance.

It returns an object containing the batch service role that was created, or undefined if batch builds could not be enabled, for example if the project was imported.

# source: codebuild.Source


project = codebuild.Project(self, "MyProject", source=source)

if project.enable_batch_builds():
    print("Batch builds were enabled")

Timeouts

There are two types of timeouts that can be set when creating your Project. The timeout property can be used to set an upper limit on how long your Project is able to run without being marked as completed. The default is 60 minutes. An example of overriding the default follows.

codebuild.Project(self, "MyProject",
    timeout=Duration.minutes(90)
)

The queuedTimeout property can be used to set an upper limit on how your Project remains queued to run. There is no default value for this property. As an example, to allow your Project to queue for up to thirty (30) minutes before the build fails, use the following code.

codebuild.Project(self, "MyProject",
    queued_timeout=Duration.minutes(30)
)

Limiting concurrency

By default if a new build is triggered it will be run even if there is a previous build already in progress. It is possible to limit the maximum concurrent builds to value between 1 and the account specific maximum limit. By default there is no explicit limit.

codebuild.Project(self, "MyProject",
    concurrent_build_limit=1
)
1.204.0 Jun 19, 2023
1.203.0 May 31, 2023
1.202.0 May 22, 2023
1.201.0 May 10, 2023
1.200.0 Apr 26, 2023
1.199.0 Apr 20, 2023
1.198.1 Mar 31, 2023
1.198.0 Mar 22, 2023
1.197.0 Mar 14, 2023
1.196.0 Mar 08, 2023
1.195.0 Mar 02, 2023
1.194.0 Feb 21, 2023
1.193.0 Feb 15, 2023
1.192.0 Feb 09, 2023
1.191.0 Jan 31, 2023
1.190.0 Jan 25, 2023
1.189.0 Jan 19, 2023
1.188.0 Jan 11, 2023
1.187.0 Jan 03, 2023
1.186.1 Dec 30, 2022
1.186.0 Dec 29, 2022
1.185.0 Dec 28, 2022
1.184.1 Dec 23, 2022
1.184.0 Dec 22, 2022
1.183.0 Dec 14, 2022
1.182.0 Dec 07, 2022
1.181.1 Nov 29, 2022
1.181.0 Nov 18, 2022
1.180.0 Nov 01, 2022
1.179.0 Oct 27, 2022
1.178.0 Oct 20, 2022
1.177.0 Oct 13, 2022
1.176.0 Oct 06, 2022
1.175.0 Sep 29, 2022
1.174.0 Sep 22, 2022
1.173.0 Sep 16, 2022
1.172.0 Sep 08, 2022
1.171.0 Aug 31, 2022
1.170.1 Aug 31, 2022
1.170.0 Aug 25, 2022
1.169.0 Aug 18, 2022
1.168.0 Aug 09, 2022
1.167.0 Aug 02, 2022
1.166.1 Jul 29, 2022
1.165.0 Jul 19, 2022
1.164.0 Jul 16, 2022
1.163.2 Jul 14, 2022
1.163.1 Jul 09, 2022
1.163.0 Jul 06, 2022
1.162.0 Jul 01, 2022
1.161.0 Jun 23, 2022
1.160.0 Jun 14, 2022
1.159.0 Jun 03, 2022
1.158.0 May 27, 2022
1.157.0 May 21, 2022
1.156.1 May 13, 2022
1.156.0 May 12, 2022
1.155.0 May 04, 2022
1.154.0 Apr 28, 2022
1.153.1 Apr 23, 2022
1.153.0 Apr 22, 2022
1.152.0 Apr 07, 2022
1.151.0 Apr 01, 2022
1.150.0 Mar 26, 2022
1.149.0 Mar 17, 2022
1.148.0 Mar 10, 2022
1.147.0 Mar 01, 2022
1.146.0 Feb 25, 2022
1.145.0 Feb 19, 2022
1.144.0 Feb 08, 2022
1.143.0 Feb 02, 2022
1.142.0 Jan 29, 2022
1.141.0 Jan 27, 2022
1.140.0 Jan 20, 2022
1.139.0 Jan 11, 2022
1.138.2 Jan 10, 2022
1.138.1 Jan 07, 2022
1.138.0 Jan 04, 2022
1.137.0 Dec 21, 2021
1.136.0 Dec 15, 2021
1.135.0 Dec 10, 2021
1.134.0 Nov 23, 2021
1.133.0 Nov 19, 2021
1.132.0 Nov 09, 2021
1.131.0 Nov 07, 2021
1.130.0 Oct 29, 2021
1.129.0 Oct 21, 2021
1.128.0 Oct 14, 2021
1.127.0 Oct 08, 2021
1.126.0 Oct 05, 2021
1.125.0 Sep 29, 2021
1.124.0 Sep 21, 2021
1.123.0 Sep 17, 2021
1.122.0 Sep 08, 2021
1.121.0 Sep 01, 2021
1.120.0 Aug 26, 2021
1.119.0 Aug 17, 2021
1.118.0 Aug 11, 2021
1.117.0 Aug 05, 2021
1.116.0 Jul 28, 2021
1.115.0 Jul 21, 2021
1.114.0 Jul 15, 2021
1.113.0 Jul 12, 2021
1.112.0 Jul 09, 2021
1.111.0 Jul 02, 2021
1.110.1 Jun 28, 2021
1.110.0 Jun 24, 2021
1.109.0 Jun 17, 2021
1.108.1 Jun 11, 2021
1.108.0 Jun 09, 2021
1.107.0 Jun 02, 2021
1.106.1 May 26, 2021
1.106.0 May 25, 2021
1.105.0 May 19, 2021
1.104.0 May 15, 2021
1.103.0 May 10, 2021
1.102.0 May 04, 2021
1.101.0 Apr 28, 2021
1.100.0 Apr 20, 2021
1.99.0 Apr 19, 2021
1.98.0 Apr 12, 2021
1.97.0 Apr 06, 2021
1.96.0 Apr 01, 2021
1.95.2 Apr 01, 2021
1.95.1 Mar 26, 2021
1.95.0 Mar 25, 2021
1.94.1 Mar 17, 2021
1.94.0 Mar 16, 2021
1.93.0 Mar 11, 2021
1.92.0 Mar 06, 2021
1.91.0 Feb 23, 2021
1.90.1 Feb 19, 2021
1.90.0 Feb 17, 2021
1.89.0 Feb 09, 2021
1.88.0 Feb 04, 2021
1.87.1 Jan 28, 2021
1.87.0 Jan 27, 2021
1.86.0 Jan 21, 2021
1.85.0 Jan 14, 2021
1.84.0 Jan 12, 2021
1.83.0 Jan 06, 2021
1.82.0 Jan 03, 2021
1.81.0 Dec 31, 2020
1.80.0 Dec 22, 2020
1.79.0 Dec 17, 2020
1.78.0 Dec 12, 2020
1.77.0 Dec 07, 2020
1.76.0 Dec 01, 2020
1.75.0 Nov 24, 2020
1.74.0 Nov 17, 2020
1.73.0 Nov 11, 2020
1.72.0 Nov 06, 2020
1.71.0 Oct 29, 2020
1.70.0 Oct 24, 2020
1.69.0 Oct 19, 2020
1.68.0 Oct 15, 2020
1.67.0 Oct 07, 2020
1.66.0 Oct 02, 2020
1.65.0 Oct 01, 2020
1.64.1 Sep 25, 2020
1.64.0 Sep 24, 2020
1.63.0 Sep 14, 2020
1.62.0 Sep 04, 2020
1.61.1 Aug 28, 2020
1.61.0 Aug 27, 2020
1.60.0 Aug 20, 2020
1.59.0 Aug 15, 2020
1.58.0 Aug 12, 2020
1.57.0 Aug 07, 2020
1.56.0 Aug 01, 2020
1.55.0 Jul 28, 2020
1.54.0 Jul 22, 2020
1.53.0 Jul 20, 2020
1.52.0 Jul 18, 2020
1.51.0 Jul 09, 2020
1.50.0 Jul 07, 2020
1.49.1 Jul 02, 2020
1.49.0 Jul 02, 2020
1.48.0 Jul 01, 2020
1.47.1 Jun 30, 2020
1.47.0 Jun 24, 2020
1.46.0 Jun 20, 2020
1.45.0 Jun 09, 2020
1.44.0 Jun 04, 2020
1.43.0 Jun 04, 2020
1.42.1 Jun 01, 2020
1.42.0 May 27, 2020
1.41.0 May 21, 2020
1.40.0 May 20, 2020
1.39.0 May 16, 2020
1.38.0 May 08, 2020
1.37.0 May 05, 2020
1.36.1 Apr 29, 2020
1.36.0 Apr 28, 2020
1.35.0 Apr 24, 2020
1.34.1 Apr 22, 2020
1.34.0 Apr 21, 2020
1.33.1 Apr 19, 2020
1.33.0 Apr 17, 2020
1.32.2 Apr 10, 2020
1.32.1 Apr 09, 2020
1.32.0 Apr 07, 2020
1.31.0 Mar 24, 2020
1.30.0 Mar 18, 2020
1.29.0 Mar 18, 2020
1.28.0 Mar 16, 2020
1.27.0 Mar 03, 2020
1.26.0 Feb 26, 2020
1.25.0 Feb 19, 2020
1.24.0 Feb 14, 2020
1.23.0 Feb 07, 2020
1.22.0 Jan 23, 2020
1.21.1 Jan 16, 2020
1.21.0 Jan 16, 2020
1.20.0 Jan 07, 2020
1.19.0 Dec 17, 2019
1.18.0 Nov 25, 2019
1.17.1 Nov 19, 2019
1.17.0 Nov 19, 2019
1.16.3 Nov 13, 2019
1.16.2 Nov 12, 2019
1.16.1 Nov 12, 2019
1.16.0 Nov 11, 2019
1.15.0 Oct 28, 2019
1.14.0 Oct 22, 2019
1.13.1 Oct 15, 2019
1.13.0 Oct 15, 2019
1.12.0 Oct 07, 2019
1.11.0 Oct 02, 2019
1.10.1 Oct 01, 2019
1.10.0 Sep 30, 2019
1.9.0 Sep 20, 2019
1.8.0 Sep 10, 2019
1.7.0 Sep 06, 2019
1.6.1 Aug 29, 2019
1.6.0 Aug 27, 2019
1.5.0 Aug 21, 2019
1.4.0 Aug 14, 2019
1.3.0 Aug 02, 2019
1.2.0 Jul 25, 2019
1.1.0 Jul 19, 2019
1.0.0 Jul 11, 2019
0.39.0 Jul 09, 2019
0.38.0 Jul 08, 2019
0.37.0 Jul 04, 2019
0.36.2 Jul 03, 2019
0.36.1 Jul 01, 2019
0.36.0 Jun 25, 2019
0.35.0 Jun 19, 2019
0.34.0 Jun 10, 2019
0.33.0 May 30, 2019
0.32.0 May 24, 2019
0.31.0 May 07, 2019
0.30.0 May 02, 2019
0.29.0 Apr 24, 2019
0.28.0 Apr 04, 2019
0.27.0 Mar 28, 2019
0.26.0 Mar 28, 2019
Extras: None
Dependencies:
aws-cdk.assets (==1.204.0)
aws-cdk.aws-cloudwatch (==1.204.0)
aws-cdk.aws-codecommit (==1.204.0)
aws-cdk.aws-codestarnotifications (==1.204.0)
aws-cdk.aws-ec2 (==1.204.0)
aws-cdk.aws-ecr-assets (==1.204.0)
aws-cdk.aws-ecr (==1.204.0)
aws-cdk.aws-events (==1.204.0)
aws-cdk.aws-iam (==1.204.0)
aws-cdk.aws-kms (==1.204.0)
aws-cdk.aws-logs (==1.204.0)
aws-cdk.aws-s3-assets (==1.204.0)
aws-cdk.aws-s3 (==1.204.0)
aws-cdk.aws-secretsmanager (==1.204.0)
aws-cdk.core (==1.204.0)
aws-cdk.region-info (==1.204.0)
constructs (<4.0.0,>=3.3.69)
jsii (<2.0.0,>=1.84.0)
publication (>=0.0.3)
typeguard (~=2.13.3)