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.
Files changed (162) hide show
  1. package/.jsii +3 -3
  2. package/.vscode/settings.json +2 -1
  3. package/README.md +0 -1
  4. package/bin/visualize.ts +17 -0
  5. package/lib/p6namer.js +1 -1
  6. package/package.json +18 -5
  7. package/src/index.ts +1 -0
  8. package/src/p6namer.p6namer.ts +40 -0
  9. package/src/p6namer.ts +41 -0
  10. package/test/p6-namer.test.ts +23 -0
  11. package/tsconfig.json +35 -0
  12. package/.github/pull_request_template.md +0 -1
  13. package/.github/workflows/auto-approve.yml +0 -21
  14. package/.github/workflows/build.yml +0 -205
  15. package/.github/workflows/pull-request-lint.yml +0 -28
  16. package/.github/workflows/release.yml +0 -313
  17. package/.github/workflows/upgrade-main.yml +0 -91
  18. package/assets/bundle.css +0 -4
  19. package/assets/bundle.css.map +0 -1
  20. package/assets/cy-elements.json +0 -1
  21. package/assets/cy-styles.json +0 -1
  22. package/assets/diagram.dot +0 -100
  23. package/assets/diagram.png +0 -0
  24. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_A1-Instance_48_Dark.png +0 -0
  25. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C4-Instance_48_Dark.png +0 -0
  26. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C5-Instance_48_Dark.png +0 -0
  27. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C5n-Instance_48_Dark.png +0 -0
  28. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C6g-Instance_48_Dark.png +0 -0
  29. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D2-Instance_48_Dark.png +0 -0
  30. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D3-Instance_48_Dark.png +0 -0
  31. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D3en-Instance_48_Dark.png +0 -0
  32. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_DB-Instance_48_Dark.png +0 -0
  33. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_F1-Instance_48_Dark.png +0 -0
  34. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_G3-Instance_48_Dark.png +0 -0
  35. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_G4ad-Instance_48_Dark.png +0 -0
  36. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_H1-Instance_48_Dark.png +0 -0
  37. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_I3-Instance_48_Dark.png +0 -0
  38. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Instance_48_Dark.png +0 -0
  39. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Instance_48_Dark_gen.png +0 -0
  40. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M4-Instance_48_Dark.png +0 -0
  41. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M5-Instance_48_Dark.png +0 -0
  42. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M5a-Instance_48_Dark.png +0 -0
  43. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M5n-Instance_48_Dark.png +0 -0
  44. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M6g-Instance_48_Dark.png +0 -0
  45. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Mac-Instance_48_Dark.png +0 -0
  46. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P2-Instance_48_Dark.png +0 -0
  47. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P3-Instance_48_Dark.png +0 -0
  48. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P3dn-Instance_48_Dark.png +0 -0
  49. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P4-Instance_48_Dark.png +0 -0
  50. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P4d-Instance_48_Dark.png +0 -0
  51. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R4-Instance_48_Dark.png +0 -0
  52. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R5-Instance_48_Dark.png +0 -0
  53. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R5a-Instance_48_Dark.png +0 -0
  54. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R5n-Instance_48_Dark.png +0 -0
  55. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R6g-Instance_48_Dark.png +0 -0
  56. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T2-Instance_48_Dark.png +0 -0
  57. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T3-Instance_48_Dark.png +0 -0
  58. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T3a-Instance_48_Dark.png +0 -0
  59. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T4g-Instance_48_Dark.png +0 -0
  60. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Trainium-Instance_48_Dark.png +0 -0
  61. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_X1-Instance_48_Dark.png +0 -0
  62. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_X1e-Instance_48_Dark.png +0 -0
  63. package/assets/icons/aws/Resource/Res_Containers/Res_48_Dark/Res_Amazon-Elastic-Container-Service_Container-1_48_Dark_gen.png +0 -0
  64. package/assets/icons/aws/Resource/Res_Containers/Res_48_Dark/Res_Amazon-Elastic-Container-Service_Service_48_Dark_gen.png +0 -0
  65. package/assets/icons/aws/Resource/Res_Containers/Res_48_Dark/Res_Amazon-Elastic-Container-Service_Task_48_Dark_gen.png +0 -0
  66. package/assets/icons/aws/Resource/Res_Machine-Learning/Res_48_Dark/Res_Amazon-Sagemaker_Model_48_Dark_gen.png +0 -0
  67. package/assets/icons/aws/Resource/Res_Management-Governance/Res_48_Dark/Res_AWS-System-Manager_Maintenance-Windows_48_Dark_gen.png +0 -0
  68. package/assets/icons/aws/Resource/Res_Management-Governance/Res_48_Dark/Res_AWS-Systems-Manager_Parameter-Store_48_Dark.png +0 -0
  69. package/assets/icons/aws/Resource/Res_Management-Governance/Res_48_Dark/Res_Amazon-Cloudwatch_Logs_48_Dark_gen.png +0 -0
  70. 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
  71. 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
  72. package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-VPC_Customer-Gateway_48_Dark_gen.png +0 -0
  73. package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-VPC_Endpoints_48_Dark_gen.png +0 -0
  74. package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-VPC_Flow-Logs_48_Dark_gen.png +0 -0
  75. 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
  76. package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-VPC_VPN-Connection_48_Dark_gen.png +0 -0
  77. 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
  78. 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
  79. package/assets/icons/aws/Resource/Res_Storage/Res_48_Dark/Res_Amazon-Elastic-Block-Store_Volume_48_Dark_gen.png +0 -0
  80. package/assets/icons/aws/Service/Arch_Analytics/Arch_64/Arch_AWS-Glue_64@5x.png +0 -0
  81. package/assets/icons/aws/Service/Arch_Analytics/Arch_64/Arch_Amazon-Elasticsearch-Service_64@5x.png +0 -0
  82. package/assets/icons/aws/Service/Arch_Analytics/Arch_64/Arch_Amazon-Kinesis_64@5x.png +0 -0
  83. package/assets/icons/aws/Service/Arch_App-Integration/Arch_64/Arch_AWS-Simple-Notification-Service_64@5x.png +0 -0
  84. package/assets/icons/aws/Service/Arch_App-Integration/Arch_64/Arch_AWS-Simple-Queue-Service_64@5x.png +0 -0
  85. package/assets/icons/aws/Service/Arch_App-Integration/Arch_64/Arch_AWS-Step-Functions_64@5x.png +0 -0
  86. package/assets/icons/aws/Service/Arch_App-Integration/Arch_64/Arch_Amazon-EventBridge_64@5x.png +0 -0
  87. package/assets/icons/aws/Service/Arch_Business-Applications/64/Arch_Amazon-Connect_64@5x.png +0 -0
  88. package/assets/icons/aws/Service/Arch_Compute/64/Arch_AWS-Elastic-Beanstalk_64@5x.png +0 -0
  89. package/assets/icons/aws/Service/Arch_Compute/64/Arch_AWS-Lambda_64@5x.png +0 -0
  90. package/assets/icons/aws/Service/Arch_Compute/64/Arch_Amazon-EC2-Auto-Scaling_64@5x.png +0 -0
  91. package/assets/icons/aws/Service/Arch_Compute/64/Arch_Amazon-Elastic-Container-Kubernetes_64@5x.png +0 -0
  92. package/assets/icons/aws/Service/Arch_Compute/64/Arch_Amazon-Elastic-Container-Registry_64@5x.png +0 -0
  93. package/assets/icons/aws/Service/Arch_Compute/64/Arch_Amazon-Elastic-Container-Service_64@5x.png +0 -0
  94. package/assets/icons/aws/Service/Arch_Cost-Management/64/Arch_AWS-Budgets_64@5x.png +0 -0
  95. package/assets/icons/aws/Service/Arch_Customer-Enagagement/64/Arch_AWS-Simple-Email-Service_64@5x.png +0 -0
  96. package/assets/icons/aws/Service/Arch_Database/64/Arch_Amazon-DynamoDB_64@5x.png +0 -0
  97. package/assets/icons/aws/Service/Arch_Database/64/Arch_Amazon-Neptune_64@5x.png +0 -0
  98. package/assets/icons/aws/Service/Arch_Database/64/Arch_Amazon-RDS_64@5x.png +0 -0
  99. package/assets/icons/aws/Service/Arch_Database/64/Arch_Amazon-Redshift_64@5x.png +0 -0
  100. package/assets/icons/aws/Service/Arch_Developer- Tools/64/Arch_AWS-CodeCommit_64@5x.png +0 -0
  101. package/assets/icons/aws/Service/Arch_Developer- Tools/64/Arch_AWS-CodeDeploy_64@5x.png +0 -0
  102. package/assets/icons/aws/Service/Arch_Developer- Tools/64/Arch_AWS-CodePipeline_64@5x.png +0 -0
  103. package/assets/icons/aws/Service/Arch_Developer- Tools/64/Arch_Amazon-CodeBuild_64@5x.png +0 -0
  104. package/assets/icons/aws/Service/Arch_Game-Tech/64/Arch_Amazon-GameLift_64@5x.png +0 -0
  105. package/assets/icons/aws/Service/Arch_Internet-of-Things/64/Arch_AWS-IoT-Greengrass-Core_64@5x.png +0 -0
  106. package/assets/icons/aws/Service/Arch_Machine-Learning/64/Arch_Amazon-Lex_64@5x.png +0 -0
  107. package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_AWS-CloudFormation_64@5x.png +0 -0
  108. package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_AWS-Config_64@5x.png +0 -0
  109. package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_AWS-OpsWorks_64@5x.png +0 -0
  110. package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_AWS-Service-Catalog_64@5x.png +0 -0
  111. package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_Amazon-CloudWatch_64@5x.png +0 -0
  112. package/assets/icons/aws/Service/Arch_Mobile/64/Arch_AWS-Amplify-Console_64@5x.png +0 -0
  113. package/assets/icons/aws/Service/Arch_Mobile/64/Arch_Amazon-Pinpoint_64@5x.png +0 -0
  114. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_AWS-Global-Accelerator_64@5x.png +0 -0
  115. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_AWS-Transit-Gateway_64@5x.png +0 -0
  116. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_AWS-VPN_64@5x.png +0 -0
  117. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_Amazon-API-Gateway_64@5x.png +0 -0
  118. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_Amazon-CloudFront_64@5x.png +0 -0
  119. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_Amazon-Virtual-Private-Cloud_64@5x.png +0 -0
  120. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_Elastic-Load-Balancing_64@5x.png +0 -0
  121. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Artifact_64@5x.png +0 -0
  122. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Certificate-Manager_64@5x.png +0 -0
  123. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Identity-and-Access-Management_64@5x.png +0 -0
  124. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Key-Management-Services_64@5x.png +0 -0
  125. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Secrets-Manager_64@5x.png +0 -0
  126. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-WAF_64@5x.png +0 -0
  127. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_Amazon-Cognito_64.png +0 -0
  128. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_Amazon-Inspector_64@5x.png +0 -0
  129. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_Amazon-Macie_64@5x.png +0 -0
  130. package/assets/icons/aws/Service/Arch_Storage/64/Arch_AWS-Backup_64@5x.png +0 -0
  131. package/assets/icons/aws/Service/Arch_Storage/64/Arch_AWS-Storage-Gateway_64@5x.png +0 -0
  132. package/assets/icons/aws/Service/Arch_Storage/64/Arch_Amazon-Elastic-File-System_64@5x.png +0 -0
  133. package/assets/icons/aws/Service/Arch_Storage/64/Arch_Amazon-S3-Standard_64@5x.png +0 -0
  134. package/assets/icons/aws/cloudwatch_metric_filter.png +0 -0
  135. package/assets/icons/aws/security_group.png +0 -0
  136. package/assets/index.html +0 -1
  137. package/assets/js/app.8e9fe77f.js +0 -39504
  138. package/assets/js/app.8e9fe77f.js.map +0 -1
  139. package/cdk.out/VisualizeStack.assets.json +0 -45
  140. package/cdk.out/VisualizeStack.template.json +0 -682
  141. package/cdk.out/asset.4583febb4fc03a1ff3d1375f3436b530bd38a188e3e2e8e8b3f3138176237c90/index.js +0 -1
  142. package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/cfn-response.js +0 -1
  143. package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/consts.js +0 -1
  144. package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/framework.js +0 -3
  145. package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/outbound.js +0 -1
  146. package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/util.js +0 -1
  147. package/cdk.out/cdk.out +0 -1
  148. package/cdk.out/manifest.json +0 -157
  149. package/cdk.out/tree.json +0 -490
  150. package/coverage/clover.xml +0 -25
  151. package/coverage/coverage-final.json +0 -3
  152. package/coverage/lcov-report/base.css +0 -224
  153. package/coverage/lcov-report/block-navigation.js +0 -87
  154. package/coverage/lcov-report/favicon.png +0 -0
  155. package/coverage/lcov-report/index.html +0 -131
  156. package/coverage/lcov-report/index.ts.html +0 -88
  157. package/coverage/lcov-report/p6namer.ts.html +0 -208
  158. package/coverage/lcov-report/prettify.css +0 -1
  159. package/coverage/lcov-report/prettify.js +0 -2
  160. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  161. package/coverage/lcov-report/sorter.js +0 -196
  162. 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[![License](https://img.shields.io/badge/License-Apache%202.0-yellowgreen.svg)](https://opensource.org/licenses/Apache-2.0)\n\n## Other\n\n[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/p6m7g8/p6-cdk-namer) ![Sonarcloud Status](https://sonarcloud.io/api/project_badges/measure?project=p6m7g8_p6-cdk-namer&metric=alert_status) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/p6m7g8/p6-cdk-namer) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/p6m7g8/p6-cdk-namer)\n\n## Usage\n\n```ts\n...\n\nimport { P6Namer } from 'p6-cdk-namer';\n\nnew P6Namer(this, 'AccountAlias', {\n accountAlias: 'THE-ALIAS',\n});\n```\n\n## Architecture\n\n![./assets/diagram.png](./assets/diagram.png)\n\n## Author\n\nPhilip M. Gollucci <pgollucci@p6m7g8.com>\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[![License](https://img.shields.io/badge/License-Apache%202.0-yellowgreen.svg)](https://opensource.org/licenses/Apache-2.0)\n\n## Other\n\n[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/p6m7g8/p6-cdk-namer) ![Sonarcloud Status](https://sonarcloud.io/api/project_badges/measure?project=p6m7g8_p6-cdk-namer&metric=alert_status) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/p6m7g8/p6-cdk-namer) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/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![./assets/diagram.png](./assets/diagram.png)\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.0",
3982
- "fingerprint": "dXpbY/B84QIDoNASYWmy9t8yoNdX7avcGo0wnSGWDJs="
3981
+ "version": "0.9.2",
3982
+ "fingerprint": "PvTwrI1Wu1+3nGvh/8E6WlxiF1fqfqXexkMulYFsfeE="
3983
3983
  }
@@ -44,6 +44,7 @@
44
44
  "cSpell.words": [
45
45
  "lambdajs",
46
46
  "packmak",
47
- "pacmak"
47
+ "pacmak",
48
+ "Sonarcloud"
48
49
  ],
49
50
  }
package/README.md CHANGED
@@ -14,7 +14,6 @@ AWS CDK setups up a Custom Resource via Cloud Formation which sets the AWS IAM A
14
14
 
15
15
  ```ts
16
16
  ...
17
-
18
17
  import { P6Namer } from 'p6-cdk-namer';
19
18
 
20
19
  new P6Namer(this, 'AccountAlias', {
@@ -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.0" };
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 compile && pnpm run lint && pnpm run jsii:docgen && pnpm run test && pnpm run jsii:pacmak:parallel",
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 synth && pnpm run diagram:png && pnpm run diagram:cytoscape && pnpm run diagram:serve",
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
- "synth": "pnpm run build && pnpm cdk synth",
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.0",
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