Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neilkuan/cdk-cr-constructs
aws cdk library for custom resource constructs.
https://github.com/neilkuan/cdk-cr-constructs
Last synced: 10 days ago
JSON representation
aws cdk library for custom resource constructs.
- Host: GitHub
- URL: https://github.com/neilkuan/cdk-cr-constructs
- Owner: neilkuan
- License: apache-2.0
- Created: 2022-10-05T07:24:25.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-22T00:21:07.000Z (6 months ago)
- Last Synced: 2024-05-22T11:24:15.476Z (6 months ago)
- Language: TypeScript
- Size: 3.62 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## `cdk-cr-constructs`
This Construct is collect custom resource### Example for CustomResourceGetEIP
```ts
import { App, Stack, CfnOutput, Duration, aws_iam } from 'aws-cdk-lib';
import { CustomResourceGetEIP } from 'cdk-cr-constructs';
const env = {
region: process.env.CDK_DEFAULT_REGION,
account: process.env.CDK_DEFAULT_ACCOUNT,
};
const app = new App();
const stack = new Stack(app, 'testing-stack', { env });
const getIps = new CustomResourceGetEIP(stack, 'CustomResourceGetEIP', {
/**
* Discovery us-east-1 Elastic Ips.
*/
regions: ['us-east-1'],
/**
* Add Company Ips.
*/
companyIps: ['1.2.3.4'],
});
const role = new aws_iam.Role(stack, 'DemoRole', {
assumedBy: new aws_iam.AccountRootPrincipal(),
});
/**
* Example create an assume role, allow all action from ip address.
*/
role.addToPolicy(new aws_iam.PolicyStatement({
effect: aws_iam.Effect.ALLOW,
resources: ['*'],
actions: ['*'],
conditions: {
IpAddress: {
'aws:SourceIp': getIps.ipList(),
},
},
}));
```