Skip to main content

Backup CodeCommit repositories to S3

Project description

cloudcomponents Logo

@cloudcomponents/cdk-codecommit-backup

Build Status cdkdx typescript python Mentioned in Awesome CDK

Backup CodeCommit repositories to S3

Install

TypeScript/JavaScript:

npm i @cloudcomponents/cdk-codecommit-backup

Python:

pip install cloudcomponents.cdk-codecommit-backup

How to use

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
from aws_cdk.core import Construct, Stack, StackProps, Duration
from aws_cdk.aws_codecommit import Repository
from aws_cdk.aws_events import Schedule
from aws_cdk.aws_events_targets import SnsTopic
from aws_cdk.aws_sns import Topic
from aws_cdk.aws_sns_subscriptions import EmailSubscription
from cloudcomponents.cdk_codecommit_backup import BackupBucket, S3CodeCommitBackup

class CodeCommitBackupStack(Stack):
    def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, synthesizer=None, terminationProtection=None, analyticsReporting=None):
        super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting)

        repository = Repository.from_repository_name(self, "Repository", process.env.REPOSITORY_NAME)

        backup_bucket = BackupBucket(self, "BackupBuckt",
            retention_period=Duration.days(90)
        )

        # The following example runs a task every day at 4am
        backup = S3CodeCommitBackup(self, "S3CodeCommitBackup",
            backup_bucket=backup_bucket,
            repository=repository,
            schedule=Schedule.cron(
                minute="0",
                hour="4"
            )
        )

        backup_topic = Topic(self, "BackupTopic")

        backup_topic.add_subscription(
            EmailSubscription(process.env.DEVSECOPS_TEAM_EMAIL))

        backup.on_backup_started("started",
            target=SnsTopic(backup_topic)
        )

        backup.on_backup_succeeded("succeeded",
            target=SnsTopic(backup_topic)
        )

        backup.on_backup_failed("failed",
            target=SnsTopic(backup_topic)
        )

API Reference

See API.md.

Example

See more complete examples.

License

MIT

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file cloudcomponents.cdk-codecommit-backup-1.33.0.tar.gz.

File metadata

  • Download URL: cloudcomponents.cdk-codecommit-backup-1.33.0.tar.gz
  • Upload date:
  • Size: 72.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.2

File hashes

Hashes for cloudcomponents.cdk-codecommit-backup-1.33.0.tar.gz
Algorithm Hash digest
SHA256 60e511c6a4e94e7cb4d81786f1bd2de6ffbef6d7b2ff3b34f9dd139bce62db26
MD5 e47b0fae34f846f6fa51bef9694122fe
BLAKE2b-256 337e310d10996bbc1b495b4cfa46feb9d96e033d598bd82861dec73ac664e31a

See more details on using hashes here.

File details

Details for the file cloudcomponents.cdk_codecommit_backup-1.33.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cloudcomponents.cdk_codecommit_backup-1.33.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eed77d8865113449b8162f8f97a23bec52e8d37ed7cdde7f2bd242741439ec7c
MD5 6f7ef4a025183e696788fcefe2f4dbd3
BLAKE2b-256 be14dbf37fcec57b4a1f0bd1dbdd1fdf8f9f60c0e4a475cd5da1ff079075cc39

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page