Backup CodeCommit repositories to S3
Project description
@cloudcomponents/cdk-codecommit-backup
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 from non-compiling source. May contain errors.
import { Construct, Stack, StackProps, Duration } from '@aws-cdk/core';
import { Repository } from '@aws-cdk/aws-codecommit';
import { Schedule } from '@aws-cdk/aws-events';
import { SnsTopic } from '@aws-cdk/aws-events-targets';
import { Topic } from '@aws-cdk/aws-sns';
import { EmailSubscription } from '@aws-cdk/aws-sns-subscriptions';
import {
BackupBucket,
S3CodeCommitBackup,
} from '@cloudcomponents/cdk-codecommit-backup';
export class CodeCommitBackupStack extends Stack {
constructor(scope: Construct, id: string, props?: StackProps) {
super(scope, id, props);
const repository = Repository.fromRepositoryName(
this,
'Repository',
process.env.REPOSITORY_NAME as string,
);
const backupBucket = new BackupBucket(this, 'BackupBuckt', {
retentionPeriod: Duration.days(90),
});
// The following example runs a task every day at 4am
const backup = new S3CodeCommitBackup(this, 'S3CodeCommitBackup', {
backupBucket,
repository,
schedule: Schedule.cron({
minute: '0',
hour: '4',
}),
});
const backupTopic = new Topic(this, 'BackupTopic');
backupTopic.addSubscription(
new EmailSubscription(process.env.DEVSECOPS_TEAM_EMAIL as string),
);
backup.onBackupStarted('started', {
target: new SnsTopic(backupTopic),
});
backup.onBackupSucceeded('succeeded', {
target: new SnsTopic(backupTopic),
});
backup.onBackupFailed('failed', {
target: new SnsTopic(backupTopic),
});
}
}
API Reference
See API.md.
Example
See more complete examples.
License
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
Close
Hashes for cloudcomponents.cdk-codecommit-backup-1.48.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 184c97e2996c2e3796718dbe321e82e7914dd79a519fafd29ad400a18c6befef |
|
MD5 | 91bbe846c7311b46a48c0a59b89bd979 |
|
BLAKE2b-256 | 793343b08bbd3fc08b94c404a419d9f8427de817da67f02f92b412fd2123d4dd |
Close
Hashes for cloudcomponents.cdk_codecommit_backup-1.48.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89bb80e80cdd29987712569cdba4fde96e386b3a45edaf1d30bdaa3b27b75bda |
|
MD5 | 472ffe7c743d0cc807feaaee5036cddf |
|
BLAKE2b-256 | e223c765526d9019919f9eb27d3cac4096ec7c47fda8cdd777f82fb14cb6380a |