@jjrawlins/cdk-ami-builder 0.0.18 → 0.0.20

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 (279) hide show
  1. package/.jsii +3 -3
  2. package/cdk-ami-builder/jsii/jsii.go +2 -2
  3. package/cdk-ami-builder/version +1 -1
  4. package/lib/ImagePipeline/ImagePipeline.js +1 -1
  5. package/lib/Lambdas/CheckStateMachineStatus/CheckStateMachineStatus-function.js +1 -1
  6. package/lib/Lambdas/StartStateMachine/StartStateMachine-function.js +1 -1
  7. package/node_modules/cdk-iam-floyd/.claude/settings.local.json +30 -0
  8. package/node_modules/cdk-iam-floyd/CLAUDE.md +147 -0
  9. package/node_modules/cdk-iam-floyd/README.md +4 -4
  10. package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/cdk-iam-floyd.d.ts +62 -14
  11. package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/cdk-iam-floyd.js +124 -28
  12. package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/iam-floyd.d.ts +62 -14
  13. package/node_modules/cdk-iam-floyd/lib/generated/aws-managed-policies/iam-floyd.js +63 -15
  14. package/node_modules/cdk-iam-floyd/lib/generated/index.d.ts +8 -1
  15. package/node_modules/cdk-iam-floyd/lib/generated/index.js +26 -12
  16. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/aioperations.d.ts +25 -0
  17. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/aioperations.js +39 -8
  18. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/amplify.d.ts +0 -6
  19. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/amplify.js +1 -7
  20. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/apigatewaymanagement.d.ts +26 -0
  21. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/apigatewaymanagement.js +31 -1
  22. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/apigatewaymanagementv2.d.ts +169 -5
  23. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/apigatewaymanagementv2.js +203 -8
  24. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/appintegrations.d.ts +60 -0
  25. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/appintegrations.js +82 -1
  26. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/applicationmigrationservice.d.ts +12 -0
  27. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/applicationmigrationservice.js +13 -1
  28. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/applicationrecoverycontroller-zonalshift.d.ts +35 -0
  29. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/applicationrecoverycontroller-zonalshift.js +42 -1
  30. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/appstream2-0.d.ts +15 -15
  31. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/appstream2-0.js +22 -22
  32. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/appsync.d.ts +1 -1
  33. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/appsync.js +5 -3
  34. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/arcregionswitch.d.ts +277 -0
  35. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/arcregionswitch.js +370 -0
  36. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/artifact.d.ts +10 -25
  37. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/artifact.js +11 -34
  38. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/auditmanager.d.ts +22 -5
  39. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/auditmanager.js +23 -6
  40. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/auroradsql.d.ts +96 -24
  41. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/auroradsql.js +121 -30
  42. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/backup.d.ts +62 -1
  43. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/backup.js +80 -2
  44. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/backupsearch.d.ts +4 -0
  45. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/backupsearch.js +5 -1
  46. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/batch.d.ts +106 -0
  47. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/batch.js +137 -3
  48. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/bedrock.d.ts +471 -0
  49. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/bedrock.js +595 -1
  50. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/bedrockagentcore.d.ts +912 -0
  51. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/bedrockagentcore.js +1203 -0
  52. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/billing.d.ts +6 -0
  53. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/billing.js +10 -1
  54. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/billingandcostmanagementdashboards.d.ts +122 -0
  55. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/billingandcostmanagementdashboards.js +165 -0
  56. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/billingandcostmanagementrecommendedactions.d.ts +25 -0
  57. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/billingandcostmanagementrecommendedactions.js +36 -0
  58. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/braket.d.ts +6 -6
  59. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/braket.js +7 -10
  60. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/budgetservice.d.ts +6 -0
  61. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/budgetservice.js +7 -1
  62. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/certificatemanager.d.ts +30 -1
  63. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/certificatemanager.js +36 -2
  64. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/chatbot.d.ts +128 -1
  65. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/chatbot.js +134 -1
  66. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cleanrooms.d.ts +56 -0
  67. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cleanrooms.js +72 -1
  68. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cleanroomsml.d.ts +14 -0
  69. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cleanroomsml.js +18 -1
  70. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloud9.d.ts +6 -8
  71. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloud9.js +8 -13
  72. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudmap.d.ts +57 -0
  73. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudmap.js +69 -1
  74. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudtrail.d.ts +20 -0
  75. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudtrail.js +27 -1
  76. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudwatch.d.ts +8 -0
  77. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudwatch.js +12 -1
  78. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudwatchlogs.d.ts +8 -0
  79. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudwatchlogs.js +12 -1
  80. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudwatchobservabilityadminservice.d.ts +200 -9
  81. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cloudwatchobservabilityadminservice.js +258 -14
  82. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/codebuild.d.ts +1909 -4
  83. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/codebuild.js +2131 -6
  84. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/codepipeline.d.ts +8 -0
  85. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/codepipeline.js +12 -1
  86. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cognitouserpools.d.ts +8 -0
  87. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/cognitouserpools.js +12 -1
  88. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/connect.d.ts +44 -0
  89. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/connect.js +52 -1
  90. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/connectcases.d.ts +9 -1
  91. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/connectcases.js +13 -2
  92. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/connectcustomerprofiles.d.ts +106 -0
  93. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/connectcustomerprofiles.js +142 -1
  94. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/connectoutboundcampaigns.d.ts +16 -0
  95. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/connectoutboundcampaigns.js +23 -1
  96. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/controlcatalog.d.ts +8 -0
  97. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/controlcatalog.js +12 -1
  98. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/costandusagereport.d.ts +3 -0
  99. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/costandusagereport.js +4 -1
  100. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/costexplorerservice.d.ts +24 -0
  101. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/costexplorerservice.js +31 -1
  102. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/dataexchange.d.ts +16 -0
  103. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/dataexchange.js +17 -1
  104. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/datazone.d.ts +57 -3
  105. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/datazone.js +89 -8
  106. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/deadlinecloud.d.ts +17 -0
  107. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/deadlinecloud.js +18 -1
  108. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/directoryservice.d.ts +142 -0
  109. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/directoryservice.js +173 -1
  110. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/dynamodb.d.ts +16 -0
  111. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/dynamodb.js +23 -1
  112. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/ec2.d.ts +521 -17
  113. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/ec2.js +580 -29
  114. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/ec2imagebuilder.d.ts +147 -62
  115. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/ec2imagebuilder.js +155 -70
  116. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elasticblockstore.d.ts +2 -2
  117. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elasticblockstore.js +4 -4
  118. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elasticcontainerservice.d.ts +1 -30
  119. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elasticcontainerservice.js +2 -31
  120. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elastickubernetesservice.d.ts +47 -0
  121. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elastickubernetesservice.js +62 -1
  122. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elasticloadbalancing.d.ts +1 -1
  123. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elasticloadbalancing.js +2 -2
  124. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elasticmapreduce.d.ts +8 -0
  125. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elasticmapreduce.js +12 -1
  126. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elementalmediaconnect.d.ts +55 -55
  127. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elementalmediaconnect.js +56 -56
  128. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elementalmediaconvert.d.ts +8 -0
  129. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/elementalmediaconvert.js +12 -1
  130. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/emroneksemrcontainers.d.ts +2 -13
  131. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/emroneksemrcontainers.js +3 -16
  132. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/emrserverless.d.ts +8 -0
  133. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/emrserverless.js +12 -1
  134. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/endusermessagingsocial.d.ts +64 -0
  135. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/endusermessagingsocial.js +91 -3
  136. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/entityresolution.d.ts +8 -0
  137. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/entityresolution.js +12 -1
  138. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/eventbridge.d.ts +30 -0
  139. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/eventbridge.js +38 -1
  140. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/freetier.d.ts +32 -0
  141. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/freetier.js +48 -2
  142. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/fsx.d.ts +32 -0
  143. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/fsx.js +42 -1
  144. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/glue.d.ts +249 -0
  145. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/glue.js +264 -1
  146. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/gluedatabrew.d.ts +16 -0
  147. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/gluedatabrew.js +17 -1
  148. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/guardduty.d.ts +138 -0
  149. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/guardduty.js +175 -3
  150. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/healthimaging.d.ts +56 -0
  151. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/healthimaging.js +78 -1
  152. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenter.d.ts +24 -51
  153. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iamidentitycenter.js +31 -70
  154. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/identityandaccessmanagementiam.d.ts +40 -0
  155. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/identityandaccessmanagementiam.js +45 -1
  156. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/inspector2.d.ts +179 -0
  157. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/inspector2.js +232 -1
  158. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/interactivevideoservice.d.ts +30 -0
  159. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/interactivevideoservice.js +40 -1
  160. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iot.d.ts +32 -4
  161. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iot.js +46 -9
  162. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iotfleetwise.d.ts +0 -32
  163. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iotfleetwise.js +1 -39
  164. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iotmanagedintegrations.d.ts +42 -0
  165. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iotmanagedintegrations.js +47 -1
  166. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iotsitewise.d.ts +133 -0
  167. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/iotsitewise.js +178 -1
  168. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/keymanagementservice.d.ts +1 -1
  169. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/keymanagementservice.js +2 -2
  170. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/keyspacesforapachecassandra.d.ts +51 -2
  171. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/keyspacesforapachecassandra.js +68 -3
  172. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/kinesisdatastreams.d.ts +4 -0
  173. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/kinesisdatastreams.js +5 -1
  174. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/lexv2.d.ts +16 -0
  175. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/lexv2.js +23 -1
  176. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/managedserviceforprometheus.d.ts +129 -45
  177. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/managedserviceforprometheus.js +151 -46
  178. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/marketplacecatalog.d.ts +0 -32
  179. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/marketplacecatalog.js +3 -47
  180. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/marketplacemeteringservice.d.ts +4 -4
  181. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/marketplacemeteringservice.js +5 -5
  182. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/memorydb.d.ts +12 -0
  183. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/memorydb.js +16 -1
  184. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/mq.d.ts +6 -0
  185. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/mq.js +10 -1
  186. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/multi-partyapproval.d.ts +6 -6
  187. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/multi-partyapproval.js +10 -10
  188. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/neptuneanalytics.d.ts +28 -0
  189. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/neptuneanalytics.js +35 -1
  190. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/networkfirewall.d.ts +123 -3
  191. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/networkfirewall.js +163 -5
  192. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/opensearchserverless.d.ts +38 -6
  193. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/opensearchserverless.js +51 -7
  194. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/organizations.d.ts +29 -5
  195. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/organizations.js +36 -6
  196. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/outposts.d.ts +14 -0
  197. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/outposts.js +18 -1
  198. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/parallelcomputingservice.d.ts +5 -5
  199. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/parallelcomputingservice.js +6 -6
  200. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/partnercentralselling.d.ts +18 -16
  201. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/partnercentralselling.js +19 -17
  202. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/qbusiness.d.ts +87 -52
  203. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/qbusiness.js +114 -73
  204. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/qbusinessqapps.d.ts +0 -50
  205. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/qbusinessqapps.js +1 -60
  206. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/quicksight.d.ts +25 -20
  207. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/quicksight.js +35 -23
  208. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/rds.d.ts +59 -1
  209. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/rds.js +65 -2
  210. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/redshift.d.ts +0 -4
  211. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/redshift.js +1 -5
  212. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/repostprivate.d.ts +48 -0
  213. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/repostprivate.js +67 -1
  214. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/resourceexplorer.d.ts +2 -2
  215. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/resourceexplorer.js +7 -5
  216. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/s3.d.ts +187 -175
  217. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/s3.js +202 -176
  218. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/s3express.d.ts +151 -2
  219. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/s3express.js +174 -4
  220. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/s3glacier.d.ts +2 -31
  221. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/s3glacier.js +3 -36
  222. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/s3vectors.d.ts +202 -0
  223. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/s3vectors.js +272 -0
  224. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/sagemaker.d.ts +197 -1
  225. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/sagemaker.js +241 -2
  226. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/sagemakerwithmlflow.d.ts +54 -0
  227. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/sagemakerwithmlflow.js +83 -2
  228. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/savingsplans.d.ts +1 -1
  229. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/savingsplans.js +2 -2
  230. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/secretsmanager.d.ts +22 -22
  231. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/secretsmanager.js +23 -23
  232. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/securityhub.d.ts +295 -6
  233. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/securityhub.js +375 -7
  234. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/securityincidentresponse.d.ts +2 -1
  235. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/securityincidentresponse.js +3 -2
  236. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/securitylake.d.ts +4 -0
  237. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/securitylake.js +5 -1
  238. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/securitytokenservice.d.ts +10 -0
  239. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/securitytokenservice.js +13 -1
  240. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/service-oracledatabase-aws.d.ts +548 -0
  241. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/service-oracledatabase-aws.js +718 -0
  242. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/serviceformanagingawsconsoleuserexperiencecapabilities-.d.ts +41 -0
  243. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/serviceformanagingawsconsoleuserexperiencecapabilities-.js +60 -0
  244. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/servicequotas.d.ts +8 -0
  245. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/servicequotas.js +12 -1
  246. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/shield.d.ts +24 -0
  247. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/shield.js +34 -1
  248. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/shieldnetworksecuritydirector.d.ts +89 -0
  249. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/shieldnetworksecuritydirector.js +128 -0
  250. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/simpleemailservicev2.d.ts +211 -0
  251. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/simpleemailservicev2.js +256 -3
  252. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/snowdevicemanagement.d.ts +4 -0
  253. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/snowdevicemanagement.js +5 -1
  254. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/support.d.ts +24 -0
  255. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/support.js +35 -2
  256. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/systemsmanager.d.ts +27 -0
  257. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/systemsmanager.js +32 -1
  258. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/systemsmanagerforsap.d.ts +51 -3
  259. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/systemsmanagerforsap.js +76 -8
  260. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/transcribe.d.ts +27 -1
  261. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/transcribe.js +28 -2
  262. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/transform.d.ts +93 -8
  263. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/transform.js +117 -9
  264. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/usernotifications.d.ts +34 -2
  265. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/usernotifications.js +51 -5
  266. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/vpclattice.d.ts +6 -0
  267. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/vpclattice.js +10 -1
  268. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/workspaces.d.ts +83 -0
  269. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/workspaces.js +113 -1
  270. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/workspacessecurebrowser.d.ts +77 -0
  271. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/workspacessecurebrowser.js +101 -1
  272. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/workspacesthinclient.d.ts +1 -0
  273. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/workspacesthinclient.js +2 -1
  274. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/x-ray.d.ts +35 -1
  275. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/x-ray.js +40 -2
  276. package/node_modules/cdk-iam-floyd/package.json +10 -10
  277. package/package.json +2 -2
  278. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/supportrecommendations.d.ts +0 -33
  279. package/node_modules/cdk-iam-floyd/lib/generated/policy-statements/supportrecommendations.js +0 -47
package/.jsii CHANGED
@@ -19,7 +19,7 @@
19
19
  "@types/aws-lambda": "^8.10.152",
20
20
  "@types/crypto-js": "^4.2.2",
21
21
  "@types/js-yaml": "^4.0.9",
22
- "cdk-iam-floyd": "^0.711.0",
22
+ "cdk-iam-floyd": "^0.714.0",
23
23
  "crypto-js": "^4.2.0",
24
24
  "js-yaml": "^4.1.0",
25
25
  "lodash": "^4.17.21",
@@ -5072,6 +5072,6 @@
5072
5072
  "symbolId": "src/ImagePipeline/ImagePipeline:VolumeProps"
5073
5073
  }
5074
5074
  },
5075
- "version": "0.0.18",
5076
- "fingerprint": "dadOnLhYV3ZUa/kMabcTItlIfdlQgGJmeLgdN8dku2U="
5075
+ "version": "0.0.20",
5076
+ "fingerprint": "jqSdXd7GZ6IcIuxZr4rS6Ro+4ju3/YgDOlA8rA+eSMs="
5077
5077
  }
@@ -13,7 +13,7 @@ import (
13
13
  constructs "github.com/aws/constructs-go/constructs/v10/jsii"
14
14
  )
15
15
 
16
- //go:embed jjrawlins-cdk-ami-builder-0.0.17.tgz
16
+ //go:embed jjrawlins-cdk-ami-builder-0.0.19.tgz
17
17
  var tarball []byte
18
18
 
19
19
  // Initialize loads the necessary packages in the @jsii/kernel to support the enclosing module.
@@ -24,5 +24,5 @@ func Initialize() {
24
24
  constructs.Initialize()
25
25
 
26
26
  // Load this library into the kernel
27
- _jsii_.Load("@jjrawlins/cdk-ami-builder", "0.0.17", tarball)
27
+ _jsii_.Load("@jjrawlins/cdk-ami-builder", "0.0.19", tarball)
28
28
  }
@@ -1 +1 @@
1
- 0.0.17
1
+ 0.0.19
@@ -364,5 +364,5 @@ class ImagePipeline extends constructs_1.Construct {
364
364
  }
365
365
  exports.ImagePipeline = ImagePipeline;
366
366
  _a = JSII_RTTI_SYMBOL_1;
367
- ImagePipeline[_a] = { fqn: "@jjrawlins/cdk-ami-builder.ImagePipeline", version: "0.0.18" };
367
+ ImagePipeline[_a] = { fqn: "@jjrawlins/cdk-ami-builder.ImagePipeline", version: "0.0.20" };
368
368
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW1hZ2VQaXBlbGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9JbWFnZVBpcGVsaW5lL0ltYWdlUGlwZWxpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5QkFBeUI7QUFDekIsa0NBQWtDO0FBRWxDLDZDQVVxQjtBQUNyQiwyQ0FBMkM7QUFFM0MsaURBQTJDO0FBQzNDLGlEQUEwQztBQUMxQyxtRUFBd0Q7QUFDeEQsaURBQTBDO0FBQzFDLDJDQUF1QztBQUN2QyxzQ0FBc0M7QUFDdEMsZ0NBQWdDO0FBQ2hDLDBIQUFzSDtBQUN0SCx3R0FBb0c7QUFDcEcsa0RBQStDO0FBNk0vQyxNQUFhLGFBQWMsU0FBUSxzQkFBUztJQUsxQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXlCO1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxvQkFBaUUsQ0FBQztRQUN0RSxJQUFJLFdBQXdDLENBQUM7UUFDN0MsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLE1BQU0sT0FBTyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUN2QyxNQUFNLE1BQU0sR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDckMsTUFBTSxTQUFTLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzNDLE1BQU0sV0FBVyxHQUFHLElBQUksYUFBRyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUU7WUFDL0MsV0FBVyxFQUFFLHVDQUF1QztZQUNwRCxLQUFLLEVBQUUsZ0JBQWdCLFNBQVMsY0FBYztTQUMv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QUM7SUFFTyxXQUFXLENBQUMsV0FBbUI7UUFDckMsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlDLENBQUM7O0FBMVhILHNDQTRYQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAnbm9kZTpwYXRoJztcblxuaW1wb3J0IHtcbiAgQXJuLFxuICBhd3NfaWFtIGFzIGlhbSxcbiAgYXdzX2ltYWdlYnVpbGRlciBhcyBpbWFnZWJ1aWxkZXIsXG4gIGF3c19zbnMgYXMgc25zLFxuICBhd3Nfc25zX3N1YnNjcmlwdGlvbnMgYXMgc3Vic2NyaXB0aW9ucyxcbiAgQ3VzdG9tUmVzb3VyY2UsXG4gIER1cmF0aW9uLFxuICBSZW1vdmFsUG9saWN5LFxuICBTdGFjayxcbn0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gJ2F3cy1jZGstbGliL2F3cy1lYzInO1xuaW1wb3J0IHsgVnBjIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBLZXkgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3Mta21zJztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcyc7XG5pbXBvcnQgeyBTdGF0ZW1lbnQgfSBmcm9tICdjZGstaWFtLWZsb3lkJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgQ3J5cHRvSlMgZnJvbSAnY3J5cHRvLWpzJztcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSAnanMteWFtbCc7XG5pbXBvcnQgeyBDaGVja1N0YXRlTWFjaGluZVN0YXR1c0Z1bmN0aW9uIH0gZnJvbSAnLi4vTGFtYmRhcy9DaGVja1N0YXRlTWFjaGluZVN0YXR1cy9DaGVja1N0YXRlTWFjaGluZVN0YXR1cy1mdW5jdGlvbic7XG5pbXBvcnQgeyBTdGFydFN0YXRlTWFjaGluZUZ1bmN0aW9uIH0gZnJvbSAnLi4vTGFtYmRhcy9TdGFydFN0YXRlTWFjaGluZS9TdGFydFN0YXRlTWFjaGluZS1mdW5jdGlvbic7XG5pbXBvcnQgeyBTdGF0ZU1hY2hpbmUgfSBmcm9tICcuLi9TdGF0ZU1hY2hpbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElFYnNQYXJhbWV0ZXJzIHtcbiAgLyoqXG4gICAgICogU2l6ZSBvZiB0aGUgdm9sdW1lIGluIEdpQlxuICAgICAqL1xuICB2b2x1bWVTaXplOiBudW1iZXI7XG4gIC8qKlxuICAgICAqIFR5cGUgb2YgdGhlIHZvbHVtZVxuICAgICAqXG4gICAgICogQGRlZmF1bHQgZ3AyXG4gICAgICovXG4gIHZvbHVtZVR5cGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgICAqIEtNUyBLZXkgQWxpYXMgZm9yIHRoZSB2b2x1bWVcbiAgICAgKiBJZiBub3Qgc3BlY2lmaWVkLCB0aGUgZGVmYXVsdCBBTUkgZW5jcnlwdGlvbiBrZXkgYWxpYXMgd2lsbCBiZSB1c2VkXG4gICAgICogQ3VzdG9tIEtNUyBLZXlzIEFsaWFzIG5lZWQgdG8gZXhpc3QgaW4gdGhlIG90aGVyIGFjY291bnRzIGZvciBkaXN0cmlidXRpb24gdG8gd29yayBjb3JyZWN0bHkuXG4gICAgICogQGRlZmF1bHQgYWxpYXMvYXdzL2Vic1xuICAgICAqL1xuICBrbXNLZXlJZD86IHN0cmluZztcbiAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdm9sdW1lIGlzIGVuY3J5cHRlZFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICBlbmNyeXB0ZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSB2b2x1bWUgaXMgZGVsZXRlZCB3aGVuIHRoZSBpbnN0YW5jZSBpcyB0ZXJtaW5hdGVkXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gIGRlbGV0ZU9uVGVybWluYXRpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZvbHVtZVByb3BzIHtcbiAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgdm9sdW1lXG4gICAgICovXG4gIHJlYWRvbmx5IGRldmljZU5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAgICogRUJTIEJsb2NrIFN0b3JlIFBhcmFtZXRlcnNcbiAgICAgKlxuICAgICAqIEJ5IGRlZmF1bHQsIHRoZSAna21zS2V5SWQnIG9mIEVCUyB2b2x1bWUgaXMgc2V0IHRvICdhbWlFbmNyeXB0aW9uS2V5LmtleUlkJyxcbiAgICAgKiBhbmQgJ2VuY3J5cHRlZCcgaXMgc2V0IHRvICd0cnVlJy4gSWYgeW91IHdpc2ggdG8gdXNlIGEgZGlmZmVyZW50IEtNUyBLZXksXG4gICAgICogeW91IG1heSBkbyBzby4gSG93ZXZlciwgcGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHRoZSBuZWNlc3NhcnkgcGVybWlzc2lvbnNcbiAgICAgKiBhbmQgY29tcGxpYW5jZSByZXF1aXJlbWVudHMgZm9yIHRoZSBLTVMgS2V5IGFyZSBhbHJlYWR5IHNldCB1cC5cbiAgICAgKi9cbiAgcmVhZG9ubHkgZWJzOiBJRWJzUGFyYW1ldGVycztcbn1cblxuLyoqXG4gKiBCdWlsZCBjb21tYW5kcyBmb3IgdGhlIGNvbXBvbmVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBY3Rpb25Db21tYW5kcyB7XG4gIGNvbW1hbmRzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU3RlcENvbW1hbmRzIHtcbiAgbmFtZTogc3RyaW5nOyAvLyBeWy1fQS1aYS16LTAtOV1bLV9BLVphLXowLTkgXXsxLDEyNn1bLV9BLVphLXotMC05XSQvXG4gIGFjdGlvbjogJ0V4ZWN1dGVCYXNoJyB8ICdFeGVjdXRlUG93ZXJTaGVsbCcgfCAnVXBkYXRlT1MnO1xuICBpbnB1dHM/OiBJQWN0aW9uQ29tbWFuZHM7XG59XG5cbi8qKlxuICogUGhhc2VzIGZvciB0aGUgY29tcG9uZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBoYXNlcyB7XG4gIG5hbWU6ICdidWlsZCcgfCAndmFsaWRhdGUnIHwgJ3Rlc3QnO1xuICBzdGVwczogSVN0ZXBDb21tYW5kc1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElJbnB1dFBhcmFtZXRlciB7XG4gIHR5cGU6IHN0cmluZztcbiAgZGVmYXVsdDogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBJUGFyYW1ldGVycyA9IFJlY29yZDxzdHJpbmcsIElJbnB1dFBhcmFtZXRlcj47XG5cbi8qKlxuICogQ29tcG9uZW50IGRhdGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29tcG9uZW50RG9jdW1lbnQge1xuICBuYW1lPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgc2NoZW1hVmVyc2lvbj86IHN0cmluZztcbiAgcGhhc2VzOiBJUGhhc2VzW107XG59XG5cbi8qKlxuICogQ29tcG9uZW50IHByb3BzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbXBvbmVudFByb3BzIHtcbiAgbmFtZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGNvbXBvbmVudFZlcnNpb24/OiBzdHJpbmc7XG4gIHNjaGVtYVZlcnNpb24/OiBzdHJpbmc7XG4gIHBhcmFtZXRlcnM/OiBJUGFyYW1ldGVycztcbiAgcGxhdGZvcm0/OiAnTGludXgnIHwgJ1dpbmRvd3MnO1xuICBjb21wb25lbnREb2N1bWVudDogSUNvbXBvbmVudERvY3VtZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlUGlwZWxpbmVQcm9wcyB7XG4gIHJlYWRvbmx5IHN1Ym5ldElkPzogc3RyaW5nO1xuICByZWFkb25seSBzZWN1cml0eUdyb3Vwcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBkaXN0cmlidXRpb25SZWdpb25zPzogc3RyaW5nW107XG4gIC8qKlxuICAgICAqIFZwYyB0byB1c2UgZm9yIHRoZSBJbWFnZSBCdWlsZGVyIFBpcGVsaW5lXG4gICAgICovXG4gIHJlYWRvbmx5IHZwYzogVnBjO1xuICAvKipcbiAgICAgKiBMaXN0IG9mIGNvbXBvbmVudCBwcm9wc1xuICAgICAqL1xuICByZWFkb25seSBjb21wb25lbnRzOiBJQ29tcG9uZW50UHJvcHNbXTtcbiAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgaW5zdGFuY2UgcHJvZmlsZSB0aGF0IHdpbGwgYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBJbnN0YW5jZSBDb25maWd1cmF0aW9uLlxuICAgICAqL1xuICByZWFkb25seSBwcm9maWxlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAgICogQWRkaXRpb25hbCBwb2xpY2llcyB0byBhZGQgdG8gdGhlIGluc3RhbmNlIHByb2ZpbGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBJbnN0YW5jZSBDb25maWd1cmF0aW9uc1xuICAgICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsUG9saWNpZXM/OiBpYW0uTWFuYWdlZFBvbGljeVtdO1xuXG4gIC8qKlxuICAgICAqIFVzZXJEYXRhIHNjcmlwdCB0aGF0IHdpbGwgb3ZlcnJpZGUgZGVmYXVsdCBvbmUgKGlmIHNwZWNpZmllZClcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gbm9uZVxuICAgICAqL1xuICByZWFkb25seSB1c2VyRGF0YVNjcmlwdD86IHN0cmluZztcbiAgLyoqXG4gICAgICogSW1hZ2UgcmVjaXBlIHZlcnNpb24gKERlZmF1bHQ6IDAuMC4xKVxuICAgICAqL1xuICByZWFkb25seSBpbWFnZVJlY2lwZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgICogVGhlIHNvdXJjZSAocGFyZW50KSBpbWFnZSB0aGF0IHRoZSBpbWFnZSByZWNpcGUgdXNlcyBhcyBpdHMgYmFzZSBlbnZpcm9ubWVudC4gVGhlIHZhbHVlIGNhbiBiZSB0aGUgcGFyZW50IGltYWdlIEFSTiBvciBhbiBJbWFnZSBCdWlsZGVyIEFNSSBJRFxuICAgICAqL1xuICByZWFkb25seSBwYXJlbnRJbWFnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgICAqIExpc3Qgb2YgaW5zdGFuY2UgdHlwZXMgdXNlZCBpbiB0aGUgSW5zdGFuY2UgQ29uZmlndXJhdGlvbiAoRGVmYXVsdDogWyAndDMubWVkaXVtJywgJ201LmxhcmdlJywgJ201LnhsYXJnZScgXSlcbiAgICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VUeXBlcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICAgKiBQbGF0Zm9ybSB0eXBlIExpbnV4IG9yIFdpbmRvd3MgKERlZmF1bHQ6IExpbnV4KVxuICAgICAqL1xuICByZWFkb25seSBwbGF0Zm9ybT86ICdMaW51eCcgfCAnV2luZG93cyc7XG4gIC8qKlxuICAgICAqIEVtYWlsIHVzZWQgdG8gcmVjZWl2ZSBJbWFnZSBCdWlsZGVyIFBpcGVsaW5lIE5vdGlmaWNhdGlvbnMgdmlhIFNOU1xuICAgICAqL1xuICByZWFkb25seSBlbWFpbD86IHN0cmluZztcbiAgLyoqXG4gICAgICogTGlzdCBvZiBzZWN1cml0eSBncm91cCBJRHMgZm9yIHRoZSBJbmZyYXN0cnVjdHVyZSBDb25maWd1cmF0aW9uXG4gICAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBJZHM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAgICogU3VibmV0IElEIGZvciB0aGUgSW5mcmFzdHJ1Y3R1cmUgQ29uZmlndXJhdGlvblxuICAgICAqL1xuICByZWFkb25seSBlYnNWb2x1bWVDb25maWd1cmF0aW9ucz86IFZvbHVtZVByb3BzW107XG4gIC8qKlxuICAgICAqIFNldCB0byB0cnVlIGlmIHlvdSB3YW50IHRvIGVuYWJsZSBjb250aW51b3VzIHZ1bG5lcmFiaWxpdHkgc2NhbnMgdGhyb3VnaCBBV1MgSW5wZWN0b3JcbiAgICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlVnVsblNjYW5zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAgICogU3RvcmUgdnVsbmVyYWJpbGl0eSBzY2FucyB0aHJvdWdoIEFXUyBJbnNwZWN0b3IgaW4gRUNSIHVzaW5nIHRoaXMgcmVwbyBuYW1lIChpZiBvcHRpb24gaXMgZW5hYmxlZClcbiAgICAgKi9cbiAgcmVhZG9ubHkgdnVsblNjYW5zUmVwb05hbWU/OiBzdHJpbmc7XG4gIC8qKlxuICAgICAqIFN0b3JlIHZ1bG5lcmFiaWxpdHkgc2NhbnMgdGhyb3VnaCBBV1MgSW5zcGVjdG9yIGluIEVDUiB1c2luZyB0aGVzZSBpbWFnZSB0YWdzIChpZiBvcHRpb24gaXMgZW5hYmxlZClcbiAgICAgKi9cbiAgcmVhZG9ubHkgdnVsblNjYW5zUmVwb1RhZ3M/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICAgKiBUaGlzIHZhcmlhYmxlIHJlcHJlc2VudHMgYW4gYXJyYXkgb2Ygc2hhcmVkIGFjY291bnQgSURzLlxuICAgICAqIEl0IGlzIG9wdGlvbmFsIGFuZCByZWFkb25seS5cbiAgICAgKiBJZiBpdCBpcyBwcm92aWRlZCwgdGhpcyBBTUkgd2lsbCBiZSB2aXNpYmxlIHRvIHRoZSBhY2NvdW50cyBpbiB0aGUgYXJyYXkuXG4gICAgICogIEluIG9yZGVyIHRvIHNoYXJlIHRoZSBBTUkgd2l0aCBvdGhlciBhY2NvdW50cywgeW91IG11c3Qgc3BlY2lmeSBhIEtNUyBrZXkgSUQgZm9yIHRoZSBFQlMgdm9sdW1lIGNvbmZpZ3VyYXRpb24gYXMgQVdTIGRvZXMgbm90IGFsbG93IHNoYXJpbmcgQU1JcyBlbmNyeXB0ZWQgd2l0aCB0aGUgZGVmYXVsdCBBTUkgZW5jcnlwdGlvbiBrZXkuXG4gICAgICogQHR5cGUge0FycmF5PHN0cmluZz59XG4gICAgICogQHJlYWRvbmx5XG4gICAgICovXG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbkFjY291bnRJZHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICAgKiBGbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgZGVidWcgaW1hZ2UgcGlwZWxpbmUgaXMgZW5hYmxlZCBvciBub3QuXG4gICAgICogVGhpcyB2YXJpYWJsZSBpcyBvcHRpb25hbC4gRGVmYXVsdCB2YWx1ZSBpcyBmYWxzZS5cbiAgICAgKiAgRnVuY3Rpb25hbGx5LCB0aGlzIHdpbGwgZmxhZyB0byByZXR1cm4gYXMgZmluaXNoZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgZmlyc3QgY2hlY2sgdG8gc2VlIGlmIHRoZSBpbWFnZSBwaXBlbGluZSBoYXMgZmluaXNoZWQuXG4gICAgICogIFRoaXMgaXMgdXNlZnVsIGZvciBkZWJ1Z2dpbmcgdGhlIGltYWdlIHBpcGVsaW5lLiAgSG93ZXZlciwgdGhlcmUgd2lsbCBiZSBubyBBTUkgdmFsdWUgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKiBAcmVhZG9ubHlcbiAgICAgKi9cbiAgcmVhZG9ubHkgZGVidWdJbWFnZVBpcGVsaW5lPzogYm9vbGVhbjtcblxuICAvKipcbiAgICAgKiBUaGUgYWxpYXMgb2YgdGhlIEtNUyBrZXkgdXNlZCBmb3IgZW5jcnlwdGlvbiBhbmQgZGVjcnlwdGlvbiBvZiBjb250ZW50IGluIHRoZSBkaXN0cmlidXRpb24uXG4gICAgICogVGhpcyBwcm9wZXJ0eSBpcyBvcHRpb25hbCBhbmQgcmVhZG9ubHkuXG4gICAgICogVGhlIGRlZmF1bHQgZW5jcnlwdGlvbiBrZXkgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBjcm9zcy1hY2NvdW50IEFNSSBzaGFyaW5nLlxuICAgICAqIElmIHlvdSBzcGVjaWZ5IGRpc3RyaWJ1dGlvbkFjY291bnRJZHMsIHlvdSBtdXN0IHNwZWNpZnkgYSBub24tZGVmYXVsdCBlbmNyeXB0aW9uIGtleSB1c2luZyB0aGlzIHByb3BlcnR5LiBPdGhlcndpc2UsIEltYWdlIEJ1aWxkZXIgd2lsbCB0aHJvdyBhbiBlcnJvci5cbiAgICAgKiBLZWVwIGluIG1pbmQgdGhhdCB0aGUgS01TIGtleSBpbiB0aGUgZGlzdHJpYnV0aW9uIGFjY291bnQgbXVzdCBhbGxvdyB0aGUgRUMySW1hZ2VCdWlsZGVyRGlzdHJpYnV0aW9uQ3Jvc3NBY2NvdW50Um9sZSByb2xlIHRvIHVzZSB0aGUga2V5LlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICogQHJlYWRvbmx5XG4gICAgICovXG4gIHJlYWRvbmx5IGRpc3RyaWJ1dGlvbkttc0tleUFsaWFzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgSW1hZ2VQaXBlbGluZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGltYWdlUmVjaXBlQ29tcG9uZW50czogaW1hZ2VidWlsZGVyLkNmbkltYWdlUmVjaXBlLkNvbXBvbmVudENvbmZpZ3VyYXRpb25Qcm9wZXJ0eVtdO1xuICBpbWFnZVBpcGVsaW5lQXJuOiBzdHJpbmc7XG4gIGltYWdlSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSW1hZ2VQaXBlbGluZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBsZXQgaW5mcmFzdHJ1Y3R1cmVDb25maWc6IGltYWdlYnVpbGRlci5DZm5JbmZyYXN0cnVjdHVyZUNvbmZpZ3VyYXRpb247XG4gICAgbGV0IGltYWdlUmVjaXBlOiBpbWFnZWJ1aWxkZXIuQ2ZuSW1hZ2VSZWNpcGU7XG4gICAgdGhpcy5pbWFnZVJlY2lwZUNvbXBvbmVudHMgPSBbXTtcbiAgICB0aGlzLmltYWdlSWQgPSAnJztcbiAgICB0aGlzLmltYWdlUGlwZWxpbmVBcm4gPSAnJztcbiAgICBjb25zdCBhY2NvdW50ID0gU3RhY2sub2YodGhpcykuYWNjb3VudDtcbiAgICBjb25zdCByZWdpb24gPSBTdGFjay5vZih0aGlzKS5yZWdpb247XG4gICAgY29uc3Qgc3RhY2tOYW1lID0gU3RhY2sub2YodGhpcykuc3RhY2tOYW1lO1xuICAgIGNvbnN0IHRvcGljS21zS2V5ID0gbmV3IEtleSh0aGlzLCAnVG9waWNLbXNLZXknLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0tNUyBLZXkgdXNlZCB0byBlbmNyeXB0IHRoZSBTTlMgdG9waWMnLFxuICAgICAgYWxpYXM6IGAvYW1pLWJ1aWxkZXIvJHtzdGFja05hbWV9LVRvcGljS21zS2V5YCxcbiAgICB9KTtcbiAgICAvLyBDb25zdHJ1Y3QgY29kZSBiZWxvd1xuICAgIGNvbnN0IHRvcGljID0gbmV3IHNucy5Ub3BpYyh0aGlzLCAnSW1hZ2VCdWlsZGVyVG9waWMnLCB7XG4gICAgICBkaXNwbGF5TmFtZTogJ0ltYWdlIEJ1aWxkZXIgTm90aWZ5JyxcbiAgICAgIG1hc3RlcktleTogdG9waWNLbXNLZXksXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMuZW1haWwgIT0gbnVsbCkge1xuICAgICAgdG9waWMuYWRkU3Vic2NyaXB0aW9uKG5ldyBzdWJzY3JpcHRpb25zLkVtYWlsU3Vic2NyaXB0aW9uKHByb3BzLmVtYWlsKSk7XG4gICAgfVxuXG4gICAgY29uc3Qgcm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdlYzIuYW1hem9uYXdzLmNvbScpLFxuICAgICAgZGVzY3JpcHRpb246ICdJQU0gcm9sZSB1c2VkIGFzIHBhcnQgb2YgYW4gSW1hZ2UgQnVpbGRlciBwaXBlbGluZScsXG4gICAgfSk7XG5cbiAgICByb2xlLmFkZE1hbmFnZWRQb2xpY3koaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdFQzJJbnN0YW5jZVByb2ZpbGVGb3JJbWFnZUJ1aWxkZXInKSk7XG4gICAgcm9sZS5hZGRNYW5hZ2VkUG9saWN5KGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZSgnRUMySW5zdGFuY2VQcm9maWxlRm9ySW1hZ2VCdWlsZGVyRUNSQ29udGFpbmVyQnVpbGRzJykpO1xuICAgIHJvbGUuYWRkTWFuYWdlZFBvbGljeShpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ0FtYXpvblNTTU1hbmFnZWRJbnN0YW5jZUNvcmUnKSk7XG4gICAgaWYgKHR5cGVvZiBwcm9wcy5hZGRpdGlvbmFsUG9saWNpZXMgIT09ICd1bmRlZmluZWQnICYmIHByb3BzLmFkZGl0aW9uYWxQb2xpY2llcy5sZW5ndGggPj0gMSkge1xuICAgICAgZm9yIChjb25zdCBwb2xpY3kgb2YgcHJvcHMuYWRkaXRpb25hbFBvbGljaWVzKSB7XG4gICAgICAgIHJvbGUuYWRkTWFuYWdlZFBvbGljeShwb2xpY3kpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGluc3RhbmNlUHJvZmlsZU5hbWUgPSBwcm9wcy5wcm9maWxlTmFtZSA/PyBgJHtzdGFja05hbWV9LUluc3RhbmNlUHJvZmlsZWA7XG4gICAgY29uc3QgaW5mcmFDb25maWdOYW1lID0gYCR7c3RhY2tOYW1lfS1JbmZyYXN0cnVjdHVyZUNvbmZpZ3VyYXRpb25gO1xuICAgIGNvbnN0IGltYWdlUmVjaXBlTmFtZSA9IGAke3N0YWNrTmFtZX0tSW1hZ2VSZWNpcGVgO1xuICAgIGNvbnN0IGltYWdlUmVjaXBlVmVyc2lvbiA9IHByb3BzLmltYWdlUmVjaXBlVmVyc2lvbiA/PyAnMC4wLjEnO1xuICAgIGNvbnN0IHBpcGVsaW5lQmFzZU5hbWUgPSBgJHtzdGFja05hbWV9LUltYWdlUGlwZWxpbmVgO1xuICAgIGNvbnN0IHBpcGVsaW5lTmFtZSA9IGAke3BpcGVsaW5lQmFzZU5hbWV9LSR7aW1hZ2VSZWNpcGVWZXJzaW9uLnJlcGxhY2UoL1xcLi9nLCAnLScpfWA7XG5cbiAgICAvLyBVc2UgdGhlIGZpcnN0IHZvbHVtZSBjb25maWd1cmF0aW9uJ3MgS01TIGtleSBJRCBhcyB0aGUgZWZmZWN0aXZlIEtNUyBrZXkgSURcbiAgICAvLyBJZiB0aGUgZmlyc3Qgdm9sdW1lIGNvbmZpZ3VyYXRpb24gZG9lcyBub3QgaGF2ZSBhIEtNUyBrZXkgSUQsIHVzZSB0aGUgZGVmYXVsdCBBTUkgZW5jcnlwdGlvbiBrZXlcbiAgICAvLyBLZWVwIGluIG1pbmQgdGhvdWdoIHRoYXQgZGVmYXVsdCBBTUkgZW5jcnlwdGlvbiBrZXkgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBjcm9zcy1hY2NvdW50IEFNSSBzaGFyaW5nXG4gICAgY29uc3QgZGlzdHJpYnV0aW9uS2V5QWxpYXMgPSBwcm9wcy5kaXN0cmlidXRpb25LbXNLZXlBbGlhcyA/PyAnYWxpYXMvYXdzL2Vicyc7XG4gICAgY29uc3QgZWJzVm9sdW1lRWZmZWN0aXZlS21zQWxpYXMgPSBwcm9wcy5lYnNWb2x1bWVDb25maWd1cmF0aW9ucz8uWzBdPy5lYnM/Lmttc0tleUlkXG4gICAgICA/IHByb3BzLmVic1ZvbHVtZUNvbmZpZ3VyYXRpb25zIVswXS5lYnMua21zS2V5SWRcbiAgICAgIDogKHByb3BzLmRpc3RyaWJ1dGlvbkttc0tleUFsaWFzID8/ICdhbGlhcy9hd3MvZWJzJyk7XG4gICAgY29uc3QgZGlzdHJpYnV0aW9uQWNjb3VudElkcyA9IHByb3BzLmRpc3RyaWJ1dGlvbkFjY291bnRJZHMgPz8gW107XG4gICAgY29uc3QgZGlzdHJpYnV0aW9uUmVnaW9ucyA9IHByb3BzLmRpc3RyaWJ1dGlvblJlZ2lvbnMgPz8gW107XG5cbiAgICBpZiAoKHByb3BzLmRpc3RyaWJ1dGlvblJlZ2lvbnM/Lmxlbmd0aCA9PT0gMCAmJiBwcm9wcy5kaXN0cmlidXRpb25BY2NvdW50SWRzPy5sZW5ndGgpIHx8XG4gICAgICAocHJvcHMuZGlzdHJpYnV0aW9uUmVnaW9ucz8ubGVuZ3RoICYmIHByb3BzLmRpc3RyaWJ1dGlvbkFjY291bnRJZHM/Lmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGlzdHJpYnV0aW9uUmVnaW9ucyBtdXN0IGJlIHNwZWNpZmllZCBpZiBkaXN0cmlidXRpb25BY2NvdW50SWRzIGlzIHNwZWNpZmllZCcpO1xuICAgIH1cblxuICAgIGlmICgocHJvcHMuZGlzdHJpYnV0aW9uUmVnaW9ucz8ubGVuZ3RoICYmIHByb3BzLmRpc3RyaWJ1dGlvbkFjY291bnRJZHM/Lmxlbmd0aCkgJiYgcHJvcHMuZGlzdHJpYnV0aW9uS21zS2V5QWxpYXMgPT09ICdhbGlhcy9hd3MvZWJzJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJZiBkaXN0cmlidXRpb25SZWdpb25zIGFuZCBkaXN0cmlidXRpb25BY2NvdW50SWRzIGFyZSBzcGVjaWZpZWQsIGRpc3RyaWJ1dGlvbkttc0tleUFsaWFzIG11c3QgYmUgc3BlY2lmaWVkJyk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvZmlsZSA9IG5ldyBpYW0uQ2ZuSW5zdGFuY2VQcm9maWxlKHRoaXMsICdJbnN0YW5jZVByb2ZpbGUnLCB7XG4gICAgICByb2xlczogW3JvbGUucm9sZU5hbWVdLFxuICAgICAgaW5zdGFuY2VQcm9maWxlTmFtZTogaW5zdGFuY2VQcm9maWxlTmFtZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlZmF1bHRHcm91cCA9IG5ldyBlYzIuU2VjdXJpdHlHcm91cCh0aGlzLCAnU2VjdXJpdHlHcm91cCcsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5zZWN1cml0eUdyb3VwcyA9PSBudWxsIHx8IHByb3BzLnN1Ym5ldElkID09IG51bGwpIHtcbiAgICAgIGluZnJhc3RydWN0dXJlQ29uZmlnID0gbmV3IGltYWdlYnVpbGRlci5DZm5JbmZyYXN0cnVjdHVyZUNvbmZpZ3VyYXRpb24odGhpcywgJ0luZnJhc3RydWN0dXJlQ29uZmlndXJhdGlvbicsIHtcbiAgICAgICAgaW5zdGFuY2VQcm9maWxlTmFtZTogaW5zdGFuY2VQcm9maWxlTmFtZSxcbiAgICAgICAgbmFtZTogaW5mcmFDb25maWdOYW1lLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0luZnJhc3RydWN0dXJlIENvbmZpZ3VyYXRpb24gZm9yIEltYWdlIEJ1aWxkZXInLFxuICAgICAgICBpbnN0YW5jZVR5cGVzOiBwcm9wcy5pbnN0YW5jZVR5cGVzID8/IFsndDMubWVkaXVtJywgJ201LmxhcmdlJywgJ201LnhsYXJnZSddLFxuICAgICAgICBzbnNUb3BpY0FybjogdG9waWMudG9waWNBcm4sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBJZHM6IFtkZWZhdWx0R3JvdXAuc2VjdXJpdHlHcm91cElkXSxcbiAgICAgICAgc3VibmV0SWQ6IHByb3BzLnZwYy5wdWJsaWNTdWJuZXRzWzBdLnN1Ym5ldElkLFxuICAgICAgfSk7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgaW5mcmFzdHJ1Y3R1cmVDb25maWcgPSBuZXcgaW1hZ2VidWlsZGVyLkNmbkluZnJhc3RydWN0dXJlQ29uZmlndXJhdGlvbih0aGlzLCAnSW5mcmFzdHJ1Y3R1cmVDb25maWd1cmF0aW9uJywge1xuICAgICAgICBpbnN0YW5jZVByb2ZpbGVOYW1lOiBpbnN0YW5jZVByb2ZpbGVOYW1lLFxuICAgICAgICBuYW1lOiBpbmZyYUNvbmZpZ05hbWUsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnSW5mcmFzdHJ1Y3R1cmUgQ29uZmlndXJhdGlvbiBmb3IgSW1hZ2UgQnVpbGRlcicsXG4gICAgICAgIGluc3RhbmNlVHlwZXM6IHByb3BzLmluc3RhbmNlVHlwZXMgPz8gWyd0My5tZWRpdW0nLCAnbTUubGFyZ2UnLCAnbTUueGxhcmdlJ10sXG4gICAgICAgIHNuc1RvcGljQXJuOiB0b3BpYy50b3BpY0FybixcbiAgICAgICAgc2VjdXJpdHlHcm91cElkczogcHJvcHMuc2VjdXJpdHlHcm91cHMsXG4gICAgICAgIHN1Ym5ldElkOiBwcm9wcy5zdWJuZXRJZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpbmZyYXN0cnVjdHVyZUNvbmZpZy5hZGREZXBlbmRlbmN5KHByb2ZpbGUpO1xuXG4gICAgLyoqXG4gICAgICAgICAqIEltYWdlIHJlY2lwZSBjb25maWd1cmF0aW9uXG4gICAgICAgICAqL1xuICAgIGxldCBpbWFnZVJlY2lwZVByb3BzOiBpbWFnZWJ1aWxkZXIuQ2ZuSW1hZ2VSZWNpcGVQcm9wcztcbiAgICBpbWFnZVJlY2lwZVByb3BzID0ge1xuICAgICAgY29tcG9uZW50czogW10sXG4gICAgICBuYW1lOiBpbWFnZVJlY2lwZU5hbWUsXG4gICAgICBwYXJlbnRJbWFnZTogcHJvcHMucGFyZW50SW1hZ2UsXG4gICAgICB2ZXJzaW9uOiBpbWFnZVJlY2lwZVZlcnNpb24gPz8gJzAuMC4xJyxcbiAgICB9O1xuICAgIGlmIChwcm9wcy51c2VyRGF0YVNjcmlwdCkge1xuICAgICAgaW1hZ2VSZWNpcGVQcm9wcyA9IHtcbiAgICAgICAgLi4uaW1hZ2VSZWNpcGVQcm9wcyxcbiAgICAgICAgYWRkaXRpb25hbEluc3RhbmNlQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgIHVzZXJEYXRhT3ZlcnJpZGU6IHByb3BzLnVzZXJEYXRhU2NyaXB0LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZWJzVm9sdW1lQ29uZmlndXJhdGlvbnM/LlswXS5lYnMpIHtcbiAgICAgIC8vIEdvIG92ZXIgZWFjaCBjb25maWd1cmF0aW9uIGFuZCBzZXQgdGhlIGRlZmF1bHRcbiAgICAgIGZvciAoY29uc3QgY29uZmlnIG9mIHByb3BzLmVic1ZvbHVtZUNvbmZpZ3VyYXRpb25zISkge1xuICAgICAgICAvLyBJZiBlbmNyeXB0aW9uIGlzIG5vdCBzZXQsIGVuYWJsZSBpdFxuICAgICAgICBpZiAoY29uZmlnLmVicy5lbmNyeXB0ZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNvbmZpZy5lYnMuZW5jcnlwdGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIEtNUyBLZXkgSUQgaXMgbm90IHNldCwgdXNlIHRoZSBkZWZhdWx0XG4gICAgICAgIGlmICghY29uZmlnLmVicy5rbXNLZXlJZCkge1xuICAgICAgICAgIGNvbmZpZy5lYnMua21zS2V5SWQgPSBlYnNWb2x1bWVFZmZlY3RpdmVLbXNBbGlhcztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGRlbGV0ZU9uVGVybWluYXRpb24gaXMgbm90IHNldCwgZW5hYmxlIGl0XG4gICAgICAgIGlmICghY29uZmlnLmVicy5kZWxldGVPblRlcm1pbmF0aW9uKSB7XG4gICAgICAgICAgY29uZmlnLmVicy5kZWxldGVPblRlcm1pbmF0aW9uID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaW1hZ2VSZWNpcGVQcm9wcyA9IHtcbiAgICAgICAgLi4uaW1hZ2VSZWNpcGVQcm9wcyxcbiAgICAgICAgYmxvY2tEZXZpY2VNYXBwaW5nczogcHJvcHMuZWJzVm9sdW1lQ29uZmlndXJhdGlvbnMsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBpbWFnZVJlY2lwZVByb3BzID0ge1xuICAgICAgICAuLi5pbWFnZVJlY2lwZVByb3BzLFxuICAgICAgICBibG9ja0RldmljZU1hcHBpbmdzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGV2aWNlTmFtZTogJy9kZXYvc2RhMScsXG4gICAgICAgICAgICBlYnM6IHtcbiAgICAgICAgICAgICAga21zS2V5SWQ6ICdhbGlhcy9hd3MvZWJzJyxcbiAgICAgICAgICAgICAgZW5jcnlwdGVkOiB0cnVlLFxuICAgICAgICAgICAgICB2b2x1bWVTaXplOiAzMCxcbiAgICAgICAgICAgICAgdm9sdW1lVHlwZTogJ2dwMycsXG4gICAgICAgICAgICAgIGRlbGV0ZU9uVGVybWluYXRpb246IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgIH1cbiAgICBpbWFnZVJlY2lwZSA9IG5ldyBpbWFnZWJ1aWxkZXIuQ2ZuSW1hZ2VSZWNpcGUodGhpcywgJ0ltYWdlUmVjaXBlJywgaW1hZ2VSZWNpcGVQcm9wcyk7XG5cbiAgICBwcm9wcy5jb21wb25lbnRzLmZvckVhY2goKGNvbXBvbmVudDogSUNvbXBvbmVudFByb3BzLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICBjb25zdCBjb21wb25lbnROYW1lID0gY29tcG9uZW50Lm5hbWU/LnJlcGxhY2UoLyAvZywgJy0nKTtcbiAgICAgIGNvbXBvbmVudC5uYW1lID0gY29tcG9uZW50TmFtZTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudEhhc2ggPSB0aGlzLnN0cmluZ1RvTUQ1KEpTT04uc3RyaW5naWZ5KGNvbXBvbmVudCkpO1xuICAgICAgY29uc3QgY29tcG9uZW50RG9jdW1lbnRIYXNoID0gdGhpcy5zdHJpbmdUb01ENShKU09OLnN0cmluZ2lmeShjb21wb25lbnQuY29tcG9uZW50RG9jdW1lbnQpKTtcbiAgICAgIGNvbnN0IGNvbXBvbmVudERvY3VtZW50OiBJQ29tcG9uZW50RG9jdW1lbnQgPSB7XG4gICAgICAgIG5hbWU6IGNvbXBvbmVudE5hbWUgPz8gYCR7c3RhY2tOYW1lfS0ke2NvbXBvbmVudERvY3VtZW50SGFzaH0tJHtpbmRleH1gLFxuICAgICAgICBkZXNjcmlwdGlvbjogY29tcG9uZW50LmRlc2NyaXB0aW9uLFxuICAgICAgICBzY2hlbWFWZXJzaW9uOiBjb21wb25lbnQuc2NoZW1hVmVyc2lvbiA/PyAnMS4wJyxcbiAgICAgICAgcGhhc2VzOiBjb21wb25lbnQuY29tcG9uZW50RG9jdW1lbnQucGhhc2VzLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGRhdGEgPSB5YW1sLmR1bXAoY29tcG9uZW50RG9jdW1lbnQpO1xuICAgICAgbGV0IG5ld0NvbXBvbmVudCA9IG5ldyBpbWFnZWJ1aWxkZXIuQ2ZuQ29tcG9uZW50KHRoaXMsIGNvbXBvbmVudC5uYW1lID8/IGBDb21wb25lbnQtJHtpbmRleH1gLCB7XG4gICAgICAgIG5hbWU6IGNvbXBvbmVudC5uYW1lID8/IGAke3N0YWNrTmFtZS50b0xvd2VyQ2FzZSgpfS0ke2NvbXBvbmVudEhhc2h9LSR7aW5kZXh9YCxcbiAgICAgICAgZGVzY3JpcHRpb246IGNvbXBvbmVudC5kZXNjcmlwdGlvbixcbiAgICAgICAgcGxhdGZvcm06IGNvbXBvbmVudC5wbGF0Zm9ybSA/PyAnTGludXgnLFxuICAgICAgICB2ZXJzaW9uOiBjb21wb25lbnQuY29tcG9uZW50VmVyc2lvbiA/PyBwcm9wcy5pbWFnZVJlY2lwZVZlcnNpb24gPz8gJzAuMC4xJyxcbiAgICAgICAgZGF0YTogZGF0YSxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBhZGQgdGhlIGNvbXBvbmVudCB0byB0aGUgSW1hZ2UgUmVjaXBlXG4gICAgICB0aGlzLmltYWdlUmVjaXBlQ29tcG9uZW50cy5wdXNoKHsgY29tcG9uZW50QXJuOiBuZXdDb21wb25lbnQuYXR0ckFybiB9KTtcbiAgICAgIGltYWdlUmVjaXBlLmNvbXBvbmVudHMgPSB0aGlzLmltYWdlUmVjaXBlQ29tcG9uZW50cztcbiAgICB9KTtcblxuICAgIGNvbnN0IGltYWdlUmVjaXBlSGFzaCA9IHRoaXMuc3RyaW5nVG9NRDUoSlNPTi5zdHJpbmdpZnkodGhpcy5pbWFnZVJlY2lwZUNvbXBvbmVudHMpKTtcbiAgICBpbWFnZVJlY2lwZS5uYW1lID0gYCR7aW1hZ2VSZWNpcGVOYW1lfS0ke2ltYWdlUmVjaXBlSGFzaH0tJHtpbWFnZVJlY2lwZVZlcnNpb24ucmVwbGFjZSgvXFwuL2csICctJyl9YDtcblxuICAgIGxldCBpbWFnZVBpcGVsaW5lUHJvcHM6IGltYWdlYnVpbGRlci5DZm5JbWFnZVBpcGVsaW5lUHJvcHM7XG4gICAgaW1hZ2VQaXBlbGluZVByb3BzID0ge1xuICAgICAgaW5mcmFzdHJ1Y3R1cmVDb25maWd1cmF0aW9uQXJuOiBpbmZyYXN0cnVjdHVyZUNvbmZpZy5hdHRyQXJuLFxuICAgICAgbmFtZTogcGlwZWxpbmVOYW1lLFxuICAgICAgZGVzY3JpcHRpb246ICdJbWFnZSBwaXBlbGluZScsXG4gICAgICBpbWFnZVJlY2lwZUFybjogaW1hZ2VSZWNpcGUuYXR0ckFybixcbiAgICB9O1xuICAgIGlmIChwcm9wcy5lbmFibGVWdWxuU2NhbnMpIHtcbiAgICAgIGltYWdlUGlwZWxpbmVQcm9wcyA9IHtcbiAgICAgICAgLi4uaW1hZ2VQaXBlbGluZVByb3BzLFxuICAgICAgICBpbWFnZVNjYW5uaW5nQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgIGltYWdlU2Nhbm5pbmdFbmFibGVkOiBwcm9wcy5lbmFibGVWdWxuU2NhbnMsXG4gICAgICAgICAgZWNyQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgcmVwb3NpdG9yeU5hbWU6IHByb3BzLnZ1bG5TY2Fuc1JlcG9OYW1lLFxuICAgICAgICAgICAgY29udGFpbmVyVGFnczogcHJvcHMudnVsblNjYW5zUmVwb1RhZ3MsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfVxuICAgIGlmIChkaXN0cmlidXRpb25BY2NvdW50SWRzLmxlbmd0aCA+IDAgJiYgZGlzdHJpYnV0aW9uUmVnaW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBkaXN0cmlidXRpb25zTGlzdDogaW1hZ2VidWlsZGVyLkNmbkRpc3RyaWJ1dGlvbkNvbmZpZ3VyYXRpb24uRGlzdHJpYnV0aW9uUHJvcGVydHlbXSA9IFtdO1xuICAgICAgZGlzdHJpYnV0aW9uUmVnaW9ucy5mb3JFYWNoKGRpc3RyaWJ1dGlvblJlZ2lvbiA9PiB7XG4gICAgICAgIGNvbnN0IGRpc3RyaWJ1dGlvbkNvbmZpZzogYW55ID0ge1xuICAgICAgICAgIHJlZ2lvbjogZGlzdHJpYnV0aW9uUmVnaW9uLFxuICAgICAgICAgIGFtaURpc3RyaWJ1dGlvbkNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAgIC8vQ2FwaXRhbCBjYXNlIGhlcmUgYmVjYXVzZSBpdCdzIGFuIG9iamVjdCBvZiB0eXBlIGFueSwgYnV0IGNhcGl0YWwgY2FzZSBpcyB3aGF0IGlzIGV4cGVjdGVkIGluIENsb3VkRm9ybWF0aW9uXG4gICAgICAgICAgICAvL2h0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWltYWdlYnVpbGRlci1kaXN0cmlidXRpb25jb25maWd1cmF0aW9uLWFtaWRpc3RyaWJ1dGlvbmNvbmZpZ3VyYXRpb24uaHRtbFxuICAgICAgICAgICAgTmFtZTogYCR7aW1hZ2VSZWNpcGVOYW1lfS0ke2Rpc3RyaWJ1dGlvblJlZ2lvbn0te3tpbWFnZWJ1aWxkZXI6YnVpbGREYXRlfX1gLFxuICAgICAgICAgICAgRGVzY3JpcHRpb246IGBjb3B5IEFNSSAke2ltYWdlUmVjaXBlTmFtZX0gdG8gJHtkaXN0cmlidXRpb25SZWdpb259YCxcbiAgICAgICAgICAgIFRhcmdldEFjY291bnRJZHM6IGRpc3RyaWJ1dGlvbkFjY291bnRJZHMsXG4gICAgICAgICAgICBMYXVuY2hQZXJtaXNzaW9uQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICBVc2VySWRzOiBkaXN0cmlidXRpb25BY2NvdW50SWRzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIEttc0tleUlkOiBkaXN0cmlidXRpb25LZXlBbGlhcywgLy91c2luZyBkZWZhdWx0IEFXUy1tYW5hZ2VkIGtleSBpZiBvbmUgaXNuJ3QgZ2l2ZW4gaXMgcHJvaGliaXRlZFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIGRpc3RyaWJ1dGlvbnNMaXN0LnB1c2goZGlzdHJpYnV0aW9uQ29uZmlnKTtcbiAgICAgIH0pO1xuICAgICAgY29uc3QgYW1pRGlzdHJpYnV0aW9uQ29uZmlndXJhdGlvbiA9IG5ldyBpbWFnZWJ1aWxkZXIuQ2ZuRGlzdHJpYnV0aW9uQ29uZmlndXJhdGlvbih0aGlzLCAnYW1pRGlzdHJpYnV0aW9uQ29uZmlndXJhdGlvbicsIHtcbiAgICAgICAgbmFtZTogYCR7aW1hZ2VSZWNpcGVOYW1lfS1kaXN0cmlidXRpb24tY29uZmlnLSR7aW1hZ2VSZWNpcGVWZXJzaW9uLnJlcGxhY2UoL1xcLi9nLCAnLScpfWAsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgQ3Jvc3MgYWNjb3VudCBkaXN0cmlidXRpb24gc2V0dGluZ3MgZm9yICR7aW1hZ2VSZWNpcGVOYW1lfWAsXG4gICAgICAgIGRpc3RyaWJ1dGlvbnM6IGRpc3RyaWJ1dGlvbnNMaXN0LFxuICAgICAgfSk7XG4gICAgICBpbWFnZVBpcGVsaW5lUHJvcHMgPSB7XG4gICAgICAgIC4uLmltYWdlUGlwZWxpbmVQcm9wcyxcbiAgICAgICAgZGlzdHJpYnV0aW9uQ29uZmlndXJhdGlvbkFybjogYW1pRGlzdHJpYnV0aW9uQ29uZmlndXJhdGlvbi5hdHRyQXJuLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBpbWFnZUJ1aWxkUGlwZWxpbmUgPSBuZXcgaW1hZ2VidWlsZGVyLkNmbkltYWdlUGlwZWxpbmUodGhpcywgJ0ltYWdlUGlwZWxpbmUnLCBpbWFnZVBpcGVsaW5lUHJvcHMpO1xuICAgIHRoaXMuaW1hZ2VQaXBlbGluZUFybiA9IGltYWdlQnVpbGRQaXBlbGluZS5hdHRyQXJuO1xuXG4gICAgY29uc3Qgc3RhcnRTdGF0ZU1hY2hpbmVGdW5jdGlvbiA9IG5ldyBTdGFydFN0YXRlTWFjaGluZUZ1bmN0aW9uKHRoaXMsICdTdGFydFN0YXRlTWFjaGluZUZ1bmN0aW9uJyxcbiAgICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246ICdTdGFydFN0YXRlTWFjaGluZUZ1bmN0aW9uJyxcbiAgICAgICAgbWVtb3J5U2l6ZTogMTI4LFxuICAgICAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDEyKSxcbiAgICAgICAgaW5pdGlhbFBvbGljeTogW1xuICAgICAgICAgIG5ldyBTdGF0ZW1lbnQuU3RhdGVzKCkuYWxsb3coKVxuICAgICAgICAgICAgLnRvU3RhcnRFeGVjdXRpb24oKVxuICAgICAgICAgICAgLnRvR2V0RXhlY3V0aW9uSGlzdG9yeSgpXG4gICAgICAgICAgICAudG9MaXN0RXhlY3V0aW9ucygpXG4gICAgICAgICAgICAudG9EZXNjcmliZUV4ZWN1dGlvbigpXG4gICAgICAgICAgICAub25BbGxSZXNvdXJjZXMoKSxcbiAgICAgICAgICBuZXcgU3RhdGVtZW50LkltYWdlYnVpbGRlcigpLmFsbG93KClcbiAgICAgICAgICAgIC50b0xpc3RJbWFnZVBpcGVsaW5lcygpXG4gICAgICAgICAgICAudG9TdGFydEltYWdlUGlwZWxpbmVFeGVjdXRpb24oKVxuICAgICAgICAgICAgLnRvR2V0SW1hZ2UoKVxuICAgICAgICAgICAgLm9uQWxsUmVzb3VyY2VzKCksXG4gICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAna21zOionLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIC8vIGFybjp7cGFydGl0aW9ufTp7c2VydmljZX06e3JlZ2lvbn06e2FjY291bnR9OntyZXNvdXJjZX17c2VwfXtyZXNvdXJjZS1uYW1lfS9cbiAgICAgICAgICAgIHJlc291cmNlczogW0Fybi5mb3JtYXQoe1xuICAgICAgICAgICAgICBzZXJ2aWNlOiAna21zJyxcbiAgICAgICAgICAgICAgcmVzb3VyY2U6ICdhbGlhcy9hd3MvZWJzJyxcbiAgICAgICAgICAgICAgYWNjb3VudDogJyonLFxuICAgICAgICAgICAgICByZWdpb246ICcqJyxcbiAgICAgICAgICAgICAgcGFydGl0aW9uOiAnYXdzJyxcbiAgICAgICAgICAgIH0pXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgY29uc3QgY2hlY2tTdGF0ZU1hY2hpbmVTdGF0dXNGdW5jdGlvbiA9IG5ldyBDaGVja1N0YXRlTWFjaGluZVN0YXR1c0Z1bmN0aW9uKHRoaXMsICdDaGVja1N0YXRlTWFjaGluZVN0YXR1c0Z1bmN0aW9uJywge1xuICAgICAgZGVzY3JpcHRpb246ICdDaGVja1N0YXRlTWFjaGluZVN0YXR1c0Z1bmN0aW9uJyxcbiAgICAgIG1lbW9yeVNpemU6IDEyOCxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoMTIpLFxuICAgICAgaW5pdGlhbFBvbGljeTogW1xuICAgICAgICBuZXcgU3RhdGVtZW50LlN0YXRlcygpLmFsbG93KClcbiAgICAgICAgICAudG9EZXNjcmliZUV4ZWN1dGlvbigpXG4gICAgICAgICAgLnRvTGlzdEV4ZWN1dGlvbnMoKVxuICAgICAgICAgIC50b0dldEV4ZWN1dGlvbkhpc3RvcnkoKVxuICAgICAgICAgIC5vbkFsbFJlc291cmNlcygpLFxuICAgICAgICBuZXcgU3RhdGVtZW50LkltYWdlYnVpbGRlcigpLmFsbG93KClcbiAgICAgICAgICAudG9MaXN0SW1hZ2VQaXBlbGluZXMoKVxuICAgICAgICAgIC50b1N0YXJ0SW1hZ2VQaXBlbGluZUV4ZWN1dGlvbigpXG4gICAgICAgICAgLnRvR2V0SW1hZ2UoKVxuICAgICAgICAgIC5vbkFsbFJlc291cmNlcygpLFxuICAgICAgICBuZXcgU3RhdGVtZW50LkVjMigpLmFsbG93KClcbiAgICAgICAgICAudG9Nb2RpZnlJbWFnZUF0dHJpYnV0ZSgpXG4gICAgICAgICAgLm9uQWxsUmVzb3VyY2VzKCksXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgJ2ttczoqJyxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHJlc291cmNlczogW0Fybi5mb3JtYXQoe1xuICAgICAgICAgICAgc2VydmljZTogJ2ttcycsXG4gICAgICAgICAgICByZXNvdXJjZTogJ2FsaWFzL2F3cy9lYnMnLFxuICAgICAgICAgICAgYWNjb3VudDogJyonLFxuICAgICAgICAgICAgcmVnaW9uOiAnKicsXG4gICAgICAgICAgICBwYXJ0aXRpb246ICdhd3MnLFxuICAgICAgICAgIH0pXSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgUHJvdmlkZXIodGhpcywgJ1Jlc291cmNlUHJvdmlkZXInLCB7XG4gICAgICBvbkV2ZW50SGFuZGxlcjogc3RhcnRTdGF0ZU1hY2hpbmVGdW5jdGlvbixcbiAgICAgIGlzQ29tcGxldGVIYW5kbGVyOiBjaGVja1N0YXRlTWFjaGluZVN0YXR1c0Z1bmN0aW9uLFxuICAgICAgdG90YWxUaW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDYwKSxcbiAgICAgIHF1ZXJ5SW50ZXJ2YWw6IER1cmF0aW9uLm1pbnV0ZXMoMiksXG4gICAgfSk7XG5cbiAgICBjb25zdCBzdGF0ZU1hY2hpbmVSb2xlID0gbmV3IFJvbGUodGhpcywgJ1N0YXRlTWFjaGluZVJvbGUnLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnc3RhdGVzLmFtYXpvbmF3cy5jb20nKSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICBpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ3NlcnZpY2Utcm9sZS9BV1NMYW1iZGFSb2xlJyksXG4gICAgICBdLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgU3RhdGVNYWNoaW5lUG9saWN5OiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgU3RhdGVtZW50LlhyYXkoKS5hbGxvdygpXG4gICAgICAgICAgICAgIC50b1B1dFRyYWNlU2VnbWVudHMoKVxuICAgICAgICAgICAgICAudG9QdXRUZWxlbWV0cnlSZWNvcmRzKClcbiAgICAgICAgICAgICAgLnRvR2V0U2FtcGxpbmdSdWxlcygpXG4gICAgICAgICAgICAgIC50b0dldFNhbXBsaW5nVGFyZ2V0cygpXG4gICAgICAgICAgICAgIC5vbkFsbFJlc291cmNlcygpLFxuICAgICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnaW1hZ2VidWlsZGVyOionLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czppbWFnZWJ1aWxkZXI6JHtyZWdpb24gPz8gJyonfToke2FjY291bnQgPz8gJyonfTppbWFnZS1waXBlbGluZS8ke3BpcGVsaW5lQmFzZU5hbWUudG9Mb3dlckNhc2UoKX0tKmBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBuZXcgU3RhdGVtZW50LkltYWdlYnVpbGRlcigpLmFsbG93KClcbiAgICAgICAgICAgICAgLnRvR2V0SW1hZ2UoKVxuICAgICAgICAgICAgICAub25BbGxSZXNvdXJjZXMoKSxcbiAgICAgICAgICBdLFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBzdGF0ZU1hY2hpbmUgPSBuZXcgU3RhdGVNYWNoaW5lKHRoaXMsICdTdGF0ZU1hY2hpbmUnLCB7XG4gICAgICBkZWZpbml0aW9uOiBKU09OLnBhcnNlKFxuICAgICAgICBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKFxuICAgICAgICAgIF9fZGlybmFtZSwgJy4uJywgJ1N0YXRlTWFjaGluZUZpbGVzJywgJ0ltYWdlQnVpbGRpbmdTdGF0ZU1hY2hpbmUuanNvbicpLCAndXRmOCcpLnRvU3RyaW5nKCkpLFxuICAgICAgcm9sZTogc3RhdGVNYWNoaW5lUm9sZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGVmZmVjdGl2ZVJlbW92YWxQb2xpY3kgPSBwcm9wcy5kZWJ1Z0ltYWdlUGlwZWxpbmUgPT09IHRydWUgPyBSZW1vdmFsUG9saWN5LlJFVEFJTl9PTl9VUERBVEVfT1JfREVMRVRFIDogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZO1xuXG4gICAgY29uc3QgY29tcG9uZW50c0hhc2ggPSB0aGlzLnN0cmluZ1RvTUQ1KEpTT04uc3RyaW5naWZ5KHByb3BzLmNvbXBvbmVudHMpKTtcbiAgICBjb25zdCBpbWFnZVBpcGVsaW5lID0gbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsICdDdXN0b21SZXNvdXJjZScsXG4gICAgICB7XG4gICAgICAgIHNlcnZpY2VUb2tlbjogcHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgSW1hZ2VQaXBlbGluZUFybjogaW1hZ2VCdWlsZFBpcGVsaW5lLmF0dHJBcm4sXG4gICAgICAgICAgU3RhdGVNYWNoaW5lQXJuOiBzdGF0ZU1hY2hpbmUuc3RhdGVNYWNoaW5lQXJuLFxuICAgICAgICAgIFZlcnNpb246IHByb3BzLmltYWdlUmVjaXBlVmVyc2lvbiA/PyAnMC4wLjEnLFxuICAgICAgICAgIENvbXBvbmVudHNIYXNoOiBjb21wb25lbnRzSGFzaCxcbiAgICAgICAgICBQaHlzaWNhbFJlc291cmNlSWQ6IGAke3N0YWNrTmFtZX0tSW1hZ2VQaXBlbGluZS0ke2ltYWdlUmVjaXBlVmVyc2lvbi5yZXBsYWNlKC9cXC4vZywgJy0nKX1gLFxuICAgICAgICAgIEFtaUttc0lkOiBkaXN0cmlidXRpb25LZXlBbGlhcyxcbiAgICAgICAgICBTaGFyZWRBY2NvdW50SWRzOiBkaXN0cmlidXRpb25BY2NvdW50SWRzLmpvaW4oJywnKSxcbiAgICAgICAgICBEZWJ1Z0ltYWdlUGlwZWxpbmU6IHByb3BzLmRlYnVnSW1hZ2VQaXBlbGluZSA9PT0gdHJ1ZSA/ICd0cnVlJyA6ICdmYWxzZScsXG4gICAgICAgIH0sXG4gICAgICAgIHJlbW92YWxQb2xpY3k6IGVmZmVjdGl2ZVJlbW92YWxQb2xpY3ksXG4gICAgICB9KTtcblxuICAgIHRoaXMuaW1hZ2VJZCA9IGltYWdlUGlwZWxpbmUuZ2V0QXR0U3RyaW5nKCdBbWlJZCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdHJpbmdUb01ENShpbnB1dFN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQ3J5cHRvSlMuTUQ1KGlucHV0U3RyaW5nKS50b1N0cmluZygpO1xuICB9XG5cbn1cblxuIl19
@@ -23,5 +23,5 @@ class CheckStateMachineStatusFunction extends lambda.Function {
23
23
  }
24
24
  exports.CheckStateMachineStatusFunction = CheckStateMachineStatusFunction;
25
25
  _a = JSII_RTTI_SYMBOL_1;
26
- CheckStateMachineStatusFunction[_a] = { fqn: "@jjrawlins/cdk-ami-builder.CheckStateMachineStatusFunction", version: "0.0.18" };
26
+ CheckStateMachineStatusFunction[_a] = { fqn: "@jjrawlins/cdk-ami-builder.CheckStateMachineStatusFunction", version: "0.0.20" };
27
27
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hlY2tTdGF0ZU1hY2hpbmVTdGF0dXMtZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTGFtYmRhcy9DaGVja1N0YXRlTWFjaGluZVN0YXR1cy9DaGVja1N0YXRlTWFjaGluZVN0YXR1cy1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZFQUE2RTtBQUM3RSw2QkFBNkI7QUFDN0IsaURBQWlEO0FBU2pEOztHQUVHO0FBQ0gsTUFBYSwrQkFBZ0MsU0FBUSxNQUFNLENBQUMsUUFBUTtJQUNsRSxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTRDO1FBQ3BGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLHVFQUF1RTtZQUNwRixHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN0RSxPQUFPLEVBQUUsZUFBZTtZQUN4QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsZ0ZBQWdGLENBQUMsQ0FBQztTQUNwSSxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLHFDQUFxQyxFQUFFLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7O0FBVkgsMEVBV0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIENoZWNrU3RhdGVNYWNoaW5lU3RhdHVzRnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGVja1N0YXRlTWFjaGluZVN0YXR1c0Z1bmN0aW9uUHJvcHMgZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb25PcHRpb25zIHtcbn1cblxuLyoqXG4gKiBBbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoIGV4ZWN1dGVzIHNyYy9MYW1iZGFzL0NoZWNrU3RhdGVNYWNoaW5lU3RhdHVzL0NoZWNrU3RhdGVNYWNoaW5lU3RhdHVzLlxuICovXG5leHBvcnQgY2xhc3MgQ2hlY2tTdGF0ZU1hY2hpbmVTdGF0dXNGdW5jdGlvbiBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogQ2hlY2tTdGF0ZU1hY2hpbmVTdGF0dXNGdW5jdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ3NyYy9MYW1iZGFzL0NoZWNrU3RhdGVNYWNoaW5lU3RhdHVzL0NoZWNrU3RhdGVNYWNoaW5lU3RhdHVzLmxhbWJkYS50cycsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJ1bnRpbWU6IG5ldyBsYW1iZGEuUnVudGltZSgnbm9kZWpzMjIueCcsIGxhbWJkYS5SdW50aW1lRmFtaWx5Lk5PREVKUyksXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uLy4uL2Fzc2V0cy9MYW1iZGFzL0NoZWNrU3RhdGVNYWNoaW5lU3RhdHVzL0NoZWNrU3RhdGVNYWNoaW5lU3RhdHVzLmxhbWJkYScpKSxcbiAgICB9KTtcbiAgICB0aGlzLmFkZEVudmlyb25tZW50KCdBV1NfTk9ERUpTX0NPTk5FQ1RJT05fUkVVU0VfRU5BQkxFRCcsICcxJywgeyByZW1vdmVJbkVkZ2U6IHRydWUgfSk7XG4gIH1cbn0iXX0=
@@ -23,5 +23,5 @@ class StartStateMachineFunction extends lambda.Function {
23
23
  }
24
24
  exports.StartStateMachineFunction = StartStateMachineFunction;
25
25
  _a = JSII_RTTI_SYMBOL_1;
26
- StartStateMachineFunction[_a] = { fqn: "@jjrawlins/cdk-ami-builder.StartStateMachineFunction", version: "0.0.18" };
26
+ StartStateMachineFunction[_a] = { fqn: "@jjrawlins/cdk-ami-builder.StartStateMachineFunction", version: "0.0.20" };
27
27
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhcnRTdGF0ZU1hY2hpbmUtZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvTGFtYmRhcy9TdGFydFN0YXRlTWFjaGluZS9TdGFydFN0YXRlTWFjaGluZS1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZFQUE2RTtBQUM3RSw2QkFBNkI7QUFDN0IsaURBQWlEO0FBU2pEOztHQUVHO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSxNQUFNLENBQUMsUUFBUTtJQUM1RCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNDO1FBQzlFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLDJEQUEyRDtZQUN4RSxHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN0RSxPQUFPLEVBQUUsZUFBZTtZQUN4QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsb0VBQW9FLENBQUMsQ0FBQztTQUN4SCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLHFDQUFxQyxFQUFFLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7O0FBVkgsOERBV0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLnRzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIFN0YXJ0U3RhdGVNYWNoaW5lRnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFydFN0YXRlTWFjaGluZUZ1bmN0aW9uUHJvcHMgZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb25PcHRpb25zIHtcbn1cblxuLyoqXG4gKiBBbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoIGV4ZWN1dGVzIHNyYy9MYW1iZGFzL1N0YXJ0U3RhdGVNYWNoaW5lL1N0YXJ0U3RhdGVNYWNoaW5lLlxuICovXG5leHBvcnQgY2xhc3MgU3RhcnRTdGF0ZU1hY2hpbmVGdW5jdGlvbiBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogU3RhcnRTdGF0ZU1hY2hpbmVGdW5jdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ3NyYy9MYW1iZGFzL1N0YXJ0U3RhdGVNYWNoaW5lL1N0YXJ0U3RhdGVNYWNoaW5lLmxhbWJkYS50cycsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJ1bnRpbWU6IG5ldyBsYW1iZGEuUnVudGltZSgnbm9kZWpzMjIueCcsIGxhbWJkYS5SdW50aW1lRmFtaWx5Lk5PREVKUyksXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uLy4uL2Fzc2V0cy9MYW1iZGFzL1N0YXJ0U3RhdGVNYWNoaW5lL1N0YXJ0U3RhdGVNYWNoaW5lLmxhbWJkYScpKSxcbiAgICB9KTtcbiAgICB0aGlzLmFkZEVudmlyb25tZW50KCdBV1NfTk9ERUpTX0NPTk5FQ1RJT05fUkVVU0VfRU5BQkxFRCcsICcxJywgeyByZW1vdmVJbkVkZ2U6IHRydWUgfSk7XG4gIH1cbn0iXX0=
@@ -0,0 +1,30 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(make build)",
5
+ "Bash(make generate)",
6
+ "Bash(SERVICE=* make generate)",
7
+ "Bash(make generate-force)",
8
+ "Bash(SERVICE=* make generate-force)",
9
+ "Bash(make index-managed-policies)",
10
+ "Bash(make package)",
11
+ "Bash(make cdk)",
12
+ "Bash(make uncdk)",
13
+ "Bash(make test)",
14
+ "Bash(make cdk-test)",
15
+ "Bash(make cdk-all)",
16
+ "Bash(make changelog)",
17
+ "Bash(make stats)",
18
+ "Bash(make clean)",
19
+ "Bash(make install)",
20
+ "Bash(make docs)",
21
+ "Bash(make test-typescript)",
22
+ "Bash(make test-typescript-cdk)",
23
+ "Bash(make regenerate-code-example-results)",
24
+ "Bash(make eslint)",
25
+ "Bash(npx tsc:*)"
26
+ ],
27
+ "deny": [],
28
+ "ask": []
29
+ }
30
+ }
@@ -0,0 +1,147 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ IAM Floyd is an AWS IAM policy statement generator with a fluent interface. It generates TypeScript classes for all AWS services and their actions, resources, and condition keys from AWS documentation. The project supports both standalone usage (`iam-floyd`) and AWS CDK integration (`cdk-iam-floyd`).
8
+
9
+ ## Core Architecture
10
+
11
+ ### Generated Code Structure
12
+
13
+ - `lib/generated/policy-statements/` - Contains generated TypeScript classes for each AWS service (400+ services)
14
+ - `lib/generated/index.ts` - Main export file that re-exports all service classes
15
+ - `lib/generated/aws-managed-policies/` - Generated AWS managed policies
16
+ - `lib/shared/` - Core shared classes like `PolicyStatement`, `All`, and `Operator`
17
+ - `lib/collection/` - Predefined policy collections and utilities
18
+
19
+ ### Code Generation Pipeline
20
+
21
+ The codebase uses a sophisticated generation system:
22
+
23
+ 1. `bin/generate.ts` - Main generation entry point that orchestrates the process
24
+ 2. `lib/generator/` - Contains the generation logic that scrapes AWS documentation
25
+ 3. Generated files are created in TypeScript and compiled to JavaScript for distribution
26
+
27
+ ### Key Classes
28
+
29
+ - `PolicyStatement` - Base class for all policy statement builders
30
+ - `All` - Global action provider for cross-service policies
31
+ - Service-specific classes (e.g., `S3`, `EC2`, `Lambda`) - Each AWS service gets its own class with methods for actions, resources, and conditions
32
+
33
+ ## Development Commands
34
+
35
+ ### Building and Compilation
36
+
37
+ ```bash
38
+ # Build the project (compiles TypeScript)
39
+ make build
40
+ # Convert project to CDK-variant
41
+ ```
42
+
43
+ ### Code Generation
44
+
45
+ ```bash
46
+ # Generate service classes from AWS documentation
47
+ make generate
48
+ # Force regeneration (ignores time-based cache)
49
+ make generate-force
50
+ # Generate AWS managed policies index
51
+ make index-managed-policies
52
+ ```
53
+
54
+ ### Testing
55
+
56
+ ```bash
57
+ # Run main tests
58
+ make test
59
+ # Run CDK-specific tests
60
+ make cdk-test
61
+ # Convert package to CDK variant and run CDK-specific tests
62
+ make cdk-all
63
+ ```
64
+
65
+ ### Linting and Code Quality
66
+
67
+ ```bash
68
+ # Run ESLint
69
+ make eslint
70
+ # ESLint is configured with TypeScript, Prettier, and deprecation rules
71
+ ```
72
+
73
+ ### Package Management
74
+
75
+ ```bash
76
+ # Create npm package
77
+ make package
78
+ # Clean all generated files and dependencies
79
+ make clean
80
+ # Reinstall dependencies
81
+ make install
82
+ ```
83
+
84
+ ### CDK Variant Management
85
+
86
+ ```bash
87
+ # Convert to CDK variant (modifies package.json and lib structure)
88
+ make cdk
89
+ # Revert CDK changes
90
+ make uncdk
91
+ ```
92
+
93
+ ## Project Structure Patterns
94
+
95
+ ### Dual Package Strategy
96
+
97
+ The project maintains two npm packages from a single codebase:
98
+
99
+ - `iam-floyd` - Standalone IAM policy generator
100
+ - `cdk-iam-floyd` - AWS CDK integration that extends `iam.PolicyStatement`
101
+
102
+ The `bin/mkcdk.ts` script transforms the codebase between variants by modifying imports and package configuration.
103
+
104
+ ### TypeScript Configuration
105
+
106
+ - `tsconfig.json` - Main TypeScript configuration with strict settings
107
+ - `tsconfig.main.json` - Production build configuration
108
+ - `tsconfig.test-*.json` - Test-specific configurations
109
+ - Uses SWC for faster compilation via ts-node
110
+
111
+ ### Generated Code Conventions
112
+
113
+ - All generated classes follow the pattern: `export class ServiceName extends PolicyStatement`
114
+ - Method names correspond to AWS IAM action names (e.g., `getObject()`, `listBuckets()`)
115
+ - Resource and condition methods use fluent interface patterns
116
+ - Generated files include comprehensive JSDoc comments from AWS documentation
117
+
118
+ ## Important Notes
119
+
120
+ ### File Modification Rules
121
+
122
+ - **Never manually edit files in `lib/generated/`** - These are auto-generated and will be overwritten
123
+ - Generated code is created from AWS documentation and should only be updated via the generation process
124
+ - Manual changes should only be made to files in `lib/shared/`, `lib/collection/`, and core infrastructure
125
+
126
+ ### Code Style
127
+
128
+ - ESLint enforces strict TypeScript rules with Prettier formatting
129
+ - Single quotes for strings, except in YAML files
130
+ - Comprehensive type checking with `noImplicitAny` and strict null checks
131
+ - Generated files are excluded from linting (`lib/generated/*` in `.eslintrc`)
132
+
133
+ ### Testing Strategy
134
+
135
+ - Tests are located in the `test/` directory with its own Makefile
136
+ - Supports both unit tests for the main package and CDK integration tests
137
+ - CDK tests include actual deployment and destruction cycles for validation
138
+
139
+ ## Git Commit Conventions
140
+
141
+ This project follows conventional commit patterns:
142
+
143
+ - `chore(deps): description` - Dependency updates
144
+ - `feat: description` - New features
145
+ - `fix: description` - Bug fixes
146
+ - `docs: description` - Documentation changes
147
+ - Simple format: "Updates AWS managed policies" for automated policy updates
@@ -16,10 +16,10 @@
16
16
  <!-- stats -->
17
17
  Support for:
18
18
 
19
- - 422 Services
20
- - 18598 Actions
21
- - 1996 Resource Types
22
- - 1965 Condition keys
19
+ - 429 Services
20
+ - 19150 Actions
21
+ - 2051 Resource Types
22
+ - 2131 Condition keys
23
23
  <!-- /stats -->
24
24
 
25
25
  ![EXPERIMENTAL](https://img.shields.io/badge/stability-experimantal-orange?style=for-the-badge)**<br>This is an early version of the package. The API will change while I implement new features. Therefore make sure you use an exact version in your `package.json` before it reaches 1.0.0.**
@@ -70,8 +70,14 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
70
70
  AmazonAuroraDSQLFullAccess(): aws_iam.IManagedPolicy;
71
71
  /** Provides read only access to Aurora DSQL */
72
72
  AmazonAuroraDSQLReadOnlyAccess(): aws_iam.IManagedPolicy;
73
+ /** Provides Bedrock Model inference permission to Bedrock agent core memory */
74
+ AmazonBedrockAgentCoreMemoryBedrockModelInferenceExecutionRolePolicy(): aws_iam.IManagedPolicy;
73
75
  /** Provides full access to Amazon Bedrock as well as limited access to related services that are required by it */
74
76
  AmazonBedrockFullAccess(): aws_iam.IManagedPolicy;
77
+ /** Provides limited access to Amazon Bedrock as well as to related services that are required by it */
78
+ AmazonBedrockLimitedAccess(): aws_iam.IManagedPolicy;
79
+ /** Provides limited access to Amazon Bedrock Marketplace as well as to related services that are required by it */
80
+ AmazonBedrockMarketplaceAccess(): aws_iam.IManagedPolicy;
75
81
  /** Provides read only access to Amazon Bedrock */
76
82
  AmazonBedrockReadOnly(): aws_iam.IManagedPolicy;
77
83
  /** Defines the maximum permissions of IAM roles that Amazon Bedrock Studio creates for operating Amazon Bedrock Studio resources. */
@@ -256,6 +262,8 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
256
262
  AmazonEC2ContainerServiceRole(): aws_iam.IManagedPolicy;
257
263
  /** Provides full access to Amazon EC2 via the AWS Management Console. */
258
264
  AmazonEC2FullAccess(): aws_iam.IManagedPolicy;
265
+ /** Provides read-only access to scan all supported resource types for relevant data when using DescribeImageReferences. */
266
+ AmazonEC2ImageReferencesAccessPolicy(): aws_iam.IManagedPolicy;
259
267
  /** Provides read only access to Amazon EC2 via the AWS Management Console. */
260
268
  AmazonEC2ReadOnlyAccess(): aws_iam.IManagedPolicy;
261
269
  /** Provides EC2 access to S3 bucket to download revision. This role is needed by the CodeDeploy agent on EC2 instances. */
@@ -276,6 +284,8 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
276
284
  AmazonECSFullAccess(): aws_iam.IManagedPolicy;
277
285
  /** Policy to enable Amazon ECS Compute to manage your EC2 instances and related resources as part of ECS managed instances */
278
286
  AmazonECSComputeServiceRolePolicy(): aws_iam.IManagedPolicy;
287
+ /** Provides access to other AWS service resources required to manage load balancers associated with ECS workloads on your behalf. */
288
+ AmazonECSInfrastructureRolePolicyForLoadBalancers(): aws_iam.IManagedPolicy;
279
289
  /** Provides administrative access to Private Certificate Authority, AWS Secrets Manager and other AWS Services required to manage ECS Service Connect TLS features on your behalf. */
280
290
  AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity(): aws_iam.IManagedPolicy;
281
291
  /** Provides access to other AWS service resources required to manage volumes associated with ECS workloads on your behalf. */
@@ -478,6 +488,8 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
478
488
  AmazonInspector2AgentlessServiceRolePolicy(): aws_iam.IManagedPolicy;
479
489
  /** Provides full access to Amazon Inspector and access to other related services such as organizations. */
480
490
  AmazonInspector2FullAccess(): aws_iam.IManagedPolicy;
491
+ /** Provides full access to Amazon Inspector and access to other related services such as organizations with restrictive organizational access. */
492
+ AmazonInspector2FullAccessV2(): aws_iam.IManagedPolicy;
481
493
  /** This is a managed policy that customer should attach to their roles to communicate with inspector service for CIS scans */
482
494
  AmazonInspector2ManagedCisPolicy(): aws_iam.IManagedPolicy;
483
495
  /** Provides read only access to the Amazon inspector2 service and relevant support services */
@@ -820,8 +832,12 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
820
832
  AmazonSageMakerGeospatialFullAccess(): aws_iam.IManagedPolicy;
821
833
  /** Provides access to AWS services that are required to run SageMaker GroundTruth Labeling job */
822
834
  AmazonSageMakerGroundTruthExecution(): aws_iam.IManagedPolicy;
835
+ /** This policy provides administrative privileges required for setting up SageMaker HyperPod observability. It enables access to Amazon Managed Prometheus, Amazon Managed Grafana and EKS Addons. The policy also includes broad access to Grafana HTTP APIs through ServiceAccountTokens across all Amazon Managed Grafana workspaces in your account. */
836
+ AmazonSageMakerHyperPodObservabilityAdminAccess(): aws_iam.IManagedPolicy;
823
837
  /** This policy grants permissions to Amazon SageMaker HyperPod to related AWS services such as Amazon EKS, Amazon CloudWatch etc. */
824
838
  AmazonSageMakerHyperPodServiceRolePolicy(): aws_iam.IManagedPolicy;
839
+ /** This policy provides administrative permissions required to set up the SageMaker HyperPod training operator. It enables access to Amazon SageMaker HyperPod and EKS add-ons. The policy includes permissions to describe the SageMaker HyperPod resources in your account. */
840
+ AmazonSageMakerHyperPodTrainingOperatorAccess(): aws_iam.IManagedPolicy;
825
841
  /** Provides access to create Amazon Augmented AI FlowDefinition resources against any Workteam. */
826
842
  AmazonSageMakerMechanicalTurkAccess(): aws_iam.IManagedPolicy;
827
843
  /** This AWS managed policy grants permissions needed to use all Amazon SageMaker Governance features. The policy also provides select access to related services (e.g., S3, KMS). */
@@ -1188,6 +1204,8 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
1188
1204
  AWSBatchServiceEventTargetRole(): aws_iam.IManagedPolicy;
1189
1205
  /** Policy for AWS Batch service role which allows access to related services including EC2, Autoscaling, EC2 Container service and Cloudwatch Logs. */
1190
1206
  AWSBatchServiceRole(): aws_iam.IManagedPolicy;
1207
+ /** Provides access for AWS Batch to queue and manage Amazon SageMaker workloads */
1208
+ AWSBatchServiceRolePolicyForSageMaker(): aws_iam.IManagedPolicy;
1191
1209
  /** A service linked role to provide Billing and Cost Management Data Exports access to AWS service data for exporting the data to a target location, such as Amazon S3, on behalf of a customer. */
1192
1210
  AWSBCMDataExportsServiceRolePolicy(): aws_iam.IManagedPolicy;
1193
1211
  /** Use the AWSBillingConductorFullAccess managed policy to allow complete access to AWS Billing Conductor (ABC) console and APIs. This policy allows users to list, create and delete ABC resources. */
@@ -1196,6 +1214,8 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
1196
1214
  AWSBillingConductorReadOnlyAccess(): aws_iam.IManagedPolicy;
1197
1215
  /** Allows users to view bills on the Billing Console. */
1198
1216
  AWSBillingReadOnlyAccess(): aws_iam.IManagedPolicy;
1217
+ /** Allows billing service to validate access to billing view data for derived billing views */
1218
+ AWSBillingServiceRolePolicy(): aws_iam.IManagedPolicy;
1199
1219
  /** This policy gives permissions to control AWS resources. For example, to start and stop EC2 or RDS instances by executing AWS Systems Manager (SSM) scripts. */
1200
1220
  AWSBudgetsActionsRolePolicyForResourceAdministrationWithSSM(): aws_iam.IManagedPolicy;
1201
1221
  /** Provides full access to AWS Budgets Actions including using Budgets Actions to control states of running AWS resources via AWS Management Console */
@@ -1432,6 +1452,8 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
1432
1452
  AWSDirectoryServiceFullAccess(): aws_iam.IManagedPolicy;
1433
1453
  /** Provides read only access to AWS Directory Service. */
1434
1454
  AWSDirectoryServiceReadOnlyAccess(): aws_iam.IManagedPolicy;
1455
+ /** Policy for the Directory Service Service Linked Role */
1456
+ AWSDirectoryServiceServiceRolePolicy(): aws_iam.IManagedPolicy;
1435
1457
  /** Provides write access to AWS resources required for AWS Discovery Continuous Export */
1436
1458
  AWSDiscoveryContinuousExportFirehosePolicy(): aws_iam.IManagedPolicy;
1437
1459
  /** Allows DMS Fleet Advisor to manage CloudWatch metrics on your behalf. */
@@ -1796,6 +1818,10 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
1796
1818
  AWSManagedServicesSelfServiceReportingServiceRolePolicy(): aws_iam.IManagedPolicy;
1797
1819
  /** Allows AWS Managed Services to manage deployment toolkit on your behalf. */
1798
1820
  AWSManagedServicesDeploymentToolkitPolicy(): aws_iam.IManagedPolicy;
1821
+ /** Provides full access to configure and customize the AWS Management Console */
1822
+ AWSManagementConsoleAdministratorAccess(): aws_iam.IManagedPolicy;
1823
+ /** Grants access to essential AWS Management Console features and user experience (UX) capabilities for non-administrative users. */
1824
+ AWSManagementConsoleBasicUserAccess(): aws_iam.IManagedPolicy;
1799
1825
  /** Allows AWS Marketplace to copy your Amazon Machine Images (AMIs) in order to list them on AWS Marketplace */
1800
1826
  AWSMarketplaceAmiIngestion(): aws_iam.IManagedPolicy;
1801
1827
  /** Allows AWS Marketplace to create and manage seller deployment parameters for the products that you subscribe to on AWS Marketplace. */
@@ -1882,20 +1908,8 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
1882
1908
  AWSNetworkManagerServiceRolePolicy(): aws_iam.IManagedPolicy;
1883
1909
  /** Provides access to manage AWS Config Configuration Recorder, manage AWS Config Configuration Aggregator, create AWS Config Service Linked Role for Configuration Recorder functionality, consume recorder configuration data, and read AWS Organizations data for organizational features. */
1884
1910
  AWSObservabilityAdminServiceRolePolicy(): aws_iam.IManagedPolicy;
1885
- /** Provides full access to AWS OpsWorks. */
1886
- AWSOpsWorksFullAccess(): aws_iam.IManagedPolicy;
1887
- /** Enables OpsWorks instances with the CWLogs integration enabled to ship logs and create required log groups */
1888
- AWSOpsWorksCloudWatchLogs(): aws_iam.IManagedPolicy;
1889
- /** Provides S3 access for instances launched by OpsWorks CM. */
1890
- AWSOpsWorksCMInstanceProfileRole(): aws_iam.IManagedPolicy;
1891
- /** Service Role Policy to be used for Creating OpsWorks CM servers. */
1892
- AWSOpsWorksCMServiceRole(): aws_iam.IManagedPolicy;
1893
- /** Provides access for an Amazon EC2 instance to register with an AWS OpsWorks stack. */
1894
- AWSOpsWorksInstanceRegistration(): aws_iam.IManagedPolicy;
1895
- /** Policy to enable registration of EC2 instances via the OpsWorks CLI */
1896
- AWSOpsWorksRegisterCLIEC2(): aws_iam.IManagedPolicy;
1897
- /** Policy to enable registration of On-Premises instances via the OpsWorks CLI */
1898
- AWSOpsWorksRegisterCLIOnPremises(): aws_iam.IManagedPolicy;
1911
+ /** Provides access to manage AWS Config recorder resource and telemetry settings on AWS resources including logs, metrics. */
1912
+ AWSObservabilityAdminTelemetryEnablementServiceRolePolicy(): aws_iam.IManagedPolicy;
1899
1913
  /** Provides full access to AWS Organizations. */
1900
1914
  AWSOrganizationsFullAccess(): aws_iam.IManagedPolicy;
1901
1915
  /** Provides read-only access to AWS Organizations. */
@@ -2006,6 +2020,10 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
2006
2020
  AWSQuickSetupSSMLifecycleManagementExecutionPolicy(): aws_iam.IManagedPolicy;
2007
2021
  /** This policy grants permissions that allow Systems Manager to create prerequisites such as IAM roles required for Systems Manager onboarding. */
2008
2022
  AWSQuickSetupSSMManageResourcesExecutionPolicy(): aws_iam.IManagedPolicy;
2023
+ /** This policy grants permissions that allow principals to run the AWSQuickSetupType-StartSSMAssociations Automation runbook, which starts State Manager Associations. */
2024
+ AWSQuickSetupStartSSMAssociationsExecutionPolicy(): aws_iam.IManagedPolicy;
2025
+ /** The managed policy AWSQuickSetupStartStopInstancesExecutionPolicy provides permissions for Quick Setup to start and stop Amazon EC2 instances on a schedule. This policy is used with the Quick Setup scheduler configuration type. */
2026
+ AWSQuickSetupStartStopInstancesExecutionPolicy(): aws_iam.IManagedPolicy;
2009
2027
  /** Provides the set of permissions required to perform QuickSight Asset Bundle Export Operations */
2010
2028
  AWSQuickSightAssetBundleExportPolicy(): aws_iam.IManagedPolicy;
2011
2029
  /** Provides the set of permissions required to perform QuickSight Asset Bundle Import Operations */
@@ -2070,6 +2088,10 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
2070
2088
  AWSRoboMakerServicePolicy(): aws_iam.IManagedPolicy;
2071
2089
  /** RoboMaker service policy */
2072
2090
  AWSRoboMakerServiceRolePolicy(): aws_iam.IManagedPolicy;
2091
+ /** Provides all permissions to IAM Roles Anywhere resources, including but not limited to: CreateProfile, DeleteTrustAnchor, DisableCRL, ResetNotificationSettings. */
2092
+ AWSRolesAnywhereFullAccess(): aws_iam.IManagedPolicy;
2093
+ /** Provides read-only permissions to IAM Roles Anywhere resources, including but not limited to: GetTrustAnchor, ListProfiles, GetCRL. There will be no other permissions for other services included in this policy. */
2094
+ AWSRolesAnywhereReadOnly(): aws_iam.IManagedPolicy;
2073
2095
  /** Allows IAM Roles Anywhere to publish service/usage metrics to CloudWatch and check the status of Private Certificate Authorities on your behalf. */
2074
2096
  AWSRolesAnywhereServicePolicy(): aws_iam.IManagedPolicy;
2075
2097
  /** Allow Amazon S3 on Outposts service to manage EC2 network resources on your behalf. */
@@ -2254,6 +2276,8 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
2254
2276
  AWSTransferLoggingAccess(): aws_iam.IManagedPolicy;
2255
2277
  /** Provide readonly access to AWS Transfer services. */
2256
2278
  AWSTransferReadOnlyAccess(): aws_iam.IManagedPolicy;
2279
+ /** Enables the AWS Transform service to deploy transformed .NET applications by creating and managing AWS resources. This policy grants permissions to provision infrastructure, manage compute resources, and configure deployment settings across various AWS services. */
2280
+ AWSTransformApplicationDeploymentPolicy(): aws_iam.IManagedPolicy;
2257
2281
  /** Provides full access to AWS Trusted Advisor Priority. This policy also enables the user to add Trusted Advisor as a trusted service with AWS Organizations and to specify delegated administrator accounts for Trusted Advisor Priority. */
2258
2282
  AWSTrustedAdvisorPriorityFullAccess(): aws_iam.IManagedPolicy;
2259
2283
  /** Provides read-only access to AWS Trusted Advisor Priority. This includes permission to view the delegated administrator accounts. */
@@ -2306,10 +2330,16 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
2306
2330
  AWSXrayWriteOnlyAccess(): aws_iam.IManagedPolicy;
2307
2331
  /** Provides administrative access for ARC zonal shift practice runs, and access to CloudWatch alarm statuses to monitor practice runs. */
2308
2332
  AWSZonalAutoshiftPracticeRunSLRPolicy(): aws_iam.IManagedPolicy;
2333
+ /** Provides read-only access to the APIs needed to support zone-group access-management for organizations. */
2334
+ AWSZoneGroupAccessManagementServiceRolePolicy(): aws_iam.IManagedPolicy;
2309
2335
  /** Provides access for the AWS Batch service to manage the required resources, including Amazon EC2 and Amazon ECS resources. */
2310
2336
  BatchServiceRolePolicy(): aws_iam.IManagedPolicy;
2337
+ /** Provides full access to Bedrock AgentCore as well as limited access to related services */
2338
+ BedrockAgentCoreFullAccess(): aws_iam.IManagedPolicy;
2311
2339
  /** Grants permissions for billing and cost management. This includes viewing account usage and viewing and modifying budgets and payment methods. */
2312
2340
  Billing(): aws_iam.IManagedPolicy;
2341
+ /** Allows Budgets to verify access to Billing Views shared across account boundaries. */
2342
+ BudgetsServiceRolePolicy(): aws_iam.IManagedPolicy;
2313
2343
  /** Amazon Certificate Manager Service Role Policy */
2314
2344
  CertificateManagerServiceRolePolicy(): aws_iam.IManagedPolicy;
2315
2345
  /** Policy to enable AWS Client VPN to manage your Client VPN endpoint connections. */
@@ -2628,6 +2658,10 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
2628
2658
  ROSAManageSubscription(): aws_iam.IManagedPolicy;
2629
2659
  /** Allows Red Hat OpenShift Service on AWS (ROSA) to manage cluster EC2 instances as worker nodes, including permission to configure security groups and tag instances and volumes. This policy also allows for the use of EC2 instances with disk encryption provided by AWS Key Management Service (KMS) keys. */
2630
2660
  ROSANodePoolManagementPolicy(): aws_iam.IManagedPolicy;
2661
+ /** Allows the Red Hat OpenShift Service on AWS (ROSA) installer to configure VPC Endpoints and Security Groups. Intended to be used on a shared VPC. */
2662
+ ROSASharedVPCEndpointPolicy(): aws_iam.IManagedPolicy;
2663
+ /** Allows the Red Hat OpenShift Service on AWS (ROSA) installer to configure Route53 records. Intended to be used on a shared VPC. */
2664
+ ROSASharedVPCRoute53Policy(): aws_iam.IManagedPolicy;
2631
2665
  /** Provides ROSA site reliability engineering (SRE) the permissions needed to initially observe, diagnose, and support AWS resources associated with Red Hat OpenShift Service on AWS (ROSA) clusters, including the ability to change ROSA cluster node state. */
2632
2666
  ROSASRESupportPolicy(): aws_iam.IManagedPolicy;
2633
2667
  /** Allows Red Hat OpenShift Service on AWS (ROSA) worker nodes in your account read-only access to Amazon EC2 instances and AWS Regions for compute node lifecycle management. */
@@ -2640,6 +2674,14 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
2640
2674
  S3StorageLensServiceRolePolicy(): aws_iam.IManagedPolicy;
2641
2675
  /** Provides access required to unlock a S3 bucket policy using the Security Token Service (STS) AssumeRoot API. Use this managed policy only with the STS AssumeRoot action. */
2642
2676
  S3UnlockBucketPolicy(): aws_iam.IManagedPolicy;
2677
+ /** Provides initial administrative and individual setup privileges for Amazon SageMaker Unified Studio via the AWS Management Console and SDK. Allows launching of SageMaker Unified Studio Portal. */
2678
+ SageMakerStudioAdminIAMConsolePolicy(): aws_iam.IManagedPolicy;
2679
+ /** Administrative execution policy for using IAM roles with SageMaker Unified Studio. Allows admins to provision, manage and access resources in your account (excluding access to data resources) for IAM-based usage of SageMaker Unified Studio. */
2680
+ SageMakerStudioAdminIAMDefaultExecutionPolicy(): aws_iam.IManagedPolicy;
2681
+ /** Administrative execution policy for using IAM roles with SageMaker Unified Studio. Allows admins to provision, manage and access resources in the local account (including broad access to all APIs in data services like S3, Glue, CloudWatch Logs, and others) for IAM-based usage of SageMaker Unified Studio. */
2682
+ SageMakerStudioAdminIAMPermissiveExecutionPolicy(): aws_iam.IManagedPolicy;
2683
+ /** This IAM policy grants an IAM role full access to AWS Glue Data Catalog (metadata) and Amazon S3 (actual data) for data lake operations, with access scoped by account, and role tags. */
2684
+ SageMakerStudioAdminProjectUserRolePolicy(): aws_iam.IManagedPolicy;
2643
2685
  /** Allows Amazon Bedrock Agents to access Amazon Bedrock models and other resources attached to an agent in SageMaker Studio. */
2644
2686
  SageMakerStudioBedrockAgentServiceRolePolicy(): aws_iam.IManagedPolicy;
2645
2687
  /** Provides access to an Amazon Bedrock chat agent app's configuration and Amazon Bedrock agent in SageMaker Studio. */
@@ -2676,6 +2718,12 @@ export declare class AwsManagedPolicy extends AwsManagedPolicyStatic {
2676
2718
  SageMakerStudioProjectUserRolePolicy(): aws_iam.IManagedPolicy;
2677
2719
  /** Amazon SageMaker Studio uses this policy when running query executions on federated connections. */
2678
2720
  SageMakerStudioQueryExecutionRolePolicy(): aws_iam.IManagedPolicy;
2721
+ /** Provides individual setup privileges for Amazon SageMaker Unified Studio via the AWS Management Console and SDK. Allows launching of SageMaker Unified Studio Portal. */
2722
+ SageMakerStudioUserIAMConsolePolicy(): aws_iam.IManagedPolicy;
2723
+ /** Execution policy for using IAM roles with SageMaker Unified Studio. Allows users to access resources in the local account (excluding access to data resources) for IAM-based usage of SageMaker Unified Studio. */
2724
+ SageMakerStudioUserIAMDefaultExecutionPolicy(): aws_iam.IManagedPolicy;
2725
+ /** Execution policy for using IAM roles with SageMaker Unified Studio. Allows users to access resources in your account (including broad access to all APIs in data services like S3, Glue, CloudWatch Logs, and others) for IAM-based usage of SageMaker Unified Studio. */
2726
+ SageMakerStudioUserIAMPermissiveExecutionPolicy(): aws_iam.IManagedPolicy;
2679
2727
  /** Provides read/write access to AWS Secrets Manager via the AWS Management Console. Note: this exludes IAM actions, so combine with IAMFullAccess if rotation configuration is required. */
2680
2728
  SecretsManagerReadWrite(): aws_iam.IManagedPolicy;
2681
2729
  /** The security audit template grants access to read security configuration metadata. It is useful for software that audits the configuration of an AWS account. */