p6-cdk-namer 0.9.0 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +3 -3
- package/.vscode/settings.json +2 -1
- package/README.md +0 -1
- package/bin/visualize.ts +17 -0
- package/lib/p6namer.js +1 -1
- package/package.json +18 -5
- package/src/index.ts +1 -0
- package/src/p6namer.p6namer.ts +40 -0
- package/src/p6namer.ts +41 -0
- package/test/p6-namer.test.ts +23 -0
- package/tsconfig.json +35 -0
- package/.github/pull_request_template.md +0 -1
- package/.github/workflows/auto-approve.yml +0 -21
- package/.github/workflows/build.yml +0 -205
- package/.github/workflows/pull-request-lint.yml +0 -28
- package/.github/workflows/release.yml +0 -313
- package/.github/workflows/upgrade-main.yml +0 -91
- package/assets/bundle.css +0 -4
- package/assets/bundle.css.map +0 -1
- package/assets/cy-elements.json +0 -1
- package/assets/cy-styles.json +0 -1
- package/assets/diagram.dot +0 -100
- package/assets/diagram.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_A1-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C4-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C5-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C5n-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C6g-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D2-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D3-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D3en-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_DB-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_F1-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_G3-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_G4ad-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_H1-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_I3-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Instance_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M4-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M5-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M5a-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M5n-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M6g-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Mac-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P2-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P3-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P3dn-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P4-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P4d-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R4-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R5-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R5a-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R5n-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R6g-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T2-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T3-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T3a-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T4g-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Trainium-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_X1-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_X1e-Instance_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Containers/Res_48_Dark/Res_Amazon-Elastic-Container-Service_Container-1_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Containers/Res_48_Dark/Res_Amazon-Elastic-Container-Service_Service_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Containers/Res_48_Dark/Res_Amazon-Elastic-Container-Service_Task_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Machine-Learning/Res_48_Dark/Res_Amazon-Sagemaker_Model_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Management-Governance/Res_48_Dark/Res_AWS-System-Manager_Maintenance-Windows_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Management-Governance/Res_48_Dark/Res_AWS-Systems-Manager_Parameter-Store_48_Dark.png +0 -0
- package/assets/icons/aws/Resource/Res_Management-Governance/Res_48_Dark/Res_Amazon-Cloudwatch_Logs_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-Route-53-Hosted-Zone_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-Route-53_Route-Table_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-VPC_Customer-Gateway_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-VPC_Endpoints_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-VPC_Flow-Logs_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-VPC_Network-Access-Control-List_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-VPC_VPN-Connection_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Elastic-Load-Balancing_Application-Load-Balancer_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Security-Identity-and-Compliance/Res_48_Dark/Res_AWS-Identity-Access-Management_Permissions_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Resource/Res_Storage/Res_48_Dark/Res_Amazon-Elastic-Block-Store_Volume_48_Dark_gen.png +0 -0
- package/assets/icons/aws/Service/Arch_Analytics/Arch_64/Arch_AWS-Glue_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Analytics/Arch_64/Arch_Amazon-Elasticsearch-Service_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Analytics/Arch_64/Arch_Amazon-Kinesis_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_App-Integration/Arch_64/Arch_AWS-Simple-Notification-Service_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_App-Integration/Arch_64/Arch_AWS-Simple-Queue-Service_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_App-Integration/Arch_64/Arch_AWS-Step-Functions_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_App-Integration/Arch_64/Arch_Amazon-EventBridge_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Business-Applications/64/Arch_Amazon-Connect_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Compute/64/Arch_AWS-Elastic-Beanstalk_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Compute/64/Arch_AWS-Lambda_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Compute/64/Arch_Amazon-EC2-Auto-Scaling_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Compute/64/Arch_Amazon-Elastic-Container-Kubernetes_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Compute/64/Arch_Amazon-Elastic-Container-Registry_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Compute/64/Arch_Amazon-Elastic-Container-Service_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Cost-Management/64/Arch_AWS-Budgets_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Customer-Enagagement/64/Arch_AWS-Simple-Email-Service_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Database/64/Arch_Amazon-DynamoDB_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Database/64/Arch_Amazon-Neptune_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Database/64/Arch_Amazon-RDS_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Database/64/Arch_Amazon-Redshift_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Developer- Tools/64/Arch_AWS-CodeCommit_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Developer- Tools/64/Arch_AWS-CodeDeploy_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Developer- Tools/64/Arch_AWS-CodePipeline_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Developer- Tools/64/Arch_Amazon-CodeBuild_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Game-Tech/64/Arch_Amazon-GameLift_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Internet-of-Things/64/Arch_AWS-IoT-Greengrass-Core_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Machine-Learning/64/Arch_Amazon-Lex_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_AWS-CloudFormation_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_AWS-Config_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_AWS-OpsWorks_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_AWS-Service-Catalog_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_Amazon-CloudWatch_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Mobile/64/Arch_AWS-Amplify-Console_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Mobile/64/Arch_Amazon-Pinpoint_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_AWS-Global-Accelerator_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_AWS-Transit-Gateway_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_AWS-VPN_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_Amazon-API-Gateway_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_Amazon-CloudFront_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_Amazon-Virtual-Private-Cloud_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_Elastic-Load-Balancing_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Artifact_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Certificate-Manager_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Identity-and-Access-Management_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Key-Management-Services_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Secrets-Manager_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-WAF_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_Amazon-Cognito_64.png +0 -0
- package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_Amazon-Inspector_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_Amazon-Macie_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Storage/64/Arch_AWS-Backup_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Storage/64/Arch_AWS-Storage-Gateway_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Storage/64/Arch_Amazon-Elastic-File-System_64@5x.png +0 -0
- package/assets/icons/aws/Service/Arch_Storage/64/Arch_Amazon-S3-Standard_64@5x.png +0 -0
- package/assets/icons/aws/cloudwatch_metric_filter.png +0 -0
- package/assets/icons/aws/security_group.png +0 -0
- package/assets/index.html +0 -1
- package/assets/js/app.8e9fe77f.js +0 -39504
- package/assets/js/app.8e9fe77f.js.map +0 -1
- package/cdk.out/VisualizeStack.assets.json +0 -45
- package/cdk.out/VisualizeStack.template.json +0 -682
- package/cdk.out/asset.4583febb4fc03a1ff3d1375f3436b530bd38a188e3e2e8e8b3f3138176237c90/index.js +0 -1
- package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/cfn-response.js +0 -1
- package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/consts.js +0 -1
- package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/framework.js +0 -3
- package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/outbound.js +0 -1
- package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/util.js +0 -1
- package/cdk.out/cdk.out +0 -1
- package/cdk.out/manifest.json +0 -157
- package/cdk.out/tree.json +0 -490
- package/coverage/clover.xml +0 -25
- package/coverage/coverage-final.json +0 -3
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -131
- package/coverage/lcov-report/index.ts.html +0 -88
- package/coverage/lcov-report/p6namer.ts.html +0 -208
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov.info +0 -33
package/.jsii
CHANGED
|
@@ -3884,7 +3884,7 @@
|
|
|
3884
3884
|
},
|
|
3885
3885
|
"name": "p6-cdk-namer",
|
|
3886
3886
|
"readme": {
|
|
3887
|
-
"markdown": "AWS CDK setups up a Custom Resource via Cloud Formation which sets the AWS IAM Account Alias\n\n# P6Namer\n\n## LICENSE\n\n[](https://opensource.org/licenses/Apache-2.0)\n\n## Other\n\n[](https://gitpod.io/#https://github.com/p6m7g8/p6-cdk-namer)   \n\n## Usage\n\n```ts\n...\
|
|
3887
|
+
"markdown": "AWS CDK setups up a Custom Resource via Cloud Formation which sets the AWS IAM Account Alias\n\n# P6Namer\n\n## LICENSE\n\n[](https://opensource.org/licenses/Apache-2.0)\n\n## Other\n\n[](https://gitpod.io/#https://github.com/p6m7g8/p6-cdk-namer)   \n\n## Usage\n\n```ts\n...\nimport { P6Namer } from 'p6-cdk-namer';\n\nnew P6Namer(this, 'AccountAlias', {\n accountAlias: 'THE-ALIAS',\n});\n```\n\n## Architecture\n\n\n\n## Author\n\nPhilip M. Gollucci <pgollucci@p6m7g8.com>\n"
|
|
3888
3888
|
},
|
|
3889
3889
|
"repository": {
|
|
3890
3890
|
"type": "git",
|
|
@@ -3978,6 +3978,6 @@
|
|
|
3978
3978
|
"symbolId": "src/p6namer:P6Namer"
|
|
3979
3979
|
}
|
|
3980
3980
|
},
|
|
3981
|
-
"version": "0.9.
|
|
3982
|
-
"fingerprint": "
|
|
3981
|
+
"version": "0.9.2",
|
|
3982
|
+
"fingerprint": "PvTwrI1Wu1+3nGvh/8E6WlxiF1fqfqXexkMulYFsfeE="
|
|
3983
3983
|
}
|
package/.vscode/settings.json
CHANGED
package/README.md
CHANGED
package/bin/visualize.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Construct } from 'constructs'
|
|
2
|
+
import * as cdk from 'aws-cdk-lib'
|
|
3
|
+
import { P6Namer } from '../src/index'
|
|
4
|
+
|
|
5
|
+
class VisualizeStack extends cdk.Stack {
|
|
6
|
+
constructor(scope: Construct, id: string) {
|
|
7
|
+
super(scope, id)
|
|
8
|
+
|
|
9
|
+
new P6Namer(this, 'MyP6Namer', {
|
|
10
|
+
accountAlias: 'theAlias',
|
|
11
|
+
})
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
const app = new cdk.App()
|
|
16
|
+
new VisualizeStack(app, 'VisualizeStack')
|
|
17
|
+
app.synth()
|
package/lib/p6namer.js
CHANGED
|
@@ -31,7 +31,7 @@ const lambdajs = __importStar(require("aws-cdk-lib/aws-lambda-nodejs"));
|
|
|
31
31
|
const cr = __importStar(require("aws-cdk-lib/custom-resources"));
|
|
32
32
|
const floyd = __importStar(require("cdk-iam-floyd"));
|
|
33
33
|
class P6Namer extends cdk.Resource {
|
|
34
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "p6-cdk-namer.P6Namer", version: "0.9.
|
|
34
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "p6-cdk-namer.P6Namer", version: "0.9.2" };
|
|
35
35
|
constructor(scope, id, props) {
|
|
36
36
|
super(scope, id);
|
|
37
37
|
const policy = new floyd.Statement.Iam().allow().toCreateAccountAlias();
|
package/package.json
CHANGED
|
@@ -6,18 +6,31 @@
|
|
|
6
6
|
"url": "https://github.com/p6m7g8/p6-cdk-namer.git"
|
|
7
7
|
},
|
|
8
8
|
"scripts": {
|
|
9
|
-
"build": "pnpm run
|
|
9
|
+
"build": "pnpm run ci && pnpm run jsii:pacmak:parallel",
|
|
10
|
+
"ci": "pnpm run compile && pnpm run lint && pnpm run jsii:docgen && pnpm run test && pnpm run diagram:update",
|
|
10
11
|
"compile": "pnpm tsc:compile && pnpm run jsii:compile",
|
|
11
|
-
"diagram": "pnpm run
|
|
12
|
+
"diagram:run": "pnpm run diagram:update && pnpm run diagram:serve",
|
|
13
|
+
"diagram:update": "pnpm run synth && pnpm run diagram:png && pnpm run diagram:cytoscape",
|
|
12
14
|
"diagram:cytoscape": "pnpm cdk-dia --target-path assets --rendering cytoscape-html -- ts-node bin/visualize.ts",
|
|
13
15
|
"diagram:png": "pnpm cdk-dia --target-path assets/diagram.png -- ts-node bin/visualize.ts",
|
|
14
16
|
"diagram:serve": "pnpm http-server assets -o",
|
|
15
17
|
"jsii:compile": "pnpm jsii compile --verbose -c tsconfig.dev.json",
|
|
16
|
-
"jsii:pacmak:parallel": "pnpm jsii-pacmak --verbose --parallel --targets js,python,dotnet,java,go",
|
|
17
18
|
"jsii:docgen": "pnpm jsii-docgen -v -o API.md",
|
|
19
|
+
"jsii:pacmak:dotnet": "pnpm jsii-pacmak --verbose --targets dotnet",
|
|
20
|
+
"jsii:pacmak:go": "pnpm jsii-pacmak --verbose --targets go",
|
|
21
|
+
"jsii:pacmak:java": "pnpm jsii-pacmak --verbose --targets java",
|
|
22
|
+
"jsii:pacmak:js": "pnpm jsii-pacmak --verbose --targets js",
|
|
23
|
+
"jsii:pacmak:parallel": "pnpm jsii-pacmak --verbose --parallel --targets js,python,dotnet,java,go",
|
|
24
|
+
"jsii:pacmak:py": "pnpm jsii-pacmak --verbose --targets python",
|
|
18
25
|
"lint:fix": "eslint . --fix",
|
|
19
26
|
"lint": "eslint .",
|
|
20
|
-
"
|
|
27
|
+
"publish": "pnpm run build && pnpm run publish:js && pnpm run publish:py && pnpm run publish:java && pnpm run publish:dotnet && pnpm run publish:go",
|
|
28
|
+
"publish:dotnet": "pnpm publib-dotnet",
|
|
29
|
+
"publish:go": "pnpm publib-go",
|
|
30
|
+
"publish:java": "pnpm publib-java",
|
|
31
|
+
"publish:js": "pnpm publib-js",
|
|
32
|
+
"publish:py": "pnpm publib-py",
|
|
33
|
+
"synth": "pnpm cdk synth",
|
|
21
34
|
"test": "node --trace-deprecation ./node_modules/jest/bin/jest.js --config jest.config.js --coverage --updateSnapshot",
|
|
22
35
|
"test:watch": "node --trace-deprecation ./node_modules/jest/bin/jest.js --config jest.config.js --watch --coverage --updateSnapshot",
|
|
23
36
|
"tsc:compile": "pnpm tsc -p tsconfig.dev.json"
|
|
@@ -80,7 +93,7 @@
|
|
|
80
93
|
"main": "lib/index.js",
|
|
81
94
|
"types": "src/index.d.ts",
|
|
82
95
|
"license": "Apache-2.0",
|
|
83
|
-
"version": "0.9.
|
|
96
|
+
"version": "0.9.2",
|
|
84
97
|
"packageManager": "pnpm@9.12.2+sha512.22721b3a11f81661ae1ec68ce1a7b879425a1ca5b991c975b074ac220b187ce56c708fe5db69f4c962c989452eee76c82877f4ee80f474cebd61ee13461b6228",
|
|
85
98
|
"jsii": {
|
|
86
99
|
"outdir": "dist",
|
package/src/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './p6namer'
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Callback, Context, Handler } from 'aws-lambda'
|
|
2
|
+
import * as AWS from 'aws-sdk'
|
|
3
|
+
|
|
4
|
+
const iam: AWS.IAM = new AWS.IAM()
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
function p6_namer_iam_account_alias(alias: string): void {
|
|
10
|
+
const params: AWS.IAM.CreateAccountAliasRequest = {
|
|
11
|
+
AccountAlias: alias,
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
iam.createAccountAlias(params, (err: any, data: any) => {
|
|
15
|
+
if (err) {
|
|
16
|
+
console.log(err, err.stack)
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
console.log(data)
|
|
20
|
+
}
|
|
21
|
+
})
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @param event
|
|
27
|
+
* @param _context
|
|
28
|
+
* @param _callback
|
|
29
|
+
*/
|
|
30
|
+
const handler: Handler = (
|
|
31
|
+
event: AWS.IAM.CreateAccountAliasRequest,
|
|
32
|
+
_context: Context,
|
|
33
|
+
_callback: Callback,
|
|
34
|
+
) => {
|
|
35
|
+
console.log({ event })
|
|
36
|
+
|
|
37
|
+
p6_namer_iam_account_alias(event.AccountAlias)
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export { handler }
|
package/src/p6namer.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Construct } from 'constructs'
|
|
2
|
+
import * as cdk from 'aws-cdk-lib'
|
|
3
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda'
|
|
4
|
+
import * as lambdajs from 'aws-cdk-lib/aws-lambda-nodejs'
|
|
5
|
+
import * as cr from 'aws-cdk-lib/custom-resources'
|
|
6
|
+
import * as floyd from 'cdk-iam-floyd'
|
|
7
|
+
|
|
8
|
+
export interface IP6NamerProps {
|
|
9
|
+
accountAlias: string
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export class P6Namer extends cdk.Resource {
|
|
13
|
+
constructor(scope: Construct, id: string, props: IP6NamerProps) {
|
|
14
|
+
super(scope, id)
|
|
15
|
+
|
|
16
|
+
const policy = new floyd.Statement.Iam().allow().toCreateAccountAlias()
|
|
17
|
+
|
|
18
|
+
const onEvent = new lambdajs.NodejsFunction(this, 'p6namer', {
|
|
19
|
+
runtime: lambda.Runtime.NODEJS_20_X,
|
|
20
|
+
timeout: cdk.Duration.seconds(2),
|
|
21
|
+
tracing: lambda.Tracing.ACTIVE,
|
|
22
|
+
bundling: {
|
|
23
|
+
minify: true,
|
|
24
|
+
externalModules: ['aws-sdk'],
|
|
25
|
+
},
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
onEvent.addToRolePolicy(policy)
|
|
29
|
+
|
|
30
|
+
const provider = new cr.Provider(this, 'P6Namer/Provider', {
|
|
31
|
+
onEventHandler: onEvent,
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
new cdk.CustomResource(this, 'P6Namer/CR', {
|
|
35
|
+
serviceToken: provider.serviceToken,
|
|
36
|
+
properties: {
|
|
37
|
+
AccountAlias: props.accountAlias,
|
|
38
|
+
},
|
|
39
|
+
})
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib'
|
|
2
|
+
import { Template } from 'aws-cdk-lib/assertions'
|
|
3
|
+
|
|
4
|
+
import { P6Namer } from '../src'
|
|
5
|
+
|
|
6
|
+
it('p6Namer components', () => {
|
|
7
|
+
// GIVEN
|
|
8
|
+
const app = new cdk.App()
|
|
9
|
+
const stack = new cdk.Stack(app, 'MyStack')
|
|
10
|
+
|
|
11
|
+
// WHEN
|
|
12
|
+
new P6Namer(stack, 'p6-cdk-namer', {
|
|
13
|
+
accountAlias: 'theAlias',
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
// THEN
|
|
17
|
+
const template = Template.fromStack(stack)
|
|
18
|
+
template.hasResourceProperties('AWS::Lambda::Function', {
|
|
19
|
+
Handler: 'index.handler',
|
|
20
|
+
Runtime: 'nodejs20.x',
|
|
21
|
+
})
|
|
22
|
+
template.resourceCountIs('AWS::Lambda::Function', 2) // Custom Resource Handler counts too
|
|
23
|
+
})
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"rootDir": "src",
|
|
4
|
+
"outDir": "lib",
|
|
5
|
+
"alwaysStrict": true,
|
|
6
|
+
"declaration": true,
|
|
7
|
+
"esModuleInterop": true,
|
|
8
|
+
"experimentalDecorators": true,
|
|
9
|
+
"inlineSourceMap": true,
|
|
10
|
+
"inlineSources": true,
|
|
11
|
+
"lib": [
|
|
12
|
+
"es2019"
|
|
13
|
+
],
|
|
14
|
+
"module": "CommonJS",
|
|
15
|
+
"noEmitOnError": false,
|
|
16
|
+
"noFallthroughCasesInSwitch": true,
|
|
17
|
+
"noImplicitAny": true,
|
|
18
|
+
"noImplicitReturns": true,
|
|
19
|
+
"noImplicitThis": true,
|
|
20
|
+
"noUnusedLocals": true,
|
|
21
|
+
"noUnusedParameters": true,
|
|
22
|
+
"resolveJsonModule": true,
|
|
23
|
+
"strict": true,
|
|
24
|
+
"strictNullChecks": true,
|
|
25
|
+
"strictPropertyInitialization": true,
|
|
26
|
+
"stripInternal": true,
|
|
27
|
+
"target": "ES2019"
|
|
28
|
+
},
|
|
29
|
+
"include": [
|
|
30
|
+
"src/**/*.ts"
|
|
31
|
+
],
|
|
32
|
+
"exclude": [
|
|
33
|
+
"cdk.out"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
Fixes #
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
|
2
|
-
|
|
3
|
-
name: auto-approve
|
|
4
|
-
on:
|
|
5
|
-
pull_request_target:
|
|
6
|
-
types:
|
|
7
|
-
- labeled
|
|
8
|
-
- opened
|
|
9
|
-
- synchronize
|
|
10
|
-
- reopened
|
|
11
|
-
- ready_for_review
|
|
12
|
-
jobs:
|
|
13
|
-
approve:
|
|
14
|
-
runs-on: ubuntu-latest
|
|
15
|
-
permissions:
|
|
16
|
-
pull-requests: write
|
|
17
|
-
if: contains(github.event.pull_request.labels.*.name, 'auto-approve') && (github.event.pull_request.user.login == 'p6m7g8-automation')
|
|
18
|
-
steps:
|
|
19
|
-
- uses: hmarr/auto-approve-action@v2.1.0
|
|
20
|
-
with:
|
|
21
|
-
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
|
2
|
-
|
|
3
|
-
name: build
|
|
4
|
-
on:
|
|
5
|
-
pull_request: {}
|
|
6
|
-
workflow_dispatch: {}
|
|
7
|
-
jobs:
|
|
8
|
-
build:
|
|
9
|
-
runs-on: ubuntu-latest
|
|
10
|
-
permissions:
|
|
11
|
-
contents: write
|
|
12
|
-
outputs:
|
|
13
|
-
self_mutation_happened: ${{ steps.self_mutation.outputs.self_mutation_happened }}
|
|
14
|
-
env:
|
|
15
|
-
CI: "true"
|
|
16
|
-
steps:
|
|
17
|
-
- name: Checkout
|
|
18
|
-
uses: actions/checkout@v2
|
|
19
|
-
with:
|
|
20
|
-
ref: ${{ github.event.pull_request.head.ref }}
|
|
21
|
-
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
22
|
-
- name: Install dependencies
|
|
23
|
-
run: yarn install --check-files
|
|
24
|
-
- name: build
|
|
25
|
-
run: npx projen build
|
|
26
|
-
- name: Upload coverage to Codecov
|
|
27
|
-
uses: codecov/codecov-action@v1
|
|
28
|
-
with:
|
|
29
|
-
directory: coverage
|
|
30
|
-
- id: self_mutation
|
|
31
|
-
name: Find mutations
|
|
32
|
-
run: |-
|
|
33
|
-
git add .
|
|
34
|
-
git diff --staged --patch --exit-code > .repo.patch || echo "::set-output name=self_mutation_happened::true"
|
|
35
|
-
- if: steps.self_mutation.outputs.self_mutation_happened
|
|
36
|
-
name: Upload patch
|
|
37
|
-
uses: actions/upload-artifact@v2
|
|
38
|
-
with:
|
|
39
|
-
name: .repo.patch
|
|
40
|
-
path: .repo.patch
|
|
41
|
-
- name: Fail build on mutation
|
|
42
|
-
if: steps.self_mutation.outputs.self_mutation_happened
|
|
43
|
-
run: |-
|
|
44
|
-
echo "::error::Files were changed during build (see build log). If this was triggered from a fork, you will need to update your branch."
|
|
45
|
-
cat .repo.patch
|
|
46
|
-
exit 1
|
|
47
|
-
- name: Upload artifact
|
|
48
|
-
uses: actions/upload-artifact@v2.1.1
|
|
49
|
-
with:
|
|
50
|
-
name: build-artifact
|
|
51
|
-
path: dist
|
|
52
|
-
container:
|
|
53
|
-
image: jsii/superchain:1-buster-slim-node14
|
|
54
|
-
self-mutation:
|
|
55
|
-
needs: build
|
|
56
|
-
runs-on: ubuntu-latest
|
|
57
|
-
permissions:
|
|
58
|
-
contents: write
|
|
59
|
-
if: always() && needs.build.outputs.self_mutation_happened && !(github.event.pull_request.head.repo.full_name != github.repository)
|
|
60
|
-
steps:
|
|
61
|
-
- name: Checkout
|
|
62
|
-
uses: actions/checkout@v2
|
|
63
|
-
with:
|
|
64
|
-
token: ${{ secrets.PROJEN_GITHUB_TOKEN }}
|
|
65
|
-
ref: ${{ github.event.pull_request.head.ref }}
|
|
66
|
-
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
|
67
|
-
- name: Download patch
|
|
68
|
-
uses: actions/download-artifact@v2
|
|
69
|
-
with:
|
|
70
|
-
name: .repo.patch
|
|
71
|
-
path: ${{ runner.temp }}
|
|
72
|
-
- name: Apply patch
|
|
73
|
-
run: '[ -s ${{ runner.temp }}/.repo.patch ] && git apply ${{ runner.temp }}/.repo.patch || echo "Empty patch. Skipping."'
|
|
74
|
-
- name: Set git identity
|
|
75
|
-
run: |-
|
|
76
|
-
git config user.name "github-actions"
|
|
77
|
-
git config user.email "github-actions@github.com"
|
|
78
|
-
- name: Push changes
|
|
79
|
-
run: |2-
|
|
80
|
-
git add .
|
|
81
|
-
git commit -s -m "chore: self mutation"
|
|
82
|
-
git push origin HEAD:${{ github.event.pull_request.head.ref }}
|
|
83
|
-
package-js:
|
|
84
|
-
needs: build
|
|
85
|
-
runs-on: ubuntu-latest
|
|
86
|
-
permissions: {}
|
|
87
|
-
if: "! needs.build.outputs.self_mutation_happened"
|
|
88
|
-
steps:
|
|
89
|
-
- uses: actions/setup-node@v2
|
|
90
|
-
with:
|
|
91
|
-
node-version: 14.x
|
|
92
|
-
- name: Download build artifacts
|
|
93
|
-
uses: actions/download-artifact@v2
|
|
94
|
-
with:
|
|
95
|
-
name: build-artifact
|
|
96
|
-
path: dist
|
|
97
|
-
- name: Prepare Repository
|
|
98
|
-
run: mv dist .repo
|
|
99
|
-
- name: Install Dependencies
|
|
100
|
-
run: cd .repo && yarn install --check-files --frozen-lockfile
|
|
101
|
-
- name: Create js artifact
|
|
102
|
-
run: cd .repo && npx projen package:js
|
|
103
|
-
- name: Collect js Artifact
|
|
104
|
-
run: mv .repo/dist dist
|
|
105
|
-
package-java:
|
|
106
|
-
needs: build
|
|
107
|
-
runs-on: ubuntu-latest
|
|
108
|
-
permissions: {}
|
|
109
|
-
if: "! needs.build.outputs.self_mutation_happened"
|
|
110
|
-
steps:
|
|
111
|
-
- uses: actions/setup-java@v2
|
|
112
|
-
with:
|
|
113
|
-
distribution: temurin
|
|
114
|
-
java-version: 11.x
|
|
115
|
-
- uses: actions/setup-node@v2
|
|
116
|
-
with:
|
|
117
|
-
node-version: 14.x
|
|
118
|
-
- name: Download build artifacts
|
|
119
|
-
uses: actions/download-artifact@v2
|
|
120
|
-
with:
|
|
121
|
-
name: build-artifact
|
|
122
|
-
path: dist
|
|
123
|
-
- name: Prepare Repository
|
|
124
|
-
run: mv dist .repo
|
|
125
|
-
- name: Install Dependencies
|
|
126
|
-
run: cd .repo && yarn install --check-files --frozen-lockfile
|
|
127
|
-
- name: Create java artifact
|
|
128
|
-
run: cd .repo && npx projen package:java
|
|
129
|
-
- name: Collect java Artifact
|
|
130
|
-
run: mv .repo/dist dist
|
|
131
|
-
package-python:
|
|
132
|
-
needs: build
|
|
133
|
-
runs-on: ubuntu-latest
|
|
134
|
-
permissions: {}
|
|
135
|
-
if: "! needs.build.outputs.self_mutation_happened"
|
|
136
|
-
steps:
|
|
137
|
-
- uses: actions/setup-node@v2
|
|
138
|
-
with:
|
|
139
|
-
node-version: 14.x
|
|
140
|
-
- uses: actions/setup-python@v2
|
|
141
|
-
with:
|
|
142
|
-
python-version: 3.x
|
|
143
|
-
- name: Download build artifacts
|
|
144
|
-
uses: actions/download-artifact@v2
|
|
145
|
-
with:
|
|
146
|
-
name: build-artifact
|
|
147
|
-
path: dist
|
|
148
|
-
- name: Prepare Repository
|
|
149
|
-
run: mv dist .repo
|
|
150
|
-
- name: Install Dependencies
|
|
151
|
-
run: cd .repo && yarn install --check-files --frozen-lockfile
|
|
152
|
-
- name: Create python artifact
|
|
153
|
-
run: cd .repo && npx projen package:python
|
|
154
|
-
- name: Collect python Artifact
|
|
155
|
-
run: mv .repo/dist dist
|
|
156
|
-
package-dotnet:
|
|
157
|
-
needs: build
|
|
158
|
-
runs-on: ubuntu-latest
|
|
159
|
-
permissions: {}
|
|
160
|
-
if: "! needs.build.outputs.self_mutation_happened"
|
|
161
|
-
steps:
|
|
162
|
-
- uses: actions/setup-node@v2
|
|
163
|
-
with:
|
|
164
|
-
node-version: 14.x
|
|
165
|
-
- uses: actions/setup-dotnet@v1
|
|
166
|
-
with:
|
|
167
|
-
dotnet-version: 3.x
|
|
168
|
-
- name: Download build artifacts
|
|
169
|
-
uses: actions/download-artifact@v2
|
|
170
|
-
with:
|
|
171
|
-
name: build-artifact
|
|
172
|
-
path: dist
|
|
173
|
-
- name: Prepare Repository
|
|
174
|
-
run: mv dist .repo
|
|
175
|
-
- name: Install Dependencies
|
|
176
|
-
run: cd .repo && yarn install --check-files --frozen-lockfile
|
|
177
|
-
- name: Create dotnet artifact
|
|
178
|
-
run: cd .repo && npx projen package:dotnet
|
|
179
|
-
- name: Collect dotnet Artifact
|
|
180
|
-
run: mv .repo/dist dist
|
|
181
|
-
package-go:
|
|
182
|
-
needs: build
|
|
183
|
-
runs-on: ubuntu-latest
|
|
184
|
-
permissions: {}
|
|
185
|
-
if: "! needs.build.outputs.self_mutation_happened"
|
|
186
|
-
steps:
|
|
187
|
-
- uses: actions/setup-node@v2
|
|
188
|
-
with:
|
|
189
|
-
node-version: 14.x
|
|
190
|
-
- uses: actions/setup-go@v2
|
|
191
|
-
with:
|
|
192
|
-
go-version: ^1.16.0
|
|
193
|
-
- name: Download build artifacts
|
|
194
|
-
uses: actions/download-artifact@v2
|
|
195
|
-
with:
|
|
196
|
-
name: build-artifact
|
|
197
|
-
path: dist
|
|
198
|
-
- name: Prepare Repository
|
|
199
|
-
run: mv dist .repo
|
|
200
|
-
- name: Install Dependencies
|
|
201
|
-
run: cd .repo && yarn install --check-files --frozen-lockfile
|
|
202
|
-
- name: Create go artifact
|
|
203
|
-
run: cd .repo && npx projen package:go
|
|
204
|
-
- name: Collect go Artifact
|
|
205
|
-
run: mv .repo/dist dist
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
|
2
|
-
|
|
3
|
-
name: pull-request-lint
|
|
4
|
-
on:
|
|
5
|
-
pull_request_target:
|
|
6
|
-
types:
|
|
7
|
-
- labeled
|
|
8
|
-
- opened
|
|
9
|
-
- synchronize
|
|
10
|
-
- reopened
|
|
11
|
-
- ready_for_review
|
|
12
|
-
- edited
|
|
13
|
-
jobs:
|
|
14
|
-
validate:
|
|
15
|
-
name: Validate PR title
|
|
16
|
-
runs-on: ubuntu-latest
|
|
17
|
-
permissions:
|
|
18
|
-
pull-requests: write
|
|
19
|
-
steps:
|
|
20
|
-
- uses: amannn/action-semantic-pull-request@v3.4.6
|
|
21
|
-
env:
|
|
22
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
23
|
-
with:
|
|
24
|
-
types: |-
|
|
25
|
-
feat
|
|
26
|
-
fix
|
|
27
|
-
chore
|
|
28
|
-
requireScope: false
|