New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

cdk-efs-assets

Package Overview
Dependencies
Maintainers
1
Versions
205
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cdk-efs-assets - npm Package Compare versions

Comparing version 0.1.53 to 0.1.54

lambda-handler/github-sync/index.py

50

.projen/deps.json

@@ -5,3 +5,3 @@ {

"name": "@aws-cdk/assert",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "build"

@@ -98,3 +98,3 @@ },

"name": "@aws-cdk/aws-ec2",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "peer"

@@ -104,8 +104,13 @@ },

"name": "@aws-cdk/aws-efs",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "peer"
},
{
"name": "@aws-cdk/aws-events-targets",
"version": "^1.80.0",
"type": "peer"
},
{
"name": "@aws-cdk/aws-iam",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "peer"

@@ -115,8 +120,13 @@ },

"name": "@aws-cdk/aws-lambda",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "peer"
},
{
"name": "@aws-cdk/aws-s3",
"version": "^1.80.0",
"type": "peer"
},
{
"name": "@aws-cdk/aws-secretsmanager",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "peer"

@@ -126,3 +136,3 @@ },

"name": "@aws-cdk/core",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "peer"

@@ -132,3 +142,3 @@ },

"name": "@aws-cdk/custom-resources",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "peer"

@@ -143,3 +153,3 @@ },

"name": "@aws-cdk/aws-ec2",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "runtime"

@@ -149,8 +159,13 @@ },

"name": "@aws-cdk/aws-efs",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "runtime"
},
{
"name": "@aws-cdk/aws-events-targets",
"version": "^1.80.0",
"type": "runtime"
},
{
"name": "@aws-cdk/aws-iam",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "runtime"

@@ -160,8 +175,13 @@ },

"name": "@aws-cdk/aws-lambda",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "runtime"
},
{
"name": "@aws-cdk/aws-s3",
"version": "^1.80.0",
"type": "runtime"
},
{
"name": "@aws-cdk/aws-secretsmanager",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "runtime"

@@ -171,3 +191,3 @@ },

"name": "@aws-cdk/core",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "runtime"

@@ -177,3 +197,3 @@ },

"name": "@aws-cdk/custom-resources",
"version": "^1.77.0",
"version": "^1.80.0",
"type": "runtime"

@@ -180,0 +200,0 @@ }

@@ -8,2 +8,3 @@ # API Reference

[GithubSourceSync](#cdk-efs-assets-githubsourcesync)|*No description*
[S3ArchiveSync](#cdk-efs-assets-s3archivesync)|*No description*

@@ -15,3 +16,5 @@

----|-----------
[CommonEfsAssetsProps](#cdk-efs-assets-commonefsassetsprops)|*No description*
[GithubSourceFeederProps](#cdk-efs-assets-githubsourcefeederprops)|*No description*
[S3ArchiveFeederProps](#cdk-efs-assets-s3archivefeederprops)|*No description*

@@ -39,6 +42,37 @@

* **props** (<code>[GithubSourceFeederProps](#cdk-efs-assets-githubsourcefeederprops)</code>) *No description*
* **efsAccessPoint** (<code>[AccessPoint](#aws-cdk-aws-efs-accesspoint)</code>) The target Amazon EFS filesystem to clone the github repository to.
* **efsAccessPoint** (<code>[IAccessPoint](#aws-cdk-aws-efs-iaccesspoint)</code>) The target Amazon EFS filesystem to clone the github repository to.
* **vpc** (<code>[IVpc](#aws-cdk-aws-ec2-ivpc)</code>) The VPC of the Amazon EFS Filesystem.
* **runsAfter** (<code>Array<[IDependable](#aws-cdk-core-idependable)></code>) The dependent resources before triggering the sync. __*Optional*__
* **vpcSubnets** (<code>[SubnetSelection](#aws-cdk-aws-ec2-subnetselection)</code>) Where to place the network interfaces within the VPC. __*Optional*__
* **repository** (<code>string</code>) The github repository HTTP URI.
## class S3ArchiveSync <a id="cdk-efs-assets-s3archivesync"></a>
__Implements__: [IConstruct](#constructs-iconstruct), [IConstruct](#aws-cdk-core-iconstruct), [IConstruct](#constructs-iconstruct), [IDependable](#aws-cdk-core-idependable)
__Extends__: [Construct](#aws-cdk-core-construct)
### Initializer
```ts
new S3ArchiveSync(scope: Construct, id: string, props: S3ArchiveFeederProps)
```
* **scope** (<code>[Construct](#aws-cdk-core-construct)</code>) *No description*
* **id** (<code>string</code>) *No description*
* **props** (<code>[S3ArchiveFeederProps](#cdk-efs-assets-s3archivefeederprops)</code>) *No description*
* **efsAccessPoint** (<code>[IAccessPoint](#aws-cdk-aws-efs-iaccesspoint)</code>) The target Amazon EFS filesystem to clone the github repository to.
* **vpc** (<code>[IVpc](#aws-cdk-aws-ec2-ivpc)</code>) The VPC of the Amazon EFS Filesystem.
* **runsAfter** (<code>Array<[IDependable](#aws-cdk-core-idependable)></code>) The dependent resources before triggering the sync. __*Optional*__
* **vpcSubnets** (<code>[SubnetSelection](#aws-cdk-aws-ec2-subnetselection)</code>) Where to place the network interfaces within the VPC. __*Optional*__
* **bucket** (<code>[IBucket](#aws-cdk-aws-s3-ibucket)</code>) The S3 bucket containing the archive file.
* **zipFilePath** (<code>string</code>) The path of the zip file to extract in the S3 bucket.
* **syncOnUpdate** (<code>boolean</code>) If this is set to true, then whenever a new object is uploaded to the specified path, an EFS sync will be triggered. __*Optional*__

@@ -48,2 +82,18 @@

## struct CommonEfsAssetsProps <a id="cdk-efs-assets-commonefsassetsprops"></a>
Name | Type | Description
-----|------|-------------
**efsAccessPoint** | <code>[IAccessPoint](#aws-cdk-aws-efs-iaccesspoint)</code> | The target Amazon EFS filesystem to clone the github repository to.
**vpc** | <code>[IVpc](#aws-cdk-aws-ec2-ivpc)</code> | The VPC of the Amazon EFS Filesystem.
**runsAfter**? | <code>Array<[IDependable](#aws-cdk-core-idependable)></code> | The dependent resources before triggering the sync.<br/>__*Optional*__
**vpcSubnets**? | <code>[SubnetSelection](#aws-cdk-aws-ec2-subnetselection)</code> | Where to place the network interfaces within the VPC.<br/>__*Optional*__
## struct GithubSourceFeederProps <a id="cdk-efs-assets-githubsourcefeederprops"></a>

@@ -58,8 +108,28 @@

-----|------|-------------
**efsAccessPoint** | <code>[AccessPoint](#aws-cdk-aws-efs-accesspoint)</code> | The target Amazon EFS filesystem to clone the github repository to.
**efsAccessPoint** | <code>[IAccessPoint](#aws-cdk-aws-efs-iaccesspoint)</code> | The target Amazon EFS filesystem to clone the github repository to.
**repository** | <code>string</code> | The github repository HTTP URI.
**vpc** | <code>[IVpc](#aws-cdk-aws-ec2-ivpc)</code> | The VPC of the Amazon EFS Filesystem.
**runsAfter**? | <code>Array<[IDependable](#aws-cdk-core-idependable)></code> | The dependent resources before triggering the sync.<br/>__*Optional*__
**vpcSubnets**? | <code>[SubnetSelection](#aws-cdk-aws-ec2-subnetselection)</code> | Where to place the network interfaces within the VPC.<br/>__*Optional*__
## struct S3ArchiveFeederProps <a id="cdk-efs-assets-s3archivefeederprops"></a>
Name | Type | Description
-----|------|-------------
**bucket** | <code>[IBucket](#aws-cdk-aws-s3-ibucket)</code> | The S3 bucket containing the archive file.
**efsAccessPoint** | <code>[IAccessPoint](#aws-cdk-aws-efs-iaccesspoint)</code> | The target Amazon EFS filesystem to clone the github repository to.
**vpc** | <code>[IVpc](#aws-cdk-aws-ec2-ivpc)</code> | The VPC of the Amazon EFS Filesystem.
**zipFilePath** | <code>string</code> | The path of the zip file to extract in the S3 bucket.
**runsAfter**? | <code>Array<[IDependable](#aws-cdk-core-idependable)></code> | The dependent resources before triggering the sync.<br/>__*Optional*__
**syncOnUpdate**? | <code>boolean</code> | If this is set to true, then whenever a new object is uploaded to the specified path, an EFS sync will be triggered.<br/>__*Optional*__
**vpcSubnets**? | <code>[SubnetSelection](#aws-cdk-aws-ec2-subnetselection)</code> | Where to place the network interfaces within the VPC.<br/>__*Optional*__

@@ -5,2 +5,4 @@ # Changelog

### [0.1.54](https://github.com/pahud/cdk-efs-assets/compare/v0.1.53...v0.1.54) (2020-12-29)
### [0.1.53](https://github.com/pahud/cdk-efs-assets/compare/v0.1.52...v0.1.53) (2020-12-29)

@@ -7,0 +9,0 @@

@@ -1,41 +0,3 @@

import * as ec2 from '@aws-cdk/aws-ec2';
import * as efs from '@aws-cdk/aws-efs';
import * as cdk from '@aws-cdk/core';
/**
* @stability stable
*/
export interface GithubSourceFeederProps {
/**
* The target Amazon EFS filesystem to clone the github repository to.
*
* @stability stable
*/
readonly efsAccessPoint: efs.AccessPoint;
/**
* The VPC of the Amazon EFS Filesystem.
*
* @stability stable
*/
readonly vpc: ec2.IVpc;
/**
* The github repository HTTP URI.
*
* @stability stable
*/
readonly repository: string;
/**
* The dependent resources before triggering the sync.
*
* @stability stable
*/
readonly runsAfter?: cdk.IDependable[];
}
/**
* @stability stable
*/
export declare class GithubSourceSync extends cdk.Construct {
/**
* @stability stable
*/
constructor(scope: cdk.Construct, id: string, props: GithubSourceFeederProps);
}
export * from './common-props';
export * from './github-source-sync';
export * from './s3-archive-sync';
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GithubSourceSync = void 0;
const path = require("path");
const ec2 = require("@aws-cdk/aws-ec2");
const lambda = require("@aws-cdk/aws-lambda");
const cdk = require("@aws-cdk/core");
const cr = require("@aws-cdk/custom-resources");
/**
* @stability stable
*/
class GithubSourceSync extends cdk.Construct {
/**
* @stability stable
*/
constructor(scope, id, props) {
super(scope, id);
const stack = cdk.Stack.of(this);
const region = stack.region;
const handler = new lambda.Function(this, 'Handler', {
runtime: lambda.Runtime.PYTHON_3_8,
code: lambda.Code.fromAsset(path.join(__dirname, '../lambda-handler')),
handler: 'index.on_event',
layers: [
lambda.LayerVersion.fromLayerVersionArn(this, 'GitLayer', `arn:aws:lambda:${region}:553035198032:layer:git-lambda2:7`),
],
filesystem: lambda.FileSystem.fromEfsAccessPoint(props.efsAccessPoint, '/mnt/efsmount'),
vpcSubnets: {
subnetType: ec2.SubnetType.PRIVATE,
},
vpc: props.vpc,
memorySize: 512,
timeout: cdk.Duration.minutes(1),
environment: {
REPOSITORY_URI: props.repository,
MOUNT_TARGET: '/mnt/efsmount',
},
currentVersionOptions: {
provisionedConcurrentExecutions: 1,
},
});
// create a custom resource to trigger the sync
const myProvider = new cr.Provider(this, 'MyProvider', {
onEventHandler: handler,
});
new cdk.CustomResource(this, 'SyncTrigger', { serviceToken: myProvider.serviceToken });
// ensure the dependency
if (props.runsAfter) {
handler.node.addDependency(...props.runsAfter);
// triggerResource.node.addDependency(...props.runsAfter);
}
;
// handler.node.addDependency(props.efsAccessPoint);
// triggerResource.node.addDependency(props.efsAccessPoint);
}
}
exports.GithubSourceSync = GithubSourceSync;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBQzdCLHdDQUF3QztBQUV4Qyw4Q0FBOEM7QUFDOUMscUNBQXFDO0FBQ3JDLGdEQUFnRDs7OztBQXFCaEQsTUFBYSxnQkFBaUIsU0FBUSxHQUFHLENBQUMsU0FBUzs7OztJQUNqRCxZQUFZLEtBQW9CLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUU1QixNQUFNLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNuRCxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQ2xDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsTUFBTSxFQUFFO2dCQUNOLE1BQU0sQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsTUFBTSxtQ0FBbUMsQ0FBQzthQUN2SDtZQUNELFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDO1lBQ3ZGLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPO2FBQ25DO1lBQ0QsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsVUFBVSxFQUFFLEdBQUc7WUFDZixPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLFdBQVcsRUFBRTtnQkFDWCxjQUFjLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQ2hDLFlBQVksRUFBRSxlQUFlO2FBQzlCO1lBQ0QscUJBQXFCLEVBQUU7Z0JBQ3JCLCtCQUErQixFQUFFLENBQUM7YUFDbkM7U0FDRixDQUFDLENBQUM7UUFFSCwrQ0FBK0M7UUFDL0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDckQsY0FBYyxFQUFFLE9BQU87U0FDeEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFFdkYsd0JBQXdCO1FBQ3hCLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMvQywwREFBMEQ7U0FDM0Q7UUFBQSxDQUFDO1FBRUYsb0RBQW9EO1FBQ3BELDREQUE0RDtJQUM5RCxDQUFDO0NBQ0Y7QUE5Q0QsNENBOENDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tICdAYXdzLWNkay9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGVmcyBmcm9tICdAYXdzLWNkay9hd3MtZWZzJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdAYXdzLWNkay9hd3MtbGFtYmRhJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCAqIGFzIGNyIGZyb20gJ0Bhd3MtY2RrL2N1c3RvbS1yZXNvdXJjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdpdGh1YlNvdXJjZUZlZWRlclByb3BzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBlZnNBY2Nlc3NQb2ludDogZWZzLkFjY2Vzc1BvaW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcmVwb3NpdG9yeTogc3RyaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcnVuc0FmdGVyPzogY2RrLklEZXBlbmRhYmxlW107XG59XG5cbmV4cG9ydCBjbGFzcyBHaXRodWJTb3VyY2VTeW5jIGV4dGVuZHMgY2RrLkNvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogR2l0aHViU291cmNlRmVlZGVyUHJvcHMgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHN0YWNrID0gY2RrLlN0YWNrLm9mKHRoaXMpO1xuICAgIGNvbnN0IHJlZ2lvbiA9IHN0YWNrLnJlZ2lvbjtcblxuICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsICdIYW5kbGVyJywge1xuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfOCxcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vbGFtYmRhLWhhbmRsZXInKSksXG4gICAgICBoYW5kbGVyOiAnaW5kZXgub25fZXZlbnQnLFxuICAgICAgbGF5ZXJzOiBbXG4gICAgICAgIGxhbWJkYS5MYXllclZlcnNpb24uZnJvbUxheWVyVmVyc2lvbkFybih0aGlzLCAnR2l0TGF5ZXInLCBgYXJuOmF3czpsYW1iZGE6JHtyZWdpb259OjU1MzAzNTE5ODAzMjpsYXllcjpnaXQtbGFtYmRhMjo3YCksXG4gICAgICBdLFxuICAgICAgZmlsZXN5c3RlbTogbGFtYmRhLkZpbGVTeXN0ZW0uZnJvbUVmc0FjY2Vzc1BvaW50KHByb3BzLmVmc0FjY2Vzc1BvaW50LCAnL21udC9lZnNtb3VudCcpLFxuICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICBzdWJuZXRUeXBlOiBlYzIuU3VibmV0VHlwZS5QUklWQVRFLFxuICAgICAgfSxcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgbWVtb3J5U2l6ZTogNTEyLFxuICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBSRVBPU0lUT1JZX1VSSTogcHJvcHMucmVwb3NpdG9yeSxcbiAgICAgICAgTU9VTlRfVEFSR0VUOiAnL21udC9lZnNtb3VudCcsXG4gICAgICB9LFxuICAgICAgY3VycmVudFZlcnNpb25PcHRpb25zOiB7XG4gICAgICAgIHByb3Zpc2lvbmVkQ29uY3VycmVudEV4ZWN1dGlvbnM6IDEsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgLy8gY3JlYXRlIGEgY3VzdG9tIHJlc291cmNlIHRvIHRyaWdnZXIgdGhlIHN5bmNcbiAgICBjb25zdCBteVByb3ZpZGVyID0gbmV3IGNyLlByb3ZpZGVyKHRoaXMsICdNeVByb3ZpZGVyJywge1xuICAgICAgb25FdmVudEhhbmRsZXI6IGhhbmRsZXIsXG4gICAgfSk7XG5cbiAgICBuZXcgY2RrLkN1c3RvbVJlc291cmNlKHRoaXMsICdTeW5jVHJpZ2dlcicsIHsgc2VydmljZVRva2VuOiBteVByb3ZpZGVyLnNlcnZpY2VUb2tlbiB9KTtcblxuICAgIC8vIGVuc3VyZSB0aGUgZGVwZW5kZW5jeVxuICAgIGlmIChwcm9wcy5ydW5zQWZ0ZXIpIHtcbiAgICAgIGhhbmRsZXIubm9kZS5hZGREZXBlbmRlbmN5KC4uLnByb3BzLnJ1bnNBZnRlcik7XG4gICAgICAvLyB0cmlnZ2VyUmVzb3VyY2Uubm9kZS5hZGREZXBlbmRlbmN5KC4uLnByb3BzLnJ1bnNBZnRlcik7XG4gICAgfTtcblxuICAgIC8vIGhhbmRsZXIubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLmVmc0FjY2Vzc1BvaW50KTtcbiAgICAvLyB0cmlnZ2VyUmVzb3VyY2Uubm9kZS5hZGREZXBlbmRlbmN5KHByb3BzLmVmc0FjY2Vzc1BvaW50KTtcbiAgfVxufVxuIl19
__exportStar(require("./common-props"), exports);
__exportStar(require("./github-source-sync"), exports);
__exportStar(require("./s3-archive-sync"), exports);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsaURBQStCO0FBQy9CLHVEQUFxQztBQUNyQyxvREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1vbi1wcm9wcyc7XG5leHBvcnQgKiBmcm9tICcuL2dpdGh1Yi1zb3VyY2Utc3luYyc7XG5leHBvcnQgKiBmcm9tICcuL3MzLWFyY2hpdmUtc3luYyc7XG4iXX0=

@@ -6,4 +6,6 @@ "use strict";

const efs = require("@aws-cdk/aws-efs");
const aws_s3_1 = require("@aws-cdk/aws-s3");
const core_1 = require("@aws-cdk/core");
const _1 = require("./");
const github_source_sync_1 = require("./github-source-sync");
const s3_archive_sync_1 = require("./s3-archive-sync");
const AWS_DEFAULT_REGION = 'us-east-1';

@@ -24,2 +26,5 @@ class IntegTesting {

});
const bucket = new aws_s3_1.Bucket(stack, 'Bucket', {
bucketName: 'a-bucket',
});
const efsAccessPoint = fs.addAccessPoint('EfsAccessPoint', {

@@ -38,3 +43,3 @@ path: '/demo',

// create the one-time sync from Github repository to Amaozn EFS
new _1.GithubSourceSync(stack, 'GithubSourceSync', {
new github_source_sync_1.GithubSourceSync(stack, 'GithubSourceSync', {
repository: 'https://github.com/pahud/cdk-efs-assets.git',

@@ -45,5 +50,13 @@ efsAccessPoint,

});
// create the recurring sync from S3 Archive to Amazon EFS
new s3_archive_sync_1.S3ArchiveSync(stack, 'S3ArchiveSync', {
bucket: bucket,
zipFilePath: 'folder/foo.zip',
efsAccessPoint,
runsAfter: [fs.mountTargetsAvailable],
vpc,
syncOnUpdate: true,
});
this.stack = [stack];
}
;
}

@@ -53,2 +66,2 @@ exports.IntegTesting = IntegTesting;

new IntegTesting();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnRlZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdDQUF3QztBQUN4Qyx3Q0FBd0M7QUFDeEMsd0NBQTBEO0FBQzFELHlCQUFzQztBQUV0QyxNQUFNLGtCQUFrQixHQUFHLFdBQVcsQ0FBQztBQUV2QyxNQUFhLFlBQVk7SUFHdkI7O1FBQ0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFHLEVBQUUsQ0FBQztRQUV0QixNQUFNLEdBQUcsR0FBRztZQUNWLE1BQU0sUUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixtQ0FBSSxrQkFBa0I7WUFDNUQsT0FBTyxRQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLG1DQUFJLGFBQWE7U0FDMUQsQ0FBQztRQUVGLE1BQU0sS0FBSyxHQUFHLElBQUksWUFBSyxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFeEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRWxFLE1BQU0sRUFBRSxHQUFHLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFO1lBQ2pELEdBQUc7WUFDSCxhQUFhLEVBQUUsb0JBQWEsQ0FBQyxPQUFPO1NBQ3JDLENBQUMsQ0FBQztRQUVILE1BQU0sY0FBYyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUU7WUFDekQsSUFBSSxFQUFFLE9BQU87WUFDYixTQUFTLEVBQUU7Z0JBQ1QsUUFBUSxFQUFFLE1BQU07Z0JBQ2hCLFFBQVEsRUFBRSxNQUFNO2dCQUNoQixXQUFXLEVBQUUsTUFBTTthQUNwQjtZQUNELFNBQVMsRUFBRTtnQkFDVCxHQUFHLEVBQUUsTUFBTTtnQkFDWCxHQUFHLEVBQUUsTUFBTTthQUNaO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsZ0VBQWdFO1FBQ2hFLElBQUksbUJBQWdCLENBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFO1lBQzlDLFVBQVUsRUFBRSw2Q0FBNkM7WUFDekQsY0FBYztZQUNkLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNyQyxHQUFHO1NBQ0osQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFBQSxDQUFDO0NBQ0g7QUEzQ0Qsb0NBMkNDO0FBRUQsd0JBQXdCO0FBQ3hCLElBQUksWUFBWSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBlYzIgZnJvbSAnQGF3cy1jZGsvYXdzLWVjMic7XG5pbXBvcnQgKiBhcyBlZnMgZnJvbSAnQGF3cy1jZGsvYXdzLWVmcyc7XG5pbXBvcnQgeyBBcHAsIFN0YWNrLCBSZW1vdmFsUG9saWN5IH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgeyBHaXRodWJTb3VyY2VTeW5jIH0gZnJvbSAnLi8nO1xuXG5jb25zdCBBV1NfREVGQVVMVF9SRUdJT04gPSAndXMtZWFzdC0xJztcblxuZXhwb3J0IGNsYXNzIEludGVnVGVzdGluZyB7XG4gIHJlYWRvbmx5IHN0YWNrOiBTdGFja1tdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGNvbnN0IGFwcCA9IG5ldyBBcHAoKTtcblxuICAgIGNvbnN0IGVudiA9IHtcbiAgICAgIHJlZ2lvbjogcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfUkVHSU9OID8/IEFXU19ERUZBVUxUX1JFR0lPTixcbiAgICAgIGFjY291bnQ6IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX0FDQ09VTlQgPz8gJzExMTExMTExMTExJyxcbiAgICB9O1xuXG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgU3RhY2soYXBwLCAndGVzdGluZy1zdGFjazknLCB7IGVudiB9KTtcblxuICAgIGNvbnN0IHZwYyA9IGVjMi5WcGMuZnJvbUxvb2t1cChzdGFjaywgJ1ZwYycsIHsgaXNEZWZhdWx0OiB0cnVlIH0pO1xuXG4gICAgY29uc3QgZnMgPSBuZXcgZWZzLkZpbGVTeXN0ZW0oc3RhY2ssICdGaWxlc3lzdGVtJywge1xuICAgICAgdnBjLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZWZzQWNjZXNzUG9pbnQgPSBmcy5hZGRBY2Nlc3NQb2ludCgnRWZzQWNjZXNzUG9pbnQnLCB7XG4gICAgICBwYXRoOiAnL2RlbW8nLFxuICAgICAgY3JlYXRlQWNsOiB7XG4gICAgICAgIG93bmVyR2lkOiAnMTAwMScsXG4gICAgICAgIG93bmVyVWlkOiAnMTAwMScsXG4gICAgICAgIHBlcm1pc3Npb25zOiAnMDc1NScsXG4gICAgICB9LFxuICAgICAgcG9zaXhVc2VyOiB7XG4gICAgICAgIHVpZDogJzEwMDEnLFxuICAgICAgICBnaWQ6ICcxMDAxJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBjcmVhdGUgdGhlIG9uZS10aW1lIHN5bmMgZnJvbSBHaXRodWIgcmVwb3NpdG9yeSB0byBBbWFvem4gRUZTXG4gICAgbmV3IEdpdGh1YlNvdXJjZVN5bmMoc3RhY2ssICdHaXRodWJTb3VyY2VTeW5jJywge1xuICAgICAgcmVwb3NpdG9yeTogJ2h0dHBzOi8vZ2l0aHViLmNvbS9wYWh1ZC9jZGstZWZzLWFzc2V0cy5naXQnLFxuICAgICAgZWZzQWNjZXNzUG9pbnQsXG4gICAgICBydW5zQWZ0ZXI6IFtmcy5tb3VudFRhcmdldHNBdmFpbGFibGVdLFxuICAgICAgdnBjLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zdGFjayA9IFtzdGFja107XG4gIH07XG59XG5cbi8vIHJ1biB0aGUgaW50ZWcgdGVzdGluZ1xubmV3IEludGVnVGVzdGluZygpO1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcuZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbnRlZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdDQUF3QztBQUN4Qyx3Q0FBd0M7QUFDeEMsNENBQXlDO0FBQ3pDLHdDQUEwRDtBQUMxRCw2REFBd0Q7QUFDeEQsdURBQWtEO0FBRWxELE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDO0FBRXZDLE1BQWEsWUFBWTtJQUd2Qjs7UUFDRSxNQUFNLEdBQUcsR0FBRyxJQUFJLFVBQUcsRUFBRSxDQUFDO1FBRXRCLE1BQU0sR0FBRyxHQUFHO1lBQ1YsTUFBTSxRQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLG1DQUFJLGtCQUFrQjtZQUM1RCxPQUFPLFFBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsbUNBQUksYUFBYTtTQUMxRCxDQUFDO1FBRUYsTUFBTSxLQUFLLEdBQUcsSUFBSSxZQUFLLENBQUMsR0FBRyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUV4RCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFbEUsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUU7WUFDakQsR0FBRztZQUNILGFBQWEsRUFBRSxvQkFBYSxDQUFDLE9BQU87U0FDckMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRTtZQUN6QyxVQUFVLEVBQUUsVUFBVTtTQUN2QixDQUFDLENBQUM7UUFFSCxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFO1lBQ3pELElBQUksRUFBRSxPQUFPO1lBQ2IsU0FBUyxFQUFFO2dCQUNULFFBQVEsRUFBRSxNQUFNO2dCQUNoQixRQUFRLEVBQUUsTUFBTTtnQkFDaEIsV0FBVyxFQUFFLE1BQU07YUFDcEI7WUFDRCxTQUFTLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFLE1BQU07Z0JBQ1gsR0FBRyxFQUFFLE1BQU07YUFDWjtTQUNGLENBQUMsQ0FBQztRQUVILGdFQUFnRTtRQUNoRSxJQUFJLHFDQUFnQixDQUFDLEtBQUssRUFBRSxrQkFBa0IsRUFBRTtZQUM5QyxVQUFVLEVBQUUsNkNBQTZDO1lBQ3pELGNBQWM7WUFDZCxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUM7WUFDckMsR0FBRztTQUNKLENBQUMsQ0FBQztRQUVILDBEQUEwRDtRQUMxRCxJQUFJLCtCQUFhLENBQUMsS0FBSyxFQUFFLGVBQWUsRUFBRTtZQUN4QyxNQUFNLEVBQUUsTUFBTTtZQUNkLFdBQVcsRUFBRSxnQkFBZ0I7WUFDN0IsY0FBYztZQUNkLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNyQyxHQUFHO1lBQ0gsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQXpERCxvQ0F5REM7QUFFRCx3QkFBd0I7QUFDeEIsSUFBSSxZQUFZLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGVjMiBmcm9tICdAYXdzLWNkay9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGVmcyBmcm9tICdAYXdzLWNkay9hd3MtZWZzJztcbmltcG9ydCB7IEJ1Y2tldCB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1zMyc7XG5pbXBvcnQgeyBBcHAsIFN0YWNrLCBSZW1vdmFsUG9saWN5IH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgeyBHaXRodWJTb3VyY2VTeW5jIH0gZnJvbSAnLi9naXRodWItc291cmNlLXN5bmMnO1xuaW1wb3J0IHsgUzNBcmNoaXZlU3luYyB9IGZyb20gJy4vczMtYXJjaGl2ZS1zeW5jJztcblxuY29uc3QgQVdTX0RFRkFVTFRfUkVHSU9OID0gJ3VzLWVhc3QtMSc7XG5cbmV4cG9ydCBjbGFzcyBJbnRlZ1Rlc3Rpbmcge1xuICByZWFkb25seSBzdGFjazogU3RhY2tbXTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBjb25zdCBhcHAgPSBuZXcgQXBwKCk7XG5cbiAgICBjb25zdCBlbnYgPSB7XG4gICAgICByZWdpb246IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTiA/PyBBV1NfREVGQVVMVF9SRUdJT04sXG4gICAgICBhY2NvdW50OiBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9BQ0NPVU5UID8/ICcxMTExMTExMTExMScsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgJ3Rlc3Rpbmctc3RhY2s5JywgeyBlbnYgfSk7XG5cbiAgICBjb25zdCB2cGMgPSBlYzIuVnBjLmZyb21Mb29rdXAoc3RhY2ssICdWcGMnLCB7IGlzRGVmYXVsdDogdHJ1ZSB9KTtcblxuICAgIGNvbnN0IGZzID0gbmV3IGVmcy5GaWxlU3lzdGVtKHN0YWNrLCAnRmlsZXN5c3RlbScsIHtcbiAgICAgIHZwYyxcbiAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBCdWNrZXQoc3RhY2ssICdCdWNrZXQnLCB7XG4gICAgICBidWNrZXROYW1lOiAnYS1idWNrZXQnLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZWZzQWNjZXNzUG9pbnQgPSBmcy5hZGRBY2Nlc3NQb2ludCgnRWZzQWNjZXNzUG9pbnQnLCB7XG4gICAgICBwYXRoOiAnL2RlbW8nLFxuICAgICAgY3JlYXRlQWNsOiB7XG4gICAgICAgIG93bmVyR2lkOiAnMTAwMScsXG4gICAgICAgIG93bmVyVWlkOiAnMTAwMScsXG4gICAgICAgIHBlcm1pc3Npb25zOiAnMDc1NScsXG4gICAgICB9LFxuICAgICAgcG9zaXhVc2VyOiB7XG4gICAgICAgIHVpZDogJzEwMDEnLFxuICAgICAgICBnaWQ6ICcxMDAxJyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICAvLyBjcmVhdGUgdGhlIG9uZS10aW1lIHN5bmMgZnJvbSBHaXRodWIgcmVwb3NpdG9yeSB0byBBbWFvem4gRUZTXG4gICAgbmV3IEdpdGh1YlNvdXJjZVN5bmMoc3RhY2ssICdHaXRodWJTb3VyY2VTeW5jJywge1xuICAgICAgcmVwb3NpdG9yeTogJ2h0dHBzOi8vZ2l0aHViLmNvbS9wYWh1ZC9jZGstZWZzLWFzc2V0cy5naXQnLFxuICAgICAgZWZzQWNjZXNzUG9pbnQsXG4gICAgICBydW5zQWZ0ZXI6IFtmcy5tb3VudFRhcmdldHNBdmFpbGFibGVdLFxuICAgICAgdnBjLFxuICAgIH0pO1xuXG4gICAgLy8gY3JlYXRlIHRoZSByZWN1cnJpbmcgc3luYyBmcm9tIFMzIEFyY2hpdmUgdG8gQW1hem9uIEVGU1xuICAgIG5ldyBTM0FyY2hpdmVTeW5jKHN0YWNrLCAnUzNBcmNoaXZlU3luYycsIHtcbiAgICAgIGJ1Y2tldDogYnVja2V0LFxuICAgICAgemlwRmlsZVBhdGg6ICdmb2xkZXIvZm9vLnppcCcsXG4gICAgICBlZnNBY2Nlc3NQb2ludCxcbiAgICAgIHJ1bnNBZnRlcjogW2ZzLm1vdW50VGFyZ2V0c0F2YWlsYWJsZV0sXG4gICAgICB2cGMsXG4gICAgICBzeW5jT25VcGRhdGU6IHRydWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLnN0YWNrID0gW3N0YWNrXTtcbiAgfVxufVxuXG4vLyBydW4gdGhlIGludGVnIHRlc3Rpbmdcbm5ldyBJbnRlZ1Rlc3RpbmcoKTtcbiJdfQ==

@@ -33,3 +33,3 @@ {

"devDependencies": {
"@aws-cdk/assert": "^1.77.0",
"@aws-cdk/assert": "^1.80.0",
"@types/jest": "^26.0.19",

@@ -57,19 +57,23 @@ "@types/node": "^10.17.0",

"peerDependencies": {
"@aws-cdk/aws-ec2": "^1.77.0",
"@aws-cdk/aws-efs": "^1.77.0",
"@aws-cdk/aws-iam": "^1.77.0",
"@aws-cdk/aws-lambda": "^1.77.0",
"@aws-cdk/aws-secretsmanager": "^1.77.0",
"@aws-cdk/core": "^1.77.0",
"@aws-cdk/custom-resources": "^1.77.0",
"@aws-cdk/aws-ec2": "^1.80.0",
"@aws-cdk/aws-efs": "^1.80.0",
"@aws-cdk/aws-events-targets": "^1.80.0",
"@aws-cdk/aws-iam": "^1.80.0",
"@aws-cdk/aws-lambda": "^1.80.0",
"@aws-cdk/aws-s3": "^1.80.0",
"@aws-cdk/aws-secretsmanager": "^1.80.0",
"@aws-cdk/core": "^1.80.0",
"@aws-cdk/custom-resources": "^1.80.0",
"constructs": "^3.2.27"
},
"dependencies": {
"@aws-cdk/aws-ec2": "^1.77.0",
"@aws-cdk/aws-efs": "^1.77.0",
"@aws-cdk/aws-iam": "^1.77.0",
"@aws-cdk/aws-lambda": "^1.77.0",
"@aws-cdk/aws-secretsmanager": "^1.77.0",
"@aws-cdk/core": "^1.77.0",
"@aws-cdk/custom-resources": "^1.77.0"
"@aws-cdk/aws-ec2": "^1.80.0",
"@aws-cdk/aws-efs": "^1.80.0",
"@aws-cdk/aws-events-targets": "^1.80.0",
"@aws-cdk/aws-iam": "^1.80.0",
"@aws-cdk/aws-lambda": "^1.80.0",
"@aws-cdk/aws-s3": "^1.80.0",
"@aws-cdk/aws-secretsmanager": "^1.80.0",
"@aws-cdk/core": "^1.80.0",
"@aws-cdk/custom-resources": "^1.80.0"
},

@@ -85,3 +89,3 @@ "bundledDependencies": [],

"license": "Apache-2.0",
"version": "0.1.53",
"version": "0.1.54",
"jest": {

@@ -88,0 +92,0 @@ "clearMocks": true,

@@ -9,3 +9,2 @@ # cdk-efs-assets

## Sample

@@ -55,3 +54,56 @@

# `S3ArchiveSync`
The `S3ArchiveSync` deploys your Amazon EFS assets from a specified zip archive file stored in S3. The extracted contents will be placed into the root directory of the access point.
If the `syncOnUpdate` property is set to `true` (defaults to `true`), then the specified zip file path will be monitored, and if a new object is uploaded to the path, then it will resync the data to EFS. Note that to use this functionality, you must have a CloudTrail Trail in your account that captures the desired S3 write data event.
*WARNING*: The contents of the access point will be removed before extracting the zip file.
## Sample
```ts
import { S3ArchiveSync } from 'cdk-efs-assets';
const app = new App();
const env = {
region: process.env.CDK_DEFAULT_REGION ?? AWS_DEFAULT_REGION,
account: process.env.CDK_DEFAULT_ACCOUNT,
};
const stack = new Stack(app, 'testing-stack', { env });
const vpc = ec2.Vpc.fromLookup(stack, 'Vpc', { isDefault: true })
const fs = new efs.FileSystem(stack, 'Filesystem', {
vpc,
removalPolicy: RemovalPolicy.DESTROY,
})
const efsAccessPoint = fs.addAccessPoint('EfsAccessPoint', {
path: '/demo',
createAcl: {
ownerGid: '1001',
ownerUid: '1001',
permissions: '0755',
},
posixUser: {
uid: '1001',
gid: '1001',
}
});
const bucket = Bucket.fromBucketName(this, 'Bucket', 'demo-bucket');
// Will sync initial data from compressed S3 archive to EFS, and resync if the zip file in S3 changes
new S3ArchiveSync(this, 'S3ArchiveSync', {
bucket,
zipFilePath: 'folder/foo.zip',
vpc,
efsAccessPoint,
runsAfter: [fs.mountTargetsAvailable],
});
```
# `S3SourceSync`

@@ -62,2 +114,1 @@

{
"version": "0.1.53"
"version": "0.1.54"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc