open-index/open-npm huggingface dataset:
npm package: @gammarers/aws-budgets-notification
Description: AWS Budgets Notification
Author: yicr
Latest version: 1.2.77

# AWS Budgets Notification

[![GitHub](https://img.shields.io/github/license/gammarers/aws-budgets-notification?style=flat-square)](https://github.com/gammarers/aws-budgets-notification/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-budgets-notification?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-budgets-notification)
[![PyPI](https://img.shields.io/pypi/v/gammarers.aws-budgets-notification?style=flat-square)](https://pypi.org/project/gammarers.aws-budgets-notification/)
[![Nuget](https://img.shields.io/nuget/v/gammarers.CDK.AWS.BudgetNotification?style=flat-square)](https://www.nuget.org/packages/Gammarers.CDK.AWS.BudgetNotification/)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-budgets-notification/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-budgets-notification/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-budgets-notification?sort=semver&style=flat-square)](https://github.com/gammarers/aws-budgets-notification/releases)

[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-budgets-notification)](https://constructs.dev/packages/@gammarers/aws-budgets-notification)

A construct library for creating AWS Budgets Notification to Slack with the AWS CDK.

## Resources

This construct creating resource list.

- SNS Topic
- ChatBot SlackChannelConfiguration
- Budgets (linked account count or self)

## Install

### TypeScript

```shell
npm install @gammarers/aws-budgets-notification
# or
yarn add @gammarers/aws-budgets-notification
```

### Python

```shell
pip install gammarers.aws-budgets-notification
```

### C# / .NET

```shell
dotnet add package Gammarers.CDK.AWS.BudgetNotification
```

## Example

```typescript
import { BudgetsNotification } from '@gammarers/aws-budgets-notification';

new BudgetsNotification(stack, 'BudgetsNotification', {
  slackWorkspaceId: 'T0XXXX111', // already AWS account linked your Slack.
  slackChannelId: 'XXXXXXXX', // already created your slack channel.
  budgetLimitAmount: 50,
  // optional linked account list
  linkedAccounts: [
    '111111111111',
    '222222222222',
  ],
});

```

![example notification](./docs/slack-notification-image.png)


## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-cloudfront-access-log-relocater
Description: This AWS CDK construct modifies the storage format of CloudFront logs in S3 to make them easier to query with Athena and Glue. By enabling event notifications to EventBridge for logs generated by CloudFront, it detects their creation and uses a Step Funct
Author: yicr
Latest version: 0.1.64

# AWS CloudFront Access Log Relocater

[![GitHub](https://img.shields.io/github/license/gammarers/aws-cloudfront-access-log-relocater?style=flat-square)](https://github.com/gammarers/aws-cloudfront-access-log-relocater/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-cloudfront-access-log-relocater?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-cloudfront-access-log-relocater)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-cloudfront-access-log-relocater/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-cloudfront-access-log-relocater/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-cloudfront-access-log-relocater?sort=semver&style=flat-square)](https://github.com/gammarers/aws-cloudfront-access-log-relocater/releases)

[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-cloudfront-access-log-relocater)](https://constructs.dev/packages/@gammarers/aws-cloudfront-access-log-relocater)

This AWS CDK construct modifies the storage format of CloudFront logs in S3 to make them easier to query with Athena and Glue. By enabling event notifications to EventBridge for logs generated by CloudFront, it detects their creation and uses a Step Functions state machine to copy them to a specified S3 bucket (with a specified prefix) while also providing functionality to delete the original files.

## Install

### TypeScript

#### install by npm

```shell
npm install @gammarers/aws-cloudfront-access-log-relocater
```

#### install by yarn

```shell
yarn add @gammarers/aws-cloudfront-access-log-relocater
```

## Example

```typescript
import { CloudFrontAccessLogRelocater } from '@gammarers/aws-cloudfront-access-log-relocater';

declare const logBucket: s3.Bucket;

new CloudFrontAccessLogRelocater(stack, 'CloudFrontAccessLogRelocater', {
  accessLogSource: {
    bucket: logBucket,
    objectPrefix: 'origin-logs',
  },
  accessLogDestination: {
    bucket: logBucket,
    objectPrefix: 'partitioning-log',
  },
});

```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-daily-cost-usage-report-stack
Description: Cost & Usage Reports
Author: yicr
Latest version: 2.0.39

# AWS Daily Cost Usage Report Stack

[![GitHub](https://img.shields.io/github/license/gammarers/aws-daily-cost-usage-report-stack?style=flat-square)](https://github.com/gammarers/aws-daily-cost-usage-report-stack/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-daily-cost-usage-report-stack?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-daily-cost-usage-report-stack)
[![PyPI](https://img.shields.io/pypi/v/gammarers.aws-daily-cost-usage-report-stack?style=flat-square)](https://pypi.org/project/gammarers.aws-daily-cost-usage-report-stack/)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-daily-cost-usage-report-stack/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-daily-cost-usage-report-stack/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-daily-cost-usage-report-stack?sort=semver&style=flat-square)](https://github.com/gammarers/aws-daily-cost-usage-report-stack/releases)

AWS Cost And Usage report to Slack on daily 09:01.
- Report type
  - Services
    - This is Cost by AWS Services.
  - Accounts
    - This is Cost by Linked Account (when organization master account)

## Resources

This construct creating resource list.

- Lambda function execution role
- Lambda function
- EventBridge Scheduler execution role
- EventBridge Scheduler

## Install

### TypeScript

#### use by npm

```shell
npm install @gammarers/aws-daily-cost-usage-report-stack
```

#### use by yarn

```shell
yarn add @gammarers/aws-daily-cost-usage-report-stack
```

### Python

```shell
pip install gammarers.aws-daily-cost-usage-report-stack
```

## Example

```shell
npm install @gammarers/aws-daily-cost-usage-report-stack
```

```typescript
import { CostGroupType, DailyCostUsageReportStack } from '@gammarer/aws-daily-cost-usage-report-stack';

new DailyCostUsageReportStack(app, 'DailyCostUsageReportStack', {
  slackToken: 'xoxb-11111111111-XXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXX',
  slackChannel: 'example-channel',
  costGroupType: CostGroupType.SERVICES,
});

```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-frontend-web-app-deploy-stack
Description: This is an AWS CDK Construct to make deploying a Frontend Web App (SPA) deploy to S3 behind CloudFront.
Author: yicr
Latest version: 2.1.17

# AWS Frontend Web App Deploy Stack

[![GitHub](https://img.shields.io/github/license/gammarers/aws-frontend-web-app-deploy-stack?style=flat-square)](https://github.com/gammarers/aws-frontend-web-app-deploy-stack/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-frontend-web-app-deploy-stack?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-frontend-web-app-deploy-stack)
[![PyPI](https://img.shields.io/pypi/v/gammarers.aws-frontend-web-app-deploy-stack?style=flat-square)](https://pypi.org/project/gammarers.aws-frontend-web-app-deploy-stack/)
[![Nuget](https://img.shields.io/nuget/v/Gammarers.CDK.AWS.FrontendWebAppDeployStack?style=flat-square)](https://www.nuget.org/packages/Gammarers.CDK.AWS.FrontendWebAppDeployStack/)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-frontend-web-app-deploy-stack/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-frontend-web-app-deploy-stack/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-frontend-web-app-deploy-stack?sort=semver&style=flat-square)](https://github.com/gammarers/aws-frontend-web-app-deploy-stack/releases)

[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-frontend-web-app-deploy-stack)](https://constructs.dev/packages/@gammarers/aws-frontend-web-app-deploy-stack)

This is an AWS CDK Construct to make deploying a Frontend Web App (SPA) deploy to S3 behind CloudFront.

## Install

### TypeScript

#### install by npm

```shell
npm install @gammarers/aws-frontend-web-app-deploy-stack
```

#### install by yarn

```shell
yarn add @gammarers/aws-frontend-web-app-deploy-stack
```

#### install by pnpm

```shell
pnpm add @gammarers/aws-frontend-web-app-deploy-stack
```

#### install by bun

```shell
bun add @gammarers/aws-frontend-web-app-deploy-stack
```

### Python

```shell
pip install gammarers.aws-frontend-web-app-deploy-stack
```

### C# / .NET

```shell
dotnet add package Gammarers.CDK.AWS.FrontendWebAppDeployStack
```

## Example

```typescript
import { FrontendWebAppDeployStack } from '@gammarers/aws-frontend-web-app-deploy-stack';

new FrontendWebAppDeployStack(app, 'FrontendWebAppDeployStack', {
  env: { account: '012345678901', region: 'us-east-1' },
  domainName: 'example.com',
  hostedZoneId: 'Z0000000000000000000Q',
  originBucketName: 'frontend-web-app-example-origin-bucket', // new create in this stack
  deploySourceAssetPath: 'website/',
  logBucketArn: 'arn:aws:s3:::frontend-web-app-example-access-log-bucket', // already created
});

```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-log-stream-event-notification-stack
Description: This AWS CDK construct stack subscribes to a CloudWatch Logs log stream, and when a target log level is detected, it sends the log information to a Step Functions state machine via a Lambda function. The state machine processes and formats the log informa
Author: yicr
Latest version: 1.0.35

# AWS Log Stream Event Notification Stack

[![GitHub](https://img.shields.io/github/license/gammarers/aws-log-stream-event-notification-stack?style=flat-square)](https://github.com/gammarers/aws-log-stream-event-notification-stack/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-log-stream-event-notification-stack?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-log-stream-event-notification-stack)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-log-stream-event-notification-stack/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-log-stream-event-notification-stack/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-log-stream-event-notification-stack?sort=semver&style=flat-square)](https://github.com/gammarers/aws-log-stream-event-notification-stack/releases)

This AWS CDK construct stack subscribes to a CloudWatch Logs log stream, and when a target log level is detected, it sends the log information to a Step Functions state machine via a Lambda function. The state machine processes and formats the log information, then publishes a message to the target SNS topic. But CloudWatch Logs by a Node.js-based Lambda function only.

## Install

### TypeScript

#### install by npm

```shell
npm install @gammarers/aws-log-stream-event-notification-stack
```

#### install by yarn

```shell
yarn add @gammarers/aws-log-stream-event-notification-stack
```

## Example

```typescript
import { LogStreamEventNotificationStack } from '@gammarers/aws-log-stream-event-notification-stack';

new LogStreamEventNotificationStack(app, 'LogStreamEventNotificationStack');

```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-log-stream-event-notifier
Description: [![GitHub](https://img.shields.io/github/license/gammarers/aws-log-stream-event-notifier?style=flat-square)](https://github.com/gammarers/aws-log-stream-event-notifier/blob/main/LICENSE) [![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-log-str
Author: yicr
Latest version: 1.0.35

# AWS Log Stream Event Notifier

[![GitHub](https://img.shields.io/github/license/gammarers/aws-log-stream-event-notifier?style=flat-square)](https://github.com/gammarers/aws-log-stream-event-notifier/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-log-stream-event-notifier?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-log-stream-event-notifier)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-log-stream-event-notifier/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-log-stream-event-notifier/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-log-stream-event-notifier?sort=semver&style=flat-square)](https://github.com/gammarers/aws-log-stream-event-notifier/releases)

This AWS CDK Construct detects logs specified by a CloudWatch Logs subscription filter, parses them into JSON on the Lambda side, passes the parsed content to EventBridge, and routes it to a Step Functions state machine. The state machine then publishes the log content to SNS Topic.

## Install

### TypeScript

#### install by npm

```shell
npm install @gammarers/aws-log-stream-event-notifier
```

#### install by yarn

```shell
yarn add @gammarers/aws-log-stream-event-notifier
```

## Example

```typescript
import { LogStreamEventTrigger } from '@gammarers/aws-log-stream-event-notifier';

declare const notificationTopic: sns.Topic;
declare const requestFunction: lambda.Function;

new LogStreamEventNotifier(stack, 'LogStreamEventNotifier', {
  notificationTopic,
  requestFunction,
});

```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-log-stream-event-trigger
Description: [![GitHub](https://img.shields.io/github/license/gammarers/aws-log-stream-event-trigger?style=flat-square)](https://github.com/gammarers/aws-log-stream-event-trigger/blob/main/LICENSE) [![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-log-strea
Author: yicr
Latest version: 1.0.34

# AWS Log Stram Event Trigger

[![GitHub](https://img.shields.io/github/license/gammarers/aws-log-stream-event-trigger?style=flat-square)](https://github.com/gammarers/aws-log-stream-event-trigger/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-log-stream-event-trigger?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-log-stream-event-trigger)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-log-stream-event-trigger/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-log-stream-event-trigger/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-log-stream-event-trigger?sort=semver&style=flat-square)](https://github.com/gammarers/aws-log-stream-event-trigger/releases)

This AWS CDK Construct is a function that serves as a subscription destination for logs output to CloudWatch Logs by a Node.js-based Lambda function. It simply decompresses and parses the received logs as JSON, then outputs the result as a success action of the Lambda function.

## Install

### TypeScript

#### install by npm

```shell
npm install @gammarers/aws-log-stream-event-trigger
```

#### install by yarn

```shell
yarn add @gammarers/aws-log-stream-event-trigger
```

## Example

```typescript
import { LogStreamEventTrigger } from '@gammarers/aws-log-stream-event-trigger';

new LogStreamEventTrigger(stack, 'LogStreamEventTrigger');

```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-secure-frontend-web-app-cloudfront-distribution
Description: AWS CloudFront distribution for frontend web app (spa) optimized.
Author: yicr
Latest version: 2.1.16

# AWS Secure Frontend Web App CloudFront Distribution (for AWS CDK v2)

[![GitHub](https://img.shields.io/github/license/gammarers/aws-secure-frontend-web-app-cloudfront-distribution?style=flat-square)](https://github.com/gammarers/aws-secure-frontend-web-app-cloudfront-distribution/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-secure-frontend-web-app-cloudfront-distribution?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-secure-frontend-web-app-cloudfront-distribution)
[![PyPI](https://img.shields.io/pypi/v/gammarers.aws-secure-frontend-web-app-cloudfront-distribution?style=flat-square)](https://pypi.org/project/gammarers.aws-secure-frontend-web-app-cloudfront-distribution/)
[![Nuget](https://img.shields.io/nuget/v/Gammarers.CDK.AWS.SecureFrontendWebAppCloudFrontDistribution?style=flat-square)](https://www.nuget.org/packages/Gammarers.CDK.AWS.SecureFrontendWebAppCloudFrontDistribution/)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-secure-frontend-web-app-cloudfront-distribution/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-secure-frontend-web-app-cloudfront-distribution/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-secure-frontend-web-app-cloudfront-distribution?sort=semver&style=flat-square)](https://github.com/gammarers/aws-secure-frontend-web-app-cloudfront-distribution/releases)

[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-secure-frontend-web-app-cloudfront-distribution)](https://constructs.dev/packages/@gammarers/aws-secure-frontend-web-app-cloudfront-distribution)

AWS CloudFront distribution for frontend web app (spa) optimized.

## Install

### TypeScript

#### npm

```shell
npm install @gammarers/aws-secure-frontend-web-app-cloudfront-distribution
```

#### yarn

```shell
yarn add @gammarers/aws-secure-frontend-web-app-cloudfront-distribution
```

### Python

```shell
pip install gammarers.aws-secure-frontend-web-app-cloudfront-distribution
```

### C# / .NET

```shell
dotnet add package Gammarers.CDK.AWS.SecureFrontendWebAppCloudFrontDistribution
```

## Example

### for Origin Access Control

```typescript
import { SecureFrontendWebAppCloudFrontDistribution } from '@gammarers/aws-secure-frontend-web-app-cloudfront-distribution';

declare const originBucket: s3.Bucket;
declare const accessLogBucket: s3.Bucket;
declare const certificate: acm.Certificate;

new SecureFrontendWebAppCloudFrontDistribution(stack, 'SecureFrontendWebAppCloudFrontDistribution', {
  comment: 'frontend web app distribution.', // optional
  accessLogBucket: accessLogBucket, // optional
  certificate: certificate,
  distributionDomainName: 'example.com',
  originBucket: originBucket,
});
```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-secure-log-bucket
Description: secure multiple transition phases in a single lifecycle policy bucket.
Author: yicr
Latest version: 2.3.16

# AWS Secure Log Bucket

[![GitHub](https://img.shields.io/github/license/yicr/aws-secure-log-bucket?style=flat-square)](https://github.com/yicr/aws-secure-log-bucket/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-secure-log-bucket?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-secure-log-bucket)
[![PyPI](https://img.shields.io/pypi/v/gammarers.aws-secure-log-bucket?style=flat-square)](https://pypi.org/project/gammarers.aws-secure-log-bucket/)
[![Nuget](https://img.shields.io/nuget/v/Gammarers.CDK.AWS.SecureLogBucket?style=flat-square)](https://www.nuget.org/packages/Gammarers.CDK.AWS.SecureLogBucket/)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/yicr/aws-secure-log-bucket/release.yml?branch=main&label=release&style=flat-square)](https://github.com/yicr/aws-secure-log-bucket/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/yicr/aws-secure-log-bucket?sort=semver&style=flat-square)](https://github.com/yicr/aws-secure-log-bucket/releases)

[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-secure-log-bucket)](https://constructs.dev/packages/@gammarers/aws-secure-log-bucket)

secure multiple transition phases in a single lifecycle policy bucket.

## Lifecycle rule

The storage class will be changed with the following lifecycle configuration.

| Storage Class       | Default transition after days |
| ------------------- |------------------------------ |
| INFREQUENT_ACCESS   | 400 days                      |
| GLACIER             | 720 days                      |
| DEEP_ARCHIVE        | 980 days                      |

## Additional Properties

| **Name** | **Type** | **Default** | **Description** |
| --- | --- | --- | --- |
| logBucketType | SecureLogBucketType | SecureLogBucketType.NORMAL | The type of the bucket. Available types: NORMAL, VPC_FLOW_LOG |
| vpcFlowLog | VPCFlowLog | - | **⚠️ Deprecated**: This property is deprecated. Use the `logBucketType` property instead. Configuration for VPC Flow Log bucket settings. |

## Install

### TypeScript

#### install by npm

```shell
npm install @gammarers/aws-secure-log-bucket
```

#### install by yarn

```shell
yarn add @gammarers/aws-secure-log-bucket
```

### Python

```shell
pip install gammarers.aws-secure-log-bucket
```

### C# / .NET

```shell
dotnet add package Gammarers.CDK.AWS.SecureLogBucket
```

## Example

### Normal log Bucket

```typescript
import { SecureLogBucket } from '@gammarers/aws-secure-log-bucket';

new SecureLogBucket(stack, 'SecureLogBucket');
```

### VPC Flow Log Bucket

```typescript
import { SecureLogBucket } from '@gammarers/aws-secure-log-bucket';

new SecureLogBucket(stack, 'SecureFlowLogBucket', {
  logBucketType: SecureLogBucketType.VPC_FLOW_LOG,
  bucketObjectKeyPrefix: [
    'example-prefix-a',
    'example-prefix-b',
  ],
});
```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-secure-pipeline-artifact-bucket
Description: This S3 bucket is the artifact bucket used for CDK pipelines, created when the --qualifier option is specified during the CDK bootstrap process. If you specify the --qualifier option or explicitly define an artifact bucket for CDK pipelines, you need to c
Author: yicr
Latest version: 0.2.18
Deprecated: WARNING: This project has been merge to @gammarers/aws-secure-bucket. Install using @gammarers/aws-secure-bucket version v2.2.0 or later instead.

# AWS Secure Pipeline Artifact Bucket

This S3 bucket is the artifact bucket used for CDK pipelines, created when the --qualifier option is specified during the CDK bootstrap process. If you specify the --qualifier option or explicitly define an artifact bucket for CDK pipelines, you need to configure a policy that allows access to this bucket from the CDK deploy role.

## Install

### TypeScript

#### install by npm

```shell
npm install @gammarers/aws-secure-pipeline-artifact-bucket
```

#### install by yarn

```shell
yarn add @gammarers/aws-secure-pipeline-artifact-bucket
```

## Example

```typescript
import { SecurePipelineArtifactBucket } from '@gammarers/aws-secure-pipeline-artifact-bucket';

const bucket = new SecurePipelineArtifactBucket(stack, 'SecurePipelineArtifactBucket');
```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-secure-vpc-bucket
Description: Access from specific VPC Endpoint only Bucket
Author: yicr
Latest version: 1.4.68

# AWS Secure VPC Bucket

[![GitHub](https://img.shields.io/github/license/gammarers/aws-secure-vpc-bucket?style=flat-square)](https://github.com/gammarers/aws-secure-vpc-bucket/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-secure-vpc-bucket?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-secure-vpc-bucket)
[![PyPI](https://img.shields.io/pypi/v/gammarers.aws-secure-vpc-bucket?style=flat-square)](https://pypi.org/project/gammarers.aws-secure-vpc-bucket/)
[![Nuget](https://img.shields.io/nuget/v/Gammarers.CDK.AWS.SecureVpcBucket?style=flat-square)](https://www.nuget.org/packages/Gammarers.CDK.AWS.SecureVpcBucket/)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-secure-vpc-bucket/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-secure-vpc-bucket/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-secure-vpc-bucket?sort=semver&style=flat-square)](https://github.com/gammarers/aws-secure-vpc-bucket/releases)

[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-secure-vpc-bucket)](https://constructs.dev/packages/@gammarers/aws-secure-vpc-bucket)

Access from specific VPC Endpoint only Bucket

## Install

### TypeScript

```shell
npm install @gammarers/aws-secure-vpc-bucket
```
or
```shell
yarn add @gammarers/aws-secure-vpc-bucket
```
or
```shell
pnpm add @gammarers/aws-secure-vpc-bucket
```
or
```shell
bun add @gammarers/aws-secure-vpc-bucket
```

### Python

```shell
pip install gammarers.aws-secure-vpc-bucket
```

### C# / .NET

```shell
dotnet add package gammarers.CDK.AWS.SecureVpcBucket
```

## Example

```typescript
import { SecureSpecificVpcOnlyBucket } from '@gammarers/aws-secure-vpc-bucket';

new SecureVpcBucket(stack, 'SecureVpcBucket', {
  bucketName: 'example-origin-bucket',
  vpcEndpointId: 'vpce-0xxxxxxxxxxxxxxxx', // already created vpc endpoint id
});

```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-stepfunctions-execution-status-change-detection-event-rule
Description: This an AWS Step Functions execution status change detection event rule.
Author: yicr
Latest version: 1.1.28

# AWS Step Functions Execution Status Change Detection Event Rule

[![GitHub](https://img.shields.io/github/license/gammarers/aws-stepfunctions-execution-status-change-detection-event-rule?style=flat-square)](https://github.com/gammarers/aws-stepfunctions-execution-status-change-detection-event-rule/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-stepfunctions-execution-status-change-detection-event-rule?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-stepfunctions-execution-status-change-detection-event-rule)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-stepfunctions-execution-status-change-detection-event-rule/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-stepfunctions-execution-status-change-detection-event-rule/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-stepfunctions-execution-status-change-detection-event-rule?sort=semver&style=flat-square)](https://github.com/gammarers/aws-stepfunctions-execution-status-change-detection-event-rule/releases)

[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-stepfunctions-execution-status-change-detection-event-rule)](https://constructs.dev/packages/@gammarers/aws-stepfunctions-execution-status-change-detection-event-rule)

This an AWS Step Functions execution status change detection event rule.
default catch status is fail or timeout.

## Install

### TypeScript

#### install by npm

```shell
npm install @gammarers/aws-stepfunctions-execution-status-change-detection-event-rule
```

#### install by yarn

```shell
yarn add @gammarers/aws-stepfunctions-execution-status-change-detection-event-rule
```

## Example

### Code

```typescript
import { StepFunctionsExecutionStatusChangeDetectionEventRule } from '@gammarers/aws-stepfunctions-execution-status-change-detection-event-rule';

declare const handler: lambda.Function;

new StepFunctionsExecutionStatusChangeDetectionEventRule(stack, 'StepFunctionsExecutionStatusChangeDetectionEventRule', {
  targets: [
    new targets.LambdaFunction(handler),
  ],
});
```

# License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-stepfunctions-execution-status-change-notification-stack
Description: This AWS CDK Stack retrieves the status of Step Functions via EventBridge and sends notifications accordingly. Currently, it only detects and notifies when the status of any machine is either "Failed" or "TimeOut."
Author: yicr
Latest version: 2.0.5

# AWS Step Functions Execution Status Change Notification Stack

[![GitHub](https://img.shields.io/github/license/gammarers/aws-stepfunctions-execution-status-change-notification-stack?style=flat-square)](https://github.com/gammarers/aws-stepfunctions-execution-status-change-notification-stack/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-stepfunctions-execution-status-change-notification-stack?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-stepfunctions-execution-status-change-notification-stack)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-stepfunctions-execution-status-change-notification-stack/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-stepfunctions-execution-status-change-notification-stack/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-stepfunctions-execution-status-change-notification-stack?sort=semver&style=flat-square)](https://github.com/gammarers/aws-stepfunctions-execution-status-change-notification-stack/releases)

[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-stepfunctions-execution-status-change-notification-stack)](https://constructs.dev/packages/@gammarers/aws-stepfunctions-execution-status-change-notification-stack)

This AWS CDK Stack retrieves the status of Step Functions via EventBridge and sends notifications accordingly. Currently, it only detects and notifies when the status of any machine is either "Failed" or "TimeOut."

### TypeScript

#### install by npm

```shell
npm install @gammarers/aws-stepfunctions-execution-status-change-notification-stack
```

#### install by yarn

```shell
yarn add @gammarers/aws-stepfunctions-execution-status-change-notification-stack
```

## Example

### Code

```typescript
import { StepFunctionsExecutionStatusChangeNotificationStack } from '@gammarers/aws-stepfunctions-execution-status-change-notification-stack';

new StepFunctionsExecutionStatusChangeNotificationStack(app, 'StepFunctionsExecutionStatusChangeNotificationStack', {
  enableRule: true,
  notifications: {
    emails: [
      'foo@example.com',
      'bar@example.net',
    ],
  },
});
```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-transfer-custom-lambda-identity-provider
Description: This is a Simple Transfer AWS CDK Construct
Author: yicr
Latest version: 1.2.28

# AWS Transfer Custom Lambda Identity Provider

[![GitHub](https://img.shields.io/github/license/gammarers/aws-transfer-custom-lambda-identity-provider?style=flat-square)](https://github.com/gammarers/aws-transfer-custom-lambda-identity-provider/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-transfer-custom-lambda-identity-provider?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-transfer-custom-lambda-identity-provider)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-transfer-custom-lambda-identity-provider/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-transfer-custom-lambda-identity-provider/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-transfer-custom-lambda-identity-provider?sort=semver&style=flat-square)](https://github.com/gammarers/aws-transfer-custom-lambda-identity-provider/releases)

This is a Simple Transfer AWS CDK Construct

## Features

- [x] SFTP User password login (inclued ip restrict(ipv4,ipv6))
  - [x] testing implementetion
  - [ ] ested in an actual AWS environment
- [x] SFTP User password login (none ip restrict)
  - [x] testing implementetion
  - [ ] ested in an actual AWS environment
- [x] SFTP User public key authentication login (inclued ip restrict)
  - [x] testing implementetion
  - [ ] ested in an actual AWS environment
- [x] SFTP User public key authentication login (none ip restrict)
  - [x] testing implementetion
  - [ ] ested in an actual AWS environment
- [x] SFTP User's info from AWS SecretManager
  - [x] SecureString
    - [x] testing implementetion
    - [ ] ested in an actual AWS environment
  - [x] SecureBinary
    - [x] testing implementetion
    - [ ] ested in an actual AWS environment
- [x] FTP/S User's password login (inclued ip restrict)
  - [x] testing implementetion
  - [ ] ested in an actual AWS environment
- [x] HomeDirectoryDetails
  - [x] Logical home directory
  - [x] testing implementetion
  - [ ] ested in an actual AWS environment

### Other

- [ ] SecretManager layer
- [ ] Logging to JSON
- [x] disable output log in projen test

## Architecture

diagram

## Install

### TypeScript

```shell
npm install @gammarers/transfer-custom-lambda-identity-provider
```
or
```shell
yarn add @gammarers/transfer-custom-lambda-identity-provider
```

## Example

```shell
npm install @gammarers/transfer-custom-lambda-identity-provider
```

```typescript
import { TransferCustomLambdaIdentityProvider } from '@gammarers/aws-transfer-custom-lambda-identity-provider';

new TransferCustomLambdaIdentityProvider(stack, 'TransferCustomLambdaIdentityProvider');

```
npm package: @gammarers/aws-waf-geo-restrict-rule
Description: This is an AWS CDK Geo Restric Rule on WAF V2
Author: yicr
Latest version: 2.0.59

# AWS WAF(v2) GEO Restrict Rule

[![GitHub](https://img.shields.io/github/license/gammarers/aws-waf-geo-restrict-rule?style=flat-square)](https://github.com/gammarers/aws-waf-geo-restrict-rule/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-waf-geo-restrict-rule?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-waf-geo-restrict-rule)
[![PyPI](https://img.shields.io/pypi/v/gammarers.aws-waf-geo-restrict-rule?style=flat-square)](https://pypi.org/project/gammarers.aws-waf-geo-restrict-rule/)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-waf-geo-restrict-rule/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-waf-geo-restrict-rule/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-waf-geo-restrict-rule?sort=semver&style=flat-square)](https://github.com/gammarers/aws-waf-geo-restrict-rule/releases)

[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-waf-geo-restrict-rule)](https://constructs.dev/packages/@gammarers/aws-waf-geo-restrict-rule)

This is an AWS CDK WAF Geo Restrict Rule on WAF V2

## Install

### TypeScript

#### install by npm

```shell
npm install @gammarers/aws-waf-geo-restrict-rule
```

#### install by yarn

```shell
yarn add @gammarers/aws-waf-geo-restrict-rule
```

### Python

```shell
pip install gammarers.aws-waf-geo-restrict-rule
```

## Example

```typescript
import { WAFGeoRestrictRule } from '@gammarers/aws-waf-geo-restrict-rule';

const geoRestrictRule = new WAFGeoRestrictRule({
  allowCountries: ['JP'],
});

new wafv2.CfnWebACL(stack, 'WebACL', {
  defaultAction: { allow: {} },
  scope: 'CLOUD_FRONT',
  name: 'WebAclWithCustomRules',
  visibilityConfig: {
    cloudWatchMetricsEnabled: true,
    metricName: 'WebAclMetric',
    sampledRequestsEnabled: true,
  },
  rules: [
    geoRestrictRule.allowRule({
      priority: 1,
    }),
    geoRestrictRule.blockRule({
      priority: 2,
    }),
  ],
});

```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-waf-geo-restriction-rule-group
Description: This is an AWS CDK Construct for Geo Restriction Rule Group on WAF V2
Author: yicr
Latest version: 1.5.18
Deprecated: WARNING: This project has been renamed to @gammarers/aws-waf-geo-restrict-rule. Install using @gammarers/aws-waf-geo-restrict-rule instead.

# AWS WAF(v2) GEO Restriction Rule Group

[![GitHub](https://img.shields.io/github/license/gammarers/aws-waf-geo-restriction-rule-group?style=flat-square)](https://github.com/gammarers/aws-waf-geo-restriction-rule-group/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-waf-geo-restriction-rule-group?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-waf-geo-restriction-rule-group)
[![PyPI](https://img.shields.io/pypi/v/gammarers.aws-waf-geo-restriction-rule-group?style=flat-square)](https://pypi.org/project/gammarers.aws-waf-geo-restriction-rule-group/)
[![Nuget](https://img.shields.io/nuget/v/Gammarers.CDK.AWS.WafGeoRestrictionRuleGroup?style=flat-square)](https://www.nuget.org/packages/Gammarers.CDK.AWS.WafGeoRestrictionRuleGroup/)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-waf-geo-restriction-rule-group/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-waf-geo-restriction-rule-group/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-waf-geo-restriction-rule-group?sort=semver&style=flat-square)](https://github.com/gammarers/aws-waf-geo-restriction-rule-group/releases)

[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-waf-geo-restriction-rule-group)](https://constructs.dev/packages/@gammarers/aws-waf-geo-restriction-rule-group)

This is an AWS CDK Construct for Geo Restriction Rule Group on WAF V2

## Resources

This construct creating resource list.

- WAF V2 RuleGroup

## Install

### TypeScript

#### install by npm

```shell
npm install @gammarers/aws-waf-geo-restriction-rule-group
```

#### install by yarn

```shell
yarn add @gammarers/aws-waf-geo-restriction-rule-group
```

#### install by pnpm

```shell
pnpm add @gammarers/aws-waf-geo-restriction-rule-group
```

#### install by bun

```shell
bun add @gammarers/aws-waf-geo-restriction-rule-group
```

### Python

```shell
pip install gammarers.aws-waf-geo-restriction-rule-group
```

### C# / .Net

```shell
dotnet add package Gammarers.CDK.AWS.WafGeoRestrictionRuleGroup
```

## Example

```typescript
import { WafGeoRestrictRuleGroup } from '@gammarers/aws-waf-geo-restriction-rule-group';

new WafGeoRestrictRuleGroup(stack, 'WafGeoRestrictRuleGroup', {
  scope: Scope.GLOBAL, // GLOBAL(CloudFront) or REGIONAL(Application Load Balancer (ALB), Amazon API Gateway REST API, an AWS AppSync GraphQL API, or an Amazon Cognito user pool)
  allowCountries: ['JP'], // alpha-2 country and region codes from the International Organization for Standardization (ISO) 3166 standard
});

```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-waf-ip-rate-limit-rule
Description: This is an AWS CDK Rate Limit Rule on WAF V2.
Author: yicr
Latest version: 2.0.57

# AWS WAF(V2) IP Rete Limit Rule

[![GitHub](https://img.shields.io/github/license/gammarers/aws-waf-ip-rate-limit-rule?style=flat-square)](https://github.com/gammarers/aws-waf-ip-rate-limit-rule/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-waf-ip-rate-limit-rule?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-waf-ip-rate-limit-rule)
[![PyPI](https://img.shields.io/pypi/v/gammarers.aws-waf-ip-rate-limit-rule?style=flat-square)](https://pypi.org/project/gammarers.aws-waf-ip-rate-limit-rule/)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-waf-ip-rate-limit-rule/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-waf-ip-rate-limit-rule/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-waf-ip-rate-limit-rule?sort=semver&style=flat-square)](https://github.com/gammarers/aws-waf-ip-rate-limit-rule/releases)

[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-waf-ip-rate-limit-rule)](https://constructs.dev/packages/@gammarers/aws-waf-ip-rate-limit-rule)

This is an AWS CDK WAF IP Rate Limit Rule

## Resources

This construct creating resource list.

- WAF V2 RuleGroup

## Install

### TypeScript

#### install by npm

```shell
npm install @gammarers/aws-waf-ip-rate-limit-rule
```

#### install by yarn

```shell
yarn add @gammarers/aws-waf-ip-rate-limit-rule
```

### Python

```shell
pip install gammarers.aws-waf-ip-rate-limit-rule
```

## Example

```typescript
import { WAFIPRateLimitRule } from '@gammarers/aws-waf-ip-rate-limit-rule';

const ipRateLimitRule = new WAFIPRateLimitRule({
  rateLimit: 100,
});

new wafv2.CfnWebACL(stack, 'WebACL', {
  defaultAction: { allow: {} },
  scope: 'CLOUD_FRONT',
  name: 'WebAclWithCustomRules',
  visibilityConfig: {
    cloudWatchMetricsEnabled: true,
    metricName: 'WebAclMetric',
    sampledRequestsEnabled: true,
  },
  rules: [
    ipRateLimitRule.blockRule({
      priority: 1,
    }),
  ],
});
```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-waf-ip-restrict-rule
Description: This is an AWS CDK Construct for IP Restriction Rule on WAF V2
Author: yicr
Latest version: 2.1.54

# AWS WAF(V2) IP Restrict Rule

[![GitHub](https://img.shields.io/github/license/gammarers/aws-waf-ip-restrict-rule?style=flat-square)](https://github.com/gammarers/aws-waf-ip-restrict-rule/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/aws-waf-ip-restrict-rule?style=flat-square)](https://www.npmjs.com/package/@gammarers/aws-waf-ip-restrict-rule)
[![PyPI](https://img.shields.io/pypi/v/gammarers.aws-waf-ip-restrict-rule?style=flat-square)](https://pypi.org/project/gammarers.aws-waf-ip-restrict-rule/)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/aws-waf-ip-restrict-rule/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/aws-waf-ip-restrict-rule/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/aws-waf-ip-restrict-rule?sort=semver&style=flat-square)](https://github.com/gammarers/aws-waf-ip-restrict-rule/releases)

[![View on Construct Hub](https://constructs.dev/badge?package=@gammarers/aws-waf-ip-restrict-rule)](https://constructs.dev/packages/@gammarers/aws-waf-ip-restrict-rule)

This is an AWS CDK Construct for IP Restrict Rule on WAF V2

## Install

### TypeScript

#### install by npm

```shell
npm install @gammarers/aws-waf-ip-restrict-rule
```

#### install by yarn

```shell
yarn add @gammarers/aws-waf-ip-restrict-rule
```

### Python

```shell
pip install gammarers.aws-waf-ip-restrict-rule
```

## Example

```typescript
import { WAFIPRestrictRule } from '@gammarers/aws-waf-ip-restrict-rule';

const allowedIpSet = new wafv2.CfnIPSet(stack, 'AllowedIpSet', {
  addresses: [
    '203.0.113.0/24',
    '198.51.100.0/24',
  ],
  ipAddressVersion: 'IPV4',
  scope: 'CLOUDFRONT',
  name: 'AllowedIpSet',
});

const ipRestrictRule = new WAFIPRestrictRule({
  allowIPSetArn: allowedIpSet.attrArn,
});

new wafv2.CfnWebACL(stack, 'WebACL', {
  defaultAction: { allow: {} },
  scope: 'CLOUDFRONT',
  name: 'WebAclWithCustomRules',
  visibilityConfig: {
    cloudWatchMetricsEnabled: true,
    metricName: 'WebAclMetric',
    sampledRequestsEnabled: true,
  },
  rules: [
    ipRestrictRule.allowRule({ priority: 1 }),
    ipRestrictRule.blockRule({ priority: 2 }),
  ],
});

```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/aws-waf-managed-rules-set-web-acl
Description: This is an AWS CDK Construct for AWS Managed Rules Sets Web ACL on WAF V2.
Author: yicr
Latest version: 0.2.75

# AWS WAF(V2) Managed Rules Set Web ACL

This is an AWS CDK Construct for Rate Limit Rule on WAF V2.

## Resources

This construct creating resource list.

- WAF V2 Web ACL

## Install

### TypeScript

```shell
npm install @gammarers/aws-waf-managed-rules-set-web-acl
# or
yarn add @gammarers/aws-waf-managed-rules-set-web-acl
```

## Example

```typescript
import { ScopeType, WafManagedRulesSetWebACL } from '@gammarers/aws-waf-managed-rules-set-web-acl';

const webAcl = new WafManagedRulesSetWebACL(stack, 'WafManagedRulesSetWebACL', {
  scope: ScopeType.REGIONAL,
});

```

## License

This project is licensed under the Apache-2.0 License.
npm package: @gammarers/jest-aws-cdk-asset-filename-renamer
Description: this package is aws cdk construct asset filename replacer(RandomString.zip to HASH.zip)
Author: yicr
Latest version: 0.5.84

# Jest aws cdk asset filename renamer

[![GitHub](https://img.shields.io/github/license/gammarers/jest-aws-cdk-asset-filename-renamer?style=flat-square)](https://github.com/gammarers/jest-aws-cdk-asset-filename-renamer/blob/main/LICENSE)
[![npm (scoped)](https://img.shields.io/npm/v/@gammarers/jest-aws-cdk-asset-filename-renamer?style=flat-square)](https://www.npmjs.com/package/@gammarers/jest-aws-cdk-asset-filename-renamer)
[![GitHub Workflow Status (branch)](https://img.shields.io/github/actions/workflow/status/gammarers/jest-aws-cdk-asset-filename-renamer/release.yml?branch=main&label=release&style=flat-square)](https://github.com/gammarers/jest-aws-cdk-asset-filename-renamer/actions/workflows/release.yml)
[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/gammarers/jest-aws-cdk-asset-filename-renamer?sort=semver&style=flat-square)](https://github.com/gammarers/jest-aws-cdk-asset-filename-renamer/releases)

this package is aws cdk construct asset filename renaming(RandomString.zip to HASH.zip)

## Installation

```shell
npm install --save-dev @gammarers/jest-aws-cdk-asset-filename-renamer
```

## Usage
You need to tell Jest to use the serializer. Add this to your Jest config:

```json
"snapshotSerializers": [
  "<rootDir>/node_modules/@gammarers/jest-aws-cdk-asset-filename-renamer"
]
```
or add this projenrc.ts 
```typescript
  jestOptions: {
    jestConfig: {
      snapshotSerializers: ['<rootDir>/node_modules/@gammarers/jest-aws-cdk-asset-filename-renamer']
    }
  }
```

And your test.

```typescript
const stack = new Stack(app, 'TestStack');
new lambda.Function(stack, 'Function', {
    runtime: lambda.Runtime.NODEJS_22_X,
    code: lambda.Code.fromAsset(path.join(__dirname, '../asset/sample-func')),
    handler: 'index.lambda_handler',
});
const template = Template.fromStack(stack);
expect(template.toJSON()).toMatchSnapshot();
```