p6-cdk-namer 0.9.0 → 0.9.1

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 (160) hide show
  1. package/.jsii +2 -2
  2. package/bin/visualize.ts +17 -0
  3. package/lib/p6namer.js +1 -1
  4. package/package.json +2 -2
  5. package/src/index.ts +1 -0
  6. package/src/p6namer.p6namer.ts +40 -0
  7. package/src/p6namer.ts +41 -0
  8. package/test/p6-namer.test.ts +23 -0
  9. package/tsconfig.json +35 -0
  10. package/.github/pull_request_template.md +0 -1
  11. package/.github/workflows/auto-approve.yml +0 -21
  12. package/.github/workflows/build.yml +0 -205
  13. package/.github/workflows/pull-request-lint.yml +0 -28
  14. package/.github/workflows/release.yml +0 -313
  15. package/.github/workflows/upgrade-main.yml +0 -91
  16. package/assets/bundle.css +0 -4
  17. package/assets/bundle.css.map +0 -1
  18. package/assets/cy-elements.json +0 -1
  19. package/assets/cy-styles.json +0 -1
  20. package/assets/diagram.dot +0 -100
  21. package/assets/diagram.png +0 -0
  22. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_A1-Instance_48_Dark.png +0 -0
  23. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C4-Instance_48_Dark.png +0 -0
  24. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C5-Instance_48_Dark.png +0 -0
  25. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C5n-Instance_48_Dark.png +0 -0
  26. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_C6g-Instance_48_Dark.png +0 -0
  27. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D2-Instance_48_Dark.png +0 -0
  28. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D3-Instance_48_Dark.png +0 -0
  29. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_D3en-Instance_48_Dark.png +0 -0
  30. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_DB-Instance_48_Dark.png +0 -0
  31. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_F1-Instance_48_Dark.png +0 -0
  32. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_G3-Instance_48_Dark.png +0 -0
  33. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_G4ad-Instance_48_Dark.png +0 -0
  34. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_H1-Instance_48_Dark.png +0 -0
  35. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_I3-Instance_48_Dark.png +0 -0
  36. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Instance_48_Dark.png +0 -0
  37. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Instance_48_Dark_gen.png +0 -0
  38. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M4-Instance_48_Dark.png +0 -0
  39. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M5-Instance_48_Dark.png +0 -0
  40. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M5a-Instance_48_Dark.png +0 -0
  41. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M5n-Instance_48_Dark.png +0 -0
  42. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_M6g-Instance_48_Dark.png +0 -0
  43. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Mac-Instance_48_Dark.png +0 -0
  44. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P2-Instance_48_Dark.png +0 -0
  45. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P3-Instance_48_Dark.png +0 -0
  46. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P3dn-Instance_48_Dark.png +0 -0
  47. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P4-Instance_48_Dark.png +0 -0
  48. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_P4d-Instance_48_Dark.png +0 -0
  49. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R4-Instance_48_Dark.png +0 -0
  50. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R5-Instance_48_Dark.png +0 -0
  51. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R5a-Instance_48_Dark.png +0 -0
  52. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R5n-Instance_48_Dark.png +0 -0
  53. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_R6g-Instance_48_Dark.png +0 -0
  54. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T2-Instance_48_Dark.png +0 -0
  55. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T3-Instance_48_Dark.png +0 -0
  56. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T3a-Instance_48_Dark.png +0 -0
  57. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_T4g-Instance_48_Dark.png +0 -0
  58. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_Trainium-Instance_48_Dark.png +0 -0
  59. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_X1-Instance_48_Dark.png +0 -0
  60. package/assets/icons/aws/Resource/Res_Compute/Res_48_Dark/Res_Amazon-EC2_X1e-Instance_48_Dark.png +0 -0
  61. package/assets/icons/aws/Resource/Res_Containers/Res_48_Dark/Res_Amazon-Elastic-Container-Service_Container-1_48_Dark_gen.png +0 -0
  62. package/assets/icons/aws/Resource/Res_Containers/Res_48_Dark/Res_Amazon-Elastic-Container-Service_Service_48_Dark_gen.png +0 -0
  63. package/assets/icons/aws/Resource/Res_Containers/Res_48_Dark/Res_Amazon-Elastic-Container-Service_Task_48_Dark_gen.png +0 -0
  64. package/assets/icons/aws/Resource/Res_Machine-Learning/Res_48_Dark/Res_Amazon-Sagemaker_Model_48_Dark_gen.png +0 -0
  65. package/assets/icons/aws/Resource/Res_Management-Governance/Res_48_Dark/Res_AWS-System-Manager_Maintenance-Windows_48_Dark_gen.png +0 -0
  66. package/assets/icons/aws/Resource/Res_Management-Governance/Res_48_Dark/Res_AWS-Systems-Manager_Parameter-Store_48_Dark.png +0 -0
  67. package/assets/icons/aws/Resource/Res_Management-Governance/Res_48_Dark/Res_Amazon-Cloudwatch_Logs_48_Dark_gen.png +0 -0
  68. 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
  69. 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
  70. package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-VPC_Customer-Gateway_48_Dark_gen.png +0 -0
  71. package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-VPC_Endpoints_48_Dark_gen.png +0 -0
  72. package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-VPC_Flow-Logs_48_Dark_gen.png +0 -0
  73. 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
  74. package/assets/icons/aws/Resource/Res_Networking-and-Content-Delivery/Res_48_Dark/Res_Amazon-VPC_VPN-Connection_48_Dark_gen.png +0 -0
  75. 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
  76. 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
  77. package/assets/icons/aws/Resource/Res_Storage/Res_48_Dark/Res_Amazon-Elastic-Block-Store_Volume_48_Dark_gen.png +0 -0
  78. package/assets/icons/aws/Service/Arch_Analytics/Arch_64/Arch_AWS-Glue_64@5x.png +0 -0
  79. package/assets/icons/aws/Service/Arch_Analytics/Arch_64/Arch_Amazon-Elasticsearch-Service_64@5x.png +0 -0
  80. package/assets/icons/aws/Service/Arch_Analytics/Arch_64/Arch_Amazon-Kinesis_64@5x.png +0 -0
  81. package/assets/icons/aws/Service/Arch_App-Integration/Arch_64/Arch_AWS-Simple-Notification-Service_64@5x.png +0 -0
  82. package/assets/icons/aws/Service/Arch_App-Integration/Arch_64/Arch_AWS-Simple-Queue-Service_64@5x.png +0 -0
  83. package/assets/icons/aws/Service/Arch_App-Integration/Arch_64/Arch_AWS-Step-Functions_64@5x.png +0 -0
  84. package/assets/icons/aws/Service/Arch_App-Integration/Arch_64/Arch_Amazon-EventBridge_64@5x.png +0 -0
  85. package/assets/icons/aws/Service/Arch_Business-Applications/64/Arch_Amazon-Connect_64@5x.png +0 -0
  86. package/assets/icons/aws/Service/Arch_Compute/64/Arch_AWS-Elastic-Beanstalk_64@5x.png +0 -0
  87. package/assets/icons/aws/Service/Arch_Compute/64/Arch_AWS-Lambda_64@5x.png +0 -0
  88. package/assets/icons/aws/Service/Arch_Compute/64/Arch_Amazon-EC2-Auto-Scaling_64@5x.png +0 -0
  89. package/assets/icons/aws/Service/Arch_Compute/64/Arch_Amazon-Elastic-Container-Kubernetes_64@5x.png +0 -0
  90. package/assets/icons/aws/Service/Arch_Compute/64/Arch_Amazon-Elastic-Container-Registry_64@5x.png +0 -0
  91. package/assets/icons/aws/Service/Arch_Compute/64/Arch_Amazon-Elastic-Container-Service_64@5x.png +0 -0
  92. package/assets/icons/aws/Service/Arch_Cost-Management/64/Arch_AWS-Budgets_64@5x.png +0 -0
  93. package/assets/icons/aws/Service/Arch_Customer-Enagagement/64/Arch_AWS-Simple-Email-Service_64@5x.png +0 -0
  94. package/assets/icons/aws/Service/Arch_Database/64/Arch_Amazon-DynamoDB_64@5x.png +0 -0
  95. package/assets/icons/aws/Service/Arch_Database/64/Arch_Amazon-Neptune_64@5x.png +0 -0
  96. package/assets/icons/aws/Service/Arch_Database/64/Arch_Amazon-RDS_64@5x.png +0 -0
  97. package/assets/icons/aws/Service/Arch_Database/64/Arch_Amazon-Redshift_64@5x.png +0 -0
  98. package/assets/icons/aws/Service/Arch_Developer- Tools/64/Arch_AWS-CodeCommit_64@5x.png +0 -0
  99. package/assets/icons/aws/Service/Arch_Developer- Tools/64/Arch_AWS-CodeDeploy_64@5x.png +0 -0
  100. package/assets/icons/aws/Service/Arch_Developer- Tools/64/Arch_AWS-CodePipeline_64@5x.png +0 -0
  101. package/assets/icons/aws/Service/Arch_Developer- Tools/64/Arch_Amazon-CodeBuild_64@5x.png +0 -0
  102. package/assets/icons/aws/Service/Arch_Game-Tech/64/Arch_Amazon-GameLift_64@5x.png +0 -0
  103. package/assets/icons/aws/Service/Arch_Internet-of-Things/64/Arch_AWS-IoT-Greengrass-Core_64@5x.png +0 -0
  104. package/assets/icons/aws/Service/Arch_Machine-Learning/64/Arch_Amazon-Lex_64@5x.png +0 -0
  105. package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_AWS-CloudFormation_64@5x.png +0 -0
  106. package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_AWS-Config_64@5x.png +0 -0
  107. package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_AWS-OpsWorks_64@5x.png +0 -0
  108. package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_AWS-Service-Catalog_64@5x.png +0 -0
  109. package/assets/icons/aws/Service/Arch_Management-Governance/64/Arch_Amazon-CloudWatch_64@5x.png +0 -0
  110. package/assets/icons/aws/Service/Arch_Mobile/64/Arch_AWS-Amplify-Console_64@5x.png +0 -0
  111. package/assets/icons/aws/Service/Arch_Mobile/64/Arch_Amazon-Pinpoint_64@5x.png +0 -0
  112. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_AWS-Global-Accelerator_64@5x.png +0 -0
  113. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_AWS-Transit-Gateway_64@5x.png +0 -0
  114. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_AWS-VPN_64@5x.png +0 -0
  115. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_Amazon-API-Gateway_64@5x.png +0 -0
  116. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_Amazon-CloudFront_64@5x.png +0 -0
  117. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_Amazon-Virtual-Private-Cloud_64@5x.png +0 -0
  118. package/assets/icons/aws/Service/Arch_Networking-Content/64/Arch_Elastic-Load-Balancing_64@5x.png +0 -0
  119. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Artifact_64@5x.png +0 -0
  120. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Certificate-Manager_64@5x.png +0 -0
  121. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Identity-and-Access-Management_64@5x.png +0 -0
  122. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Key-Management-Services_64@5x.png +0 -0
  123. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-Secrets-Manager_64@5x.png +0 -0
  124. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_AWS-WAF_64@5x.png +0 -0
  125. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_Amazon-Cognito_64.png +0 -0
  126. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_Amazon-Inspector_64@5x.png +0 -0
  127. package/assets/icons/aws/Service/Arch_Security-Identity-Compliance/64/Arch_Amazon-Macie_64@5x.png +0 -0
  128. package/assets/icons/aws/Service/Arch_Storage/64/Arch_AWS-Backup_64@5x.png +0 -0
  129. package/assets/icons/aws/Service/Arch_Storage/64/Arch_AWS-Storage-Gateway_64@5x.png +0 -0
  130. package/assets/icons/aws/Service/Arch_Storage/64/Arch_Amazon-Elastic-File-System_64@5x.png +0 -0
  131. package/assets/icons/aws/Service/Arch_Storage/64/Arch_Amazon-S3-Standard_64@5x.png +0 -0
  132. package/assets/icons/aws/cloudwatch_metric_filter.png +0 -0
  133. package/assets/icons/aws/security_group.png +0 -0
  134. package/assets/index.html +0 -1
  135. package/assets/js/app.8e9fe77f.js +0 -39504
  136. package/assets/js/app.8e9fe77f.js.map +0 -1
  137. package/cdk.out/VisualizeStack.assets.json +0 -45
  138. package/cdk.out/VisualizeStack.template.json +0 -682
  139. package/cdk.out/asset.4583febb4fc03a1ff3d1375f3436b530bd38a188e3e2e8e8b3f3138176237c90/index.js +0 -1
  140. package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/cfn-response.js +0 -1
  141. package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/consts.js +0 -1
  142. package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/framework.js +0 -3
  143. package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/outbound.js +0 -1
  144. package/cdk.out/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/util.js +0 -1
  145. package/cdk.out/cdk.out +0 -1
  146. package/cdk.out/manifest.json +0 -157
  147. package/cdk.out/tree.json +0 -490
  148. package/coverage/clover.xml +0 -25
  149. package/coverage/coverage-final.json +0 -3
  150. package/coverage/lcov-report/base.css +0 -224
  151. package/coverage/lcov-report/block-navigation.js +0 -87
  152. package/coverage/lcov-report/favicon.png +0 -0
  153. package/coverage/lcov-report/index.html +0 -131
  154. package/coverage/lcov-report/index.ts.html +0 -88
  155. package/coverage/lcov-report/p6namer.ts.html +0 -208
  156. package/coverage/lcov-report/prettify.css +0 -1
  157. package/coverage/lcov-report/prettify.js +0 -2
  158. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  159. package/coverage/lcov-report/sorter.js +0 -196
  160. package/coverage/lcov.info +0 -33
@@ -1 +0,0 @@
1
- "use strict";var A=Object.create;var l=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var r=Object.getOwnPropertyNames;var m=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var p=(a,o)=>{for(var c in o)l(a,c,{get:o[c],enumerable:!0})},e=(a,o,c,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let t of r(o))!u.call(a,t)&&t!==c&&l(a,t,{get:()=>o[t],enumerable:!(n=i(o,t))||n.enumerable});return a};var C=(a,o,c)=>(c=a!=null?A(m(a)):{},e(o||!a||!a.__esModule?l(c,"default",{value:a,enumerable:!0}):c,a)),_=a=>e(l({},"__esModule",{value:!0}),a);var b={};p(b,{handler:()=>W});module.exports=_(b);var s=C(require("aws-sdk")),d=new s.IAM;function S(a){let o={AccountAlias:a};d.createAccountAlias(o,(c,n)=>{c?console.log(c,c.stack):console.log(n)})}var W=(a,o,c)=>{console.log({event:a}),S(a.AccountAlias)};0&&(module.exports={handler});
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Retry=exports.redactDataFromPayload=exports.safeHandler=exports.includeStackTraces=exports.submitResponse=exports.MISSING_PHYSICAL_ID_MARKER=exports.CREATE_FAILED_PHYSICAL_ID_MARKER=void 0;const url=require("url"),outbound_1=require("./outbound"),util_1=require("./util");exports.CREATE_FAILED_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::CREATE_FAILED",exports.MISSING_PHYSICAL_ID_MARKER="AWSCDK::CustomResourceProviderFramework::MISSING_PHYSICAL_ID";async function submitResponse(status,event,options={}){const json={Status:status,Reason:options.reason||status,StackId:event.StackId,RequestId:event.RequestId,PhysicalResourceId:event.PhysicalResourceId||exports.MISSING_PHYSICAL_ID_MARKER,LogicalResourceId:event.LogicalResourceId,NoEcho:options.noEcho,Data:event.Data},responseBody=JSON.stringify(json),parsedUrl=url.parse(event.ResponseURL),loggingSafeUrl=`${parsedUrl.protocol}//${parsedUrl.hostname}/${parsedUrl.pathname}?***`;options?.noEcho?(0,util_1.log)("submit redacted response to cloudformation",loggingSafeUrl,redactDataFromPayload(json)):(0,util_1.log)("submit response to cloudformation",loggingSafeUrl,json);const retryOptions={attempts:5,sleep:1e3};await(0,util_1.withRetries)(retryOptions,outbound_1.httpRequest)({hostname:parsedUrl.hostname,path:parsedUrl.path,method:"PUT",headers:{"content-type":"","content-length":Buffer.byteLength(responseBody,"utf8")}},responseBody)}exports.submitResponse=submitResponse,exports.includeStackTraces=!0;function safeHandler(block){return async event=>{if(event.RequestType==="Delete"&&event.PhysicalResourceId===exports.CREATE_FAILED_PHYSICAL_ID_MARKER){(0,util_1.log)("ignoring DELETE event caused by a failed CREATE event"),await submitResponse("SUCCESS",event);return}try{await block(event)}catch(e){if(e instanceof Retry)throw(0,util_1.log)("retry requested by handler"),e;event.PhysicalResourceId||(event.RequestType==="Create"?((0,util_1.log)("CREATE failed, responding with a marker physical resource id so that the subsequent DELETE will be ignored"),event.PhysicalResourceId=exports.CREATE_FAILED_PHYSICAL_ID_MARKER):(0,util_1.log)(`ERROR: Malformed event. "PhysicalResourceId" is required: ${JSON.stringify({...event,ResponseURL:"..."})}`)),await submitResponse("FAILED",event,{reason:exports.includeStackTraces?e.stack:e.message})}}}exports.safeHandler=safeHandler;function redactDataFromPayload(payload){const redactedPayload=JSON.parse(JSON.stringify(payload));if(redactedPayload.Data){const keys=Object.keys(redactedPayload.Data);for(const key of keys)redactedPayload.Data[key]="*****"}return redactedPayload}exports.redactDataFromPayload=redactDataFromPayload;class Retry extends Error{}exports.Retry=Retry;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.FRAMEWORK_ON_TIMEOUT_HANDLER_NAME=exports.FRAMEWORK_IS_COMPLETE_HANDLER_NAME=exports.FRAMEWORK_ON_EVENT_HANDLER_NAME=exports.WAITER_STATE_MACHINE_ARN_ENV=exports.USER_IS_COMPLETE_FUNCTION_ARN_ENV=exports.USER_ON_EVENT_FUNCTION_ARN_ENV=void 0,exports.USER_ON_EVENT_FUNCTION_ARN_ENV="USER_ON_EVENT_FUNCTION_ARN",exports.USER_IS_COMPLETE_FUNCTION_ARN_ENV="USER_IS_COMPLETE_FUNCTION_ARN",exports.WAITER_STATE_MACHINE_ARN_ENV="WAITER_STATE_MACHINE_ARN",exports.FRAMEWORK_ON_EVENT_HANDLER_NAME="onEvent",exports.FRAMEWORK_IS_COMPLETE_HANDLER_NAME="isComplete",exports.FRAMEWORK_ON_TIMEOUT_HANDLER_NAME="onTimeout";
@@ -1,3 +0,0 @@
1
- "use strict";const cfnResponse=require("./cfn-response"),consts=require("./consts"),outbound_1=require("./outbound"),util_1=require("./util");async function onEvent(cfnRequest){const sanitizedRequest={...cfnRequest,ResponseURL:"..."};(0,util_1.log)("onEventHandler",sanitizedRequest),cfnRequest.ResourceProperties=cfnRequest.ResourceProperties||{};const onEventResult=await invokeUserFunction(consts.USER_ON_EVENT_FUNCTION_ARN_ENV,sanitizedRequest,cfnRequest.ResponseURL);onEventResult?.NoEcho?(0,util_1.log)("redacted onEvent returned:",cfnResponse.redactDataFromPayload(onEventResult)):(0,util_1.log)("onEvent returned:",onEventResult);const resourceEvent=createResponseEvent(cfnRequest,onEventResult),sanitizedEvent={...resourceEvent,ResponseURL:"..."};if(onEventResult?.NoEcho?(0,util_1.log)("readacted event:",cfnResponse.redactDataFromPayload(sanitizedEvent)):(0,util_1.log)("event:",sanitizedEvent),!process.env[consts.USER_IS_COMPLETE_FUNCTION_ARN_ENV])return cfnResponse.submitResponse("SUCCESS",resourceEvent,{noEcho:resourceEvent.NoEcho});const waiter={stateMachineArn:(0,util_1.getEnv)(consts.WAITER_STATE_MACHINE_ARN_ENV),name:resourceEvent.RequestId,input:JSON.stringify(resourceEvent)};(0,util_1.log)("starting waiter",{stateMachineArn:(0,util_1.getEnv)(consts.WAITER_STATE_MACHINE_ARN_ENV),name:resourceEvent.RequestId}),await(0,outbound_1.startExecution)(waiter)}async function isComplete(event){const sanitizedRequest={...event,ResponseURL:"..."};event?.NoEcho?(0,util_1.log)("redacted isComplete request",cfnResponse.redactDataFromPayload(sanitizedRequest)):(0,util_1.log)("isComplete",sanitizedRequest);const isCompleteResult=await invokeUserFunction(consts.USER_IS_COMPLETE_FUNCTION_ARN_ENV,sanitizedRequest,event.ResponseURL);if(event?.NoEcho?(0,util_1.log)("redacted user isComplete returned:",cfnResponse.redactDataFromPayload(isCompleteResult)):(0,util_1.log)("user isComplete returned:",isCompleteResult),!isCompleteResult.IsComplete)throw isCompleteResult.Data&&Object.keys(isCompleteResult.Data).length>0?new Error('"Data" is not allowed if "IsComplete" is "False"'):new cfnResponse.Retry(JSON.stringify(event));const response={...event,...isCompleteResult,Data:{...event.Data,...isCompleteResult.Data}};await cfnResponse.submitResponse("SUCCESS",response,{noEcho:event.NoEcho})}async function onTimeout(timeoutEvent){(0,util_1.log)("timeoutHandler",timeoutEvent);const isCompleteRequest=JSON.parse(JSON.parse(timeoutEvent.Cause).errorMessage);await cfnResponse.submitResponse("FAILED",isCompleteRequest,{reason:"Operation timed out"})}async function invokeUserFunction(functionArnEnv,sanitizedPayload,responseUrl){const functionArn=(0,util_1.getEnv)(functionArnEnv);(0,util_1.log)(`executing user function ${functionArn} with payload`,sanitizedPayload);const resp=await(0,outbound_1.invokeFunction)({FunctionName:functionArn,Payload:JSON.stringify({...sanitizedPayload,ResponseURL:responseUrl})});(0,util_1.log)("user function response:",resp,typeof resp);const jsonPayload=(0,util_1.parseJsonPayload)(resp.Payload);if(resp.FunctionError){(0,util_1.log)("user function threw an error:",resp.FunctionError);const errorMessage=jsonPayload.errorMessage||"error",arn=functionArn.split(":"),functionName=arn[arn.length-1],message=[errorMessage,"",`Logs: /aws/lambda/${functionName}`,""].join(`
2
- `),e=new Error(message);throw jsonPayload.trace&&(e.stack=[message,...jsonPayload.trace.slice(1)].join(`
3
- `)),e}return jsonPayload}function createResponseEvent(cfnRequest,onEventResult){onEventResult=onEventResult||{};const physicalResourceId=onEventResult.PhysicalResourceId||defaultPhysicalResourceId(cfnRequest);if(cfnRequest.RequestType==="Delete"&&physicalResourceId!==cfnRequest.PhysicalResourceId)throw new Error(`DELETE: cannot change the physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${onEventResult.PhysicalResourceId}" during deletion`);return cfnRequest.RequestType==="Update"&&physicalResourceId!==cfnRequest.PhysicalResourceId&&(0,util_1.log)(`UPDATE: changing physical resource ID from "${cfnRequest.PhysicalResourceId}" to "${onEventResult.PhysicalResourceId}"`),{...cfnRequest,...onEventResult,PhysicalResourceId:physicalResourceId}}function defaultPhysicalResourceId(req){switch(req.RequestType){case"Create":return req.RequestId;case"Update":case"Delete":return req.PhysicalResourceId;default:throw new Error(`Invalid "RequestType" in request "${JSON.stringify(req)}"`)}}module.exports={[consts.FRAMEWORK_ON_EVENT_HANDLER_NAME]:cfnResponse.safeHandler(onEvent),[consts.FRAMEWORK_IS_COMPLETE_HANDLER_NAME]:cfnResponse.safeHandler(isComplete),[consts.FRAMEWORK_ON_TIMEOUT_HANDLER_NAME]:onTimeout};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.httpRequest=exports.invokeFunction=exports.startExecution=void 0;const https=require("https"),client_lambda_1=require("@aws-sdk/client-lambda"),client_sfn_1=require("@aws-sdk/client-sfn"),FRAMEWORK_HANDLER_TIMEOUT=9e5,awsSdkConfig={httpOptions:{timeout:FRAMEWORK_HANDLER_TIMEOUT}};async function defaultHttpRequest(options,requestBody){return new Promise((resolve,reject)=>{try{const request=https.request(options,response=>{response.resume(),!response.statusCode||response.statusCode>=400?reject(new Error(`Unsuccessful HTTP response: ${response.statusCode}`)):resolve()});request.on("error",reject),request.write(requestBody),request.end()}catch(e){reject(e)}})}let sfn,lambda;async function defaultStartExecution(req){return sfn||(sfn=new client_sfn_1.SFN(awsSdkConfig)),sfn.startExecution(req)}async function defaultInvokeFunction(req){lambda||(lambda=new client_lambda_1.Lambda(awsSdkConfig));try{return await lambda.invoke(req)}catch{return await(0,client_lambda_1.waitUntilFunctionActiveV2)({client:lambda,maxWaitTime:300},{FunctionName:req.FunctionName}),await lambda.invoke(req)}}exports.startExecution=defaultStartExecution,exports.invokeFunction=defaultInvokeFunction,exports.httpRequest=defaultHttpRequest;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.parseJsonPayload=exports.withRetries=exports.log=exports.getEnv=void 0;function getEnv(name){const value=process.env[name];if(!value)throw new Error(`The environment variable "${name}" is not defined`);return value}exports.getEnv=getEnv;function log(title,...args){console.log("[provider-framework]",title,...args.map(x=>typeof x=="object"?JSON.stringify(x,void 0,2):x))}exports.log=log;function withRetries(options,fn){return async(...xs)=>{let attempts=options.attempts,ms=options.sleep;for(;;)try{return await fn(...xs)}catch(e){if(attempts--<=0)throw e;await sleep(Math.floor(Math.random()*ms)),ms*=2}}}exports.withRetries=withRetries;async function sleep(ms){return new Promise(ok=>setTimeout(ok,ms))}function parseJsonPayload(payload){const text=new TextDecoder().decode(Buffer.from(payload??""));if(!text)return{};try{return JSON.parse(text)}catch{throw new Error(`return values from user-handlers must be JSON objects. got: "${text}"`)}}exports.parseJsonPayload=parseJsonPayload;
package/cdk.out/cdk.out DELETED
@@ -1 +0,0 @@
1
- {"version":"38.0.1"}
@@ -1,157 +0,0 @@
1
- {
2
- "version": "38.0.1",
3
- "artifacts": {
4
- "VisualizeStack.assets": {
5
- "type": "cdk:asset-manifest",
6
- "properties": {
7
- "file": "VisualizeStack.assets.json",
8
- "requiresBootstrapStackVersion": 6,
9
- "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version"
10
- }
11
- },
12
- "VisualizeStack": {
13
- "type": "aws:cloudformation:stack",
14
- "environment": "aws://unknown-account/unknown-region",
15
- "properties": {
16
- "templateFile": "VisualizeStack.template.json",
17
- "terminationProtection": false,
18
- "validateOnSynth": false,
19
- "notificationArns": [],
20
- "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
21
- "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
22
- "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/e54f2128ef0e808136661dc6623d92ead6fd0985c7835d0f6344c69039c5233c.json",
23
- "requiresBootstrapStackVersion": 6,
24
- "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
25
- "additionalDependencies": [
26
- "VisualizeStack.assets"
27
- ],
28
- "lookupRole": {
29
- "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}",
30
- "requiresBootstrapStackVersion": 8,
31
- "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version"
32
- }
33
- },
34
- "dependencies": [
35
- "VisualizeStack.assets"
36
- ],
37
- "metadata": {
38
- "/VisualizeStack/MyP6Namer": [
39
- {
40
- "type": "aws:cdk:warning",
41
- "data": "If you are relying on AWS SDK v2 to be present in the Lambda environment already, please explicitly configure a NodeJS runtime of Node 16 or lower. [ack: @aws-cdk/aws-lambda-nodejs:sdkV2NotInRuntime]",
42
- "trace": [
43
- "Annotations.addMessage (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/node_modules/.pnpm/aws-cdk-lib@2.164.1_constructs@10.4.2/node_modules/aws-cdk-lib/core/lib/annotations.js:1:1608)",
44
- "Annotations.addWarningV2 (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/node_modules/.pnpm/aws-cdk-lib@2.164.1_constructs@10.4.2/node_modules/aws-cdk-lib/core/lib/annotations.js:1:825)",
45
- "new Bundling (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/node_modules/.pnpm/aws-cdk-lib@2.164.1_constructs@10.4.2/node_modules/aws-cdk-lib/aws-lambda-nodejs/lib/bundling.js:1:3762)",
46
- "Function.bundle (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/node_modules/.pnpm/aws-cdk-lib@2.164.1_constructs@10.4.2/node_modules/aws-cdk-lib/aws-lambda-nodejs/lib/bundling.js:1:1066)",
47
- "new NodejsFunction (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/node_modules/.pnpm/aws-cdk-lib@2.164.1_constructs@10.4.2/node_modules/aws-cdk-lib/aws-lambda-nodejs/lib/function.js:1:2171)",
48
- "new P6Namer (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/src/p6namer.ts:18:21)",
49
- "new VisualizeStack (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/bin/visualize.ts:9:5)",
50
- "Object.<anonymous> (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/bin/visualize.ts:16:1)",
51
- "Module._compile (node:internal/modules/cjs/loader:1546:14)",
52
- "Module.m._compile (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/node_modules/.pnpm/ts-node@10.9.2_@swc+core@1.7.39_@types+node@22.8.1_typescript@5.6.3/node_modules/ts-node/src/index.ts:1618:23)",
53
- "Module._extensions..js (node:internal/modules/cjs/loader:1691:10)",
54
- "Object.require.extensions.<computed> [as .ts] (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/node_modules/.pnpm/ts-node@10.9.2_@swc+core@1.7.39_@types+node@22.8.1_typescript@5.6.3/node_modules/ts-node/src/index.ts:1621:12)",
55
- "Module.load (node:internal/modules/cjs/loader:1317:32)",
56
- "Function.Module._load (node:internal/modules/cjs/loader:1127:12)",
57
- "TracingChannel.traceSync (node:diagnostics_channel:315:14)",
58
- "wrapModuleLoad (node:internal/modules/cjs/loader:217:24)",
59
- "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:166:5)",
60
- "phase4 (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/node_modules/.pnpm/ts-node@10.9.2_@swc+core@1.7.39_@types+node@22.8.1_typescript@5.6.3/node_modules/ts-node/src/bin.ts:649:14)",
61
- "bootstrap (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/node_modules/.pnpm/ts-node@10.9.2_@swc+core@1.7.39_@types+node@22.8.1_typescript@5.6.3/node_modules/ts-node/src/bin.ts:95:10)",
62
- "main (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/node_modules/.pnpm/ts-node@10.9.2_@swc+core@1.7.39_@types+node@22.8.1_typescript@5.6.3/node_modules/ts-node/src/bin.ts:55:10)",
63
- "Object.<anonymous> (/Users/pgollucci/.p6/p6m7g8/p6-cdk-namer/node_modules/.pnpm/ts-node@10.9.2_@swc+core@1.7.39_@types+node@22.8.1_typescript@5.6.3/node_modules/ts-node/src/bin.ts:800:3)",
64
- "Module._compile (node:internal/modules/cjs/loader:1546:14)",
65
- "Object.Module._extensions..js (node:internal/modules/cjs/loader:1691:10)",
66
- "Module.load (node:internal/modules/cjs/loader:1317:32)",
67
- "Function.Module._load (node:internal/modules/cjs/loader:1127:12)",
68
- "TracingChannel.traceSync (node:diagnostics_channel:315:14)",
69
- "wrapModuleLoad (node:internal/modules/cjs/loader:217:24)",
70
- "Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:166:5)",
71
- "node:internal/main/run_main_module:30:49"
72
- ]
73
- }
74
- ],
75
- "/VisualizeStack/MyP6Namer/p6namer/ServiceRole/Resource": [
76
- {
77
- "type": "aws:cdk:logicalId",
78
- "data": "MyP6Namerp6namerServiceRole83644EDC"
79
- }
80
- ],
81
- "/VisualizeStack/MyP6Namer/p6namer/ServiceRole/DefaultPolicy/Resource": [
82
- {
83
- "type": "aws:cdk:logicalId",
84
- "data": "MyP6Namerp6namerServiceRoleDefaultPolicy21F5A7B0"
85
- }
86
- ],
87
- "/VisualizeStack/MyP6Namer/p6namer/Resource": [
88
- {
89
- "type": "aws:cdk:logicalId",
90
- "data": "MyP6Namerp6namer1C74AD43"
91
- }
92
- ],
93
- "/VisualizeStack/MyP6Namer/P6Namer--Provider/framework-onEvent/ServiceRole/Resource": [
94
- {
95
- "type": "aws:cdk:logicalId",
96
- "data": "MyP6NamerP6NamerProviderframeworkonEventServiceRole946E7CB5"
97
- }
98
- ],
99
- "/VisualizeStack/MyP6Namer/P6Namer--Provider/framework-onEvent/ServiceRole/DefaultPolicy/Resource": [
100
- {
101
- "type": "aws:cdk:logicalId",
102
- "data": "MyP6NamerP6NamerProviderframeworkonEventServiceRoleDefaultPolicyC303C53A"
103
- }
104
- ],
105
- "/VisualizeStack/MyP6Namer/P6Namer--Provider/framework-onEvent/Resource": [
106
- {
107
- "type": "aws:cdk:logicalId",
108
- "data": "MyP6NamerP6NamerProviderframeworkonEvent74B624E0"
109
- }
110
- ],
111
- "/VisualizeStack/MyP6Namer/P6Namer--CR/Default": [
112
- {
113
- "type": "aws:cdk:logicalId",
114
- "data": "MyP6NamerP6NamerCR45B6988D"
115
- }
116
- ],
117
- "/VisualizeStack/LatestNodeRuntimeMap": [
118
- {
119
- "type": "aws:cdk:logicalId",
120
- "data": "LatestNodeRuntimeMap"
121
- }
122
- ],
123
- "/VisualizeStack/CDKMetadata/Default": [
124
- {
125
- "type": "aws:cdk:logicalId",
126
- "data": "CDKMetadata"
127
- }
128
- ],
129
- "/VisualizeStack/CDKMetadata/Condition": [
130
- {
131
- "type": "aws:cdk:logicalId",
132
- "data": "CDKMetadataAvailable"
133
- }
134
- ],
135
- "/VisualizeStack/BootstrapVersion": [
136
- {
137
- "type": "aws:cdk:logicalId",
138
- "data": "BootstrapVersion"
139
- }
140
- ],
141
- "/VisualizeStack/CheckBootstrapVersion": [
142
- {
143
- "type": "aws:cdk:logicalId",
144
- "data": "CheckBootstrapVersion"
145
- }
146
- ]
147
- },
148
- "displayName": "VisualizeStack"
149
- },
150
- "Tree": {
151
- "type": "cdk:tree",
152
- "properties": {
153
- "file": "tree.json"
154
- }
155
- }
156
- }
157
- }