terraconstructs 0.0.11 → 0.0.12

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 (410) hide show
  1. package/.jsii +104486 -34582
  2. package/lib/aws/arn.js +1 -1
  3. package/lib/aws/aws-construct.d.ts +1 -1
  4. package/lib/aws/aws-construct.js +28 -2
  5. package/lib/aws/aws-stack.d.ts +2 -4
  6. package/lib/aws/aws-stack.js +21 -8
  7. package/lib/aws/aws-tags.d.ts +58 -0
  8. package/lib/aws/aws-tags.js +77 -0
  9. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  10. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  11. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  12. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  13. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  14. package/lib/aws/cloudwatch/alarm.js +1 -1
  15. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  16. package/lib/aws/cloudwatch/dashboard.js +1 -1
  17. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  18. package/lib/aws/cloudwatch/graph.js +8 -8
  19. package/lib/aws/cloudwatch/layout.js +3 -3
  20. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  21. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  22. package/lib/aws/cloudwatch/log-group.js +1 -1
  23. package/lib/aws/cloudwatch/log-query.js +1 -1
  24. package/lib/aws/cloudwatch/log-stream.js +1 -1
  25. package/lib/aws/cloudwatch/metric-filter.d.ts +1 -1
  26. package/lib/aws/cloudwatch/metric-filter.js +4 -4
  27. package/lib/aws/cloudwatch/metric.js +2 -2
  28. package/lib/aws/cloudwatch/pattern.js +3 -3
  29. package/lib/aws/cloudwatch/policy.js +1 -1
  30. package/lib/aws/cloudwatch/private/env-tokens.js +5 -6
  31. package/lib/aws/cloudwatch/private/metric-util.js +4 -5
  32. package/lib/aws/cloudwatch/private/object.js +2 -3
  33. package/lib/aws/cloudwatch/private/rendering.js +3 -3
  34. package/lib/aws/cloudwatch/private/statistic.js +6 -7
  35. package/lib/aws/cloudwatch/query-definition.js +2 -2
  36. package/lib/aws/cloudwatch/stats.js +1 -1
  37. package/lib/aws/cloudwatch/subscription-filter.d.ts +1 -1
  38. package/lib/aws/cloudwatch/subscription-filter.js +4 -4
  39. package/lib/aws/cloudwatch/text.js +1 -1
  40. package/lib/aws/cloudwatch/variable.js +3 -3
  41. package/lib/aws/cloudwatch/widget.d.ts +1 -1
  42. package/lib/aws/cloudwatch/widget.js +4 -4
  43. package/lib/aws/compute/activity.js +3 -2
  44. package/lib/aws/compute/alb/application-listener-action.d.ts +334 -0
  45. package/lib/aws/compute/alb/application-listener-action.js +281 -0
  46. package/lib/aws/compute/alb/application-listener-certificate.d.ts +35 -0
  47. package/lib/aws/compute/alb/application-listener-certificate.js +35 -0
  48. package/lib/aws/compute/alb/application-listener-rule.d.ts +233 -0
  49. package/lib/aws/compute/alb/application-listener-rule.js +220 -0
  50. package/lib/aws/compute/alb/application-listener.d.ts +574 -0
  51. package/lib/aws/compute/alb/application-listener.js +538 -0
  52. package/lib/aws/compute/alb/application-load-balancer.d.ts +715 -0
  53. package/lib/aws/compute/alb/application-load-balancer.js +780 -0
  54. package/lib/aws/compute/alb/application-target-group.d.ts +339 -0
  55. package/lib/aws/compute/alb/application-target-group.js +427 -0
  56. package/lib/aws/compute/alb/conditions.d.ts +61 -0
  57. package/lib/aws/compute/alb/conditions.js +164 -0
  58. package/lib/aws/compute/alb/trust-store-revocation.d.ts +59 -0
  59. package/lib/aws/compute/alb/trust-store-revocation.js +46 -0
  60. package/lib/aws/compute/alb/trust-store.d.ts +86 -0
  61. package/lib/aws/compute/alb/trust-store.js +79 -0
  62. package/lib/aws/compute/architecture.js +1 -1
  63. package/lib/aws/compute/aspects/require-imdsv2-aspect.d.ts +75 -0
  64. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +106 -0
  65. package/lib/aws/compute/bastion-host.d.ts +172 -0
  66. package/lib/aws/compute/bastion-host.js +114 -0
  67. package/lib/aws/compute/chain.js +1 -1
  68. package/lib/aws/compute/cidr-splits.d.ts +49 -0
  69. package/lib/aws/compute/cidr-splits.js +59 -0
  70. package/lib/aws/compute/client-vpn-authorization-rule.d.ts +43 -0
  71. package/lib/aws/compute/client-vpn-authorization-rule.js +30 -0
  72. package/lib/aws/compute/client-vpn-endpoint-types.d.ts +62 -0
  73. package/lib/aws/compute/client-vpn-endpoint-types.js +25 -0
  74. package/lib/aws/compute/client-vpn-endpoint.d.ts +239 -0
  75. package/lib/aws/compute/client-vpn-endpoint.js +259 -0
  76. package/lib/aws/compute/client-vpn-route.d.ts +67 -0
  77. package/lib/aws/compute/client-vpn-route.js +57 -0
  78. package/lib/aws/compute/condition.js +1 -1
  79. package/lib/aws/compute/connections.d.ts +137 -0
  80. package/lib/aws/compute/connections.js +208 -0
  81. package/lib/aws/compute/ec2-augmentations.generated.d.ts +53 -0
  82. package/lib/aws/compute/ec2-augmentations.generated.js +35 -0
  83. package/lib/aws/compute/ec2-canned-metrics.generated.d.ts +555 -0
  84. package/lib/aws/compute/ec2-canned-metrics.generated.js +681 -0
  85. package/lib/aws/compute/ec2-util-v2.d.ts +141 -0
  86. package/lib/aws/compute/ec2-util-v2.js +286 -0
  87. package/lib/aws/compute/ec2-util.d.ts +52 -0
  88. package/lib/aws/compute/ec2-util.js +138 -0
  89. package/lib/aws/compute/elasticloadbalancing-canned-metrics.generated.d.ts +176 -0
  90. package/lib/aws/compute/elasticloadbalancing-canned-metrics.generated.js +119 -0
  91. package/lib/aws/compute/elasticloadbalancingv2-canned-metrics.generated.d.ts +860 -0
  92. package/lib/aws/compute/elasticloadbalancingv2-canned-metrics.generated.js +597 -0
  93. package/lib/aws/compute/event-invoke-config.js +1 -1
  94. package/lib/aws/compute/event-source-filter.js +2 -2
  95. package/lib/aws/compute/event-source-mapping.js +1 -1
  96. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  97. package/lib/aws/compute/event-sources/s3.js +1 -1
  98. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  99. package/lib/aws/compute/event-sources/sqs.js +1 -1
  100. package/lib/aws/compute/fields.js +4 -4
  101. package/lib/aws/compute/function-alias.js +1 -1
  102. package/lib/aws/compute/function-base.js +2 -2
  103. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  104. package/lib/aws/compute/function-destinations/function.js +1 -1
  105. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  106. package/lib/aws/compute/function-nodejs.js +1 -1
  107. package/lib/aws/compute/function-url.js +1 -1
  108. package/lib/aws/compute/function-vpc-config.generated.d.ts +3 -3
  109. package/lib/aws/compute/function-vpc-config.generated.js +1 -1
  110. package/lib/aws/compute/function.d.ts +1 -1
  111. package/lib/aws/compute/function.js +5 -5
  112. package/lib/aws/compute/index-alpha.d.ts +5 -0
  113. package/lib/aws/compute/index-alpha.js +22 -0
  114. package/lib/aws/compute/index.d.ts +60 -0
  115. package/lib/aws/compute/index.js +70 -2
  116. package/lib/aws/compute/instance-types.d.ts +1354 -0
  117. package/lib/aws/compute/instance-types.js +1683 -0
  118. package/lib/aws/compute/instance.d.ts +436 -0
  119. package/lib/aws/compute/instance.js +262 -0
  120. package/lib/aws/compute/ip-addresses.d.ts +249 -0
  121. package/lib/aws/compute/ip-addresses.js +248 -0
  122. package/lib/aws/compute/ipam.d.ts +309 -0
  123. package/lib/aws/compute/ipam.js +306 -0
  124. package/lib/aws/compute/key-pair.d.ts +178 -0
  125. package/lib/aws/compute/key-pair.js +194 -0
  126. package/lib/aws/compute/lambda-augmentations.generated.d.ts +65 -0
  127. package/lib/aws/compute/lambda-augmentations.generated.js +41 -0
  128. package/lib/aws/compute/lambda-canned-metrics.generated.d.ts +316 -0
  129. package/lib/aws/compute/lambda-canned-metrics.generated.js +119 -0
  130. package/lib/aws/compute/launch-template.d.ts +540 -0
  131. package/lib/aws/compute/launch-template.js +468 -0
  132. package/lib/aws/compute/lb-shared/access-logs-accounts.d.ts +7 -0
  133. package/lib/aws/compute/lb-shared/access-logs-accounts.js +46 -0
  134. package/lib/aws/compute/lb-shared/base-listener.d.ts +113 -0
  135. package/lib/aws/compute/lb-shared/base-listener.js +181 -0
  136. package/lib/aws/compute/lb-shared/base-load-balancer.d.ts +212 -0
  137. package/lib/aws/compute/lb-shared/base-load-balancer.js +290 -0
  138. package/lib/aws/compute/lb-shared/base-target-group.d.ts +382 -0
  139. package/lib/aws/compute/lb-shared/base-target-group.js +364 -0
  140. package/lib/aws/compute/lb-shared/enums.d.ts +282 -0
  141. package/lib/aws/compute/lb-shared/enums.js +301 -0
  142. package/lib/aws/compute/lb-shared/grid-lookup-types.d.ts +42 -0
  143. package/lib/aws/compute/lb-shared/grid-lookup-types.js +53 -0
  144. package/lib/aws/compute/lb-shared/imported.d.ts +24 -0
  145. package/lib/aws/compute/lb-shared/imported.js +27 -0
  146. package/lib/aws/compute/lb-shared/lb-listener-config.generated.d.ts +194 -0
  147. package/lib/aws/compute/lb-shared/lb-listener-config.generated.js +3 -0
  148. package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.d.ts +56 -0
  149. package/lib/aws/compute/lb-shared/lb-target-group-attachment-config.generated.js +3 -0
  150. package/lib/aws/compute/lb-shared/listener-action.d.ts +14 -0
  151. package/lib/aws/compute/lb-shared/listener-action.js +4 -0
  152. package/lib/aws/compute/lb-shared/listener-certificate.d.ts +28 -0
  153. package/lib/aws/compute/lb-shared/listener-certificate.js +29 -0
  154. package/lib/aws/compute/lb-shared/load-balancer-targets.d.ts +93 -0
  155. package/lib/aws/compute/lb-shared/load-balancer-targets.js +127 -0
  156. package/lib/aws/compute/lb-shared/util.d.ts +113 -0
  157. package/lib/aws/compute/lb-shared/util.js +264 -0
  158. package/lib/aws/compute/lb-targets/alb-target.d.ts +67 -0
  159. package/lib/aws/compute/lb-targets/alb-target.js +100 -0
  160. package/lib/aws/compute/lb-targets/index.d.ts +4 -0
  161. package/lib/aws/compute/lb-targets/index.js +22 -0
  162. package/lib/aws/compute/lb-targets/instance-target.d.ts +42 -0
  163. package/lib/aws/compute/lb-targets/instance-target.js +67 -0
  164. package/lib/aws/compute/lb-targets/ip-target.d.ts +55 -0
  165. package/lib/aws/compute/lb-targets/ip-target.js +79 -0
  166. package/lib/aws/compute/lb-targets/lambda-target.d.ts +25 -0
  167. package/lib/aws/compute/lb-targets/lambda-target.js +50 -0
  168. package/lib/aws/compute/load-balancer.d.ts +336 -0
  169. package/lib/aws/compute/load-balancer.js +287 -0
  170. package/lib/aws/compute/machine-image/amazon-linux-2022.d.ts +63 -0
  171. package/lib/aws/compute/machine-image/amazon-linux-2022.js +84 -0
  172. package/lib/aws/compute/machine-image/amazon-linux-2023.d.ts +63 -0
  173. package/lib/aws/compute/machine-image/amazon-linux-2023.js +84 -0
  174. package/lib/aws/compute/machine-image/amazon-linux2.d.ts +76 -0
  175. package/lib/aws/compute/machine-image/amazon-linux2.js +87 -0
  176. package/lib/aws/compute/machine-image/common.d.ts +181 -0
  177. package/lib/aws/compute/machine-image/common.js +122 -0
  178. package/lib/aws/compute/machine-image/index.d.ts +5 -0
  179. package/lib/aws/compute/machine-image/index.js +22 -0
  180. package/lib/aws/compute/machine-image/machine-image.d.ts +463 -0
  181. package/lib/aws/compute/machine-image/machine-image.js +566 -0
  182. package/lib/aws/compute/machine-image/utils.d.ts +2 -0
  183. package/lib/aws/compute/machine-image/utils.js +17 -0
  184. package/lib/aws/compute/nat.d.ts +325 -0
  185. package/lib/aws/compute/nat.js +455 -0
  186. package/lib/aws/compute/network-acl-types.d.ts +152 -0
  187. package/lib/aws/compute/network-acl-types.js +156 -0
  188. package/lib/aws/compute/network-acl.d.ts +285 -0
  189. package/lib/aws/compute/network-acl.js +207 -0
  190. package/lib/aws/compute/network-util.d.ts +116 -0
  191. package/lib/aws/compute/network-util.js +241 -0
  192. package/lib/aws/compute/nlb/network-listener-action.d.ts +92 -0
  193. package/lib/aws/compute/nlb/network-listener-action.js +146 -0
  194. package/lib/aws/compute/nlb/network-listener-certificate.d.ts +24 -0
  195. package/lib/aws/compute/nlb/network-listener-certificate.js +25 -0
  196. package/lib/aws/compute/nlb/network-listener.d.ts +248 -0
  197. package/lib/aws/compute/nlb/network-listener.js +217 -0
  198. package/lib/aws/compute/nlb/network-load-balancer.d.ts +315 -0
  199. package/lib/aws/compute/nlb/network-load-balancer.js +360 -0
  200. package/lib/aws/compute/nlb/network-target-group.d.ts +153 -0
  201. package/lib/aws/compute/nlb/network-target-group.js +223 -0
  202. package/lib/aws/compute/peer.d.ts +64 -0
  203. package/lib/aws/compute/peer.js +235 -0
  204. package/lib/aws/compute/placement-group.d.ts +161 -0
  205. package/lib/aws/compute/placement-group.js +133 -0
  206. package/lib/aws/compute/port.d.ts +287 -0
  207. package/lib/aws/compute/port.js +390 -0
  208. package/lib/aws/compute/prefix-list.d.ts +131 -0
  209. package/lib/aws/compute/prefix-list.js +114 -0
  210. package/lib/aws/compute/private/context-stub.d.ts +7 -0
  211. package/lib/aws/compute/private/context-stub.js +43 -0
  212. package/lib/aws/compute/private/ebs-util.d.ts +14 -0
  213. package/lib/aws/compute/private/ebs-util.js +145 -0
  214. package/lib/aws/compute/private/intrinstics.js +2 -1
  215. package/lib/aws/compute/private/json-path.js +8 -8
  216. package/lib/aws/compute/private/util.js +2 -3
  217. package/lib/aws/compute/route.d.ts +547 -0
  218. package/lib/aws/compute/route.js +469 -0
  219. package/lib/aws/compute/security-group.d.ts +414 -0
  220. package/lib/aws/compute/security-group.js +538 -0
  221. package/lib/aws/compute/state-graph.js +1 -1
  222. package/lib/aws/compute/state-machine-fragment.js +1 -1
  223. package/lib/aws/compute/state-machine.d.ts +2 -2
  224. package/lib/aws/compute/state-machine.js +14 -12
  225. package/lib/aws/compute/states/choice.js +1 -1
  226. package/lib/aws/compute/states/custom-state.js +1 -1
  227. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  228. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  229. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  230. package/lib/aws/compute/states/distributed-map.js +1 -1
  231. package/lib/aws/compute/states/fail.js +1 -1
  232. package/lib/aws/compute/states/map-base.js +1 -1
  233. package/lib/aws/compute/states/map.js +1 -1
  234. package/lib/aws/compute/states/parallel.js +1 -1
  235. package/lib/aws/compute/states/pass.js +2 -2
  236. package/lib/aws/compute/states/state.js +5 -5
  237. package/lib/aws/compute/states/succeed.js +1 -1
  238. package/lib/aws/compute/states/task-base.js +2 -2
  239. package/lib/aws/compute/states/task.js +1 -1
  240. package/lib/aws/compute/states/wait.js +2 -2
  241. package/lib/aws/compute/stepfunctions-canned-metrics.generated.d.ts +83 -0
  242. package/lib/aws/compute/stepfunctions-canned-metrics.generated.js +127 -0
  243. package/lib/aws/compute/subnet-v2.d.ts +213 -0
  244. package/lib/aws/compute/subnet-v2.js +405 -0
  245. package/lib/aws/compute/subnet.d.ts +37 -0
  246. package/lib/aws/compute/subnet.js +181 -0
  247. package/lib/aws/compute/task-credentials.js +1 -1
  248. package/lib/aws/compute/task-input.js +1 -1
  249. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  250. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  251. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  252. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  253. package/lib/aws/compute/tasks/private/task-utils.js +3 -4
  254. package/lib/aws/compute/tasks/resource-arn-suffix.js +2 -3
  255. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  256. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  257. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  258. package/lib/aws/compute/types.js +2 -2
  259. package/lib/aws/compute/user-data.d.ts +270 -0
  260. package/lib/aws/compute/user-data.js +487 -0
  261. package/lib/aws/compute/util.d.ts +1 -1
  262. package/lib/aws/compute/util.js +4 -5
  263. package/lib/aws/compute/volume.d.ts +480 -0
  264. package/lib/aws/compute/volume.js +426 -0
  265. package/lib/aws/compute/vpc-endpoint-service.d.ts +149 -0
  266. package/lib/aws/compute/vpc-endpoint-service.js +90 -0
  267. package/lib/aws/compute/vpc-endpoint.d.ts +742 -0
  268. package/lib/aws/compute/vpc-endpoint.js +811 -0
  269. package/lib/aws/compute/vpc-flow-logs.d.ts +551 -0
  270. package/lib/aws/compute/vpc-flow-logs.js +693 -0
  271. package/lib/aws/compute/vpc-lookup.d.ts +73 -0
  272. package/lib/aws/compute/vpc-lookup.js +3 -0
  273. package/lib/aws/compute/vpc-v2-base.d.ts +353 -0
  274. package/lib/aws/compute/vpc-v2-base.js +493 -0
  275. package/lib/aws/compute/vpc-v2.d.ts +385 -0
  276. package/lib/aws/compute/vpc-v2.js +408 -0
  277. package/lib/aws/compute/vpc.d.ts +1448 -0
  278. package/lib/aws/compute/vpc.js +1495 -0
  279. package/lib/aws/compute/vpn.d.ts +443 -0
  280. package/lib/aws/compute/vpn.js +397 -0
  281. package/lib/aws/compute/windows-versions.d.ts +418 -0
  282. package/lib/aws/compute/windows-versions.js +426 -0
  283. package/lib/aws/edge/certificate-base.d.ts +20 -0
  284. package/lib/aws/edge/certificate-base.js +28 -0
  285. package/lib/aws/edge/certificate.d.ts +23 -2
  286. package/lib/aws/edge/certificate.js +54 -4
  287. package/lib/aws/edge/distribution.js +3 -3
  288. package/lib/aws/edge/dns-alias-record-targets.js +2 -2
  289. package/lib/aws/edge/dns-record.js +16 -16
  290. package/lib/aws/edge/dns-zone.d.ts +20 -2
  291. package/lib/aws/edge/dns-zone.js +25 -10
  292. package/lib/aws/edge/function.js +2 -2
  293. package/lib/aws/edge/index.d.ts +1 -0
  294. package/lib/aws/edge/index.js +2 -1
  295. package/lib/aws/edge/key-value-store.js +4 -4
  296. package/lib/aws/edge/origin.js +7 -5
  297. package/lib/aws/edge/response-headers-policy.js +1 -1
  298. package/lib/aws/encryption/alias.js +1 -1
  299. package/lib/aws/encryption/key.js +1 -1
  300. package/lib/aws/encryption/via-service-principal.js +1 -1
  301. package/lib/aws/iam/grant.js +2 -2
  302. package/lib/aws/iam/index.d.ts +1 -0
  303. package/lib/aws/iam/index.js +2 -1
  304. package/lib/aws/iam/instance-profile.d.ts +155 -0
  305. package/lib/aws/iam/instance-profile.js +124 -0
  306. package/lib/aws/iam/managed-policy.js +1 -1
  307. package/lib/aws/iam/oidc-provider.js +1 -1
  308. package/lib/aws/iam/policy-document-config.generated.d.ts +8 -8
  309. package/lib/aws/iam/policy-document-config.generated.js +1 -1
  310. package/lib/aws/iam/policy-document.js +1 -1
  311. package/lib/aws/iam/policy-statement-props.generated.d.ts +8 -8
  312. package/lib/aws/iam/policy-statement-props.generated.js +1 -1
  313. package/lib/aws/iam/policy-statement.js +9 -9
  314. package/lib/aws/iam/policy.js +1 -1
  315. package/lib/aws/iam/principals.js +26 -26
  316. package/lib/aws/iam/private/assume-role-policy.js +2 -3
  317. package/lib/aws/iam/private/comparable-principal.js +2 -3
  318. package/lib/aws/iam/private/immutable-role.d.ts +2 -1
  319. package/lib/aws/iam/private/immutable-role.js +3 -3
  320. package/lib/aws/iam/private/imported-role.d.ts +1 -1
  321. package/lib/aws/iam/private/imported-role.js +3 -3
  322. package/lib/aws/iam/private/merge-statements.js +2 -3
  323. package/lib/aws/iam/private/util.js +4 -4
  324. package/lib/aws/iam/role.js +1 -1
  325. package/lib/aws/iam/saml-provider.d.ts +1 -1
  326. package/lib/aws/iam/saml-provider.js +6 -6
  327. package/lib/aws/iam/unknown-principal.js +1 -1
  328. package/lib/aws/iam/utils.js +2 -3
  329. package/lib/aws/index.d.ts +1 -0
  330. package/lib/aws/index.js +4 -1
  331. package/lib/aws/network/simple-ipv4-vpc.js +5 -5
  332. package/lib/aws/network/subnet-group.js +3 -3
  333. package/lib/aws/network/subnet.d.ts +1 -1
  334. package/lib/aws/network/subnet.js +7 -7
  335. package/lib/aws/notify/archive.js +3 -2
  336. package/lib/aws/notify/connection.js +5 -4
  337. package/lib/aws/notify/event-bus.js +5 -4
  338. package/lib/aws/notify/event-pattern.js +3 -3
  339. package/lib/aws/notify/index.js +3 -1
  340. package/lib/aws/notify/input.js +4 -3
  341. package/lib/aws/notify/kinesis-stream.js +3 -2
  342. package/lib/aws/notify/on-event-options.js +2 -1
  343. package/lib/aws/notify/queue-config.generated.d.ts +18 -11
  344. package/lib/aws/notify/queue-config.generated.js +1 -1
  345. package/lib/aws/notify/queue-policy.js +1 -1
  346. package/lib/aws/notify/queue.js +1 -1
  347. package/lib/aws/notify/resource-policy.js +1 -1
  348. package/lib/aws/notify/rule.js +3 -2
  349. package/lib/aws/notify/schedule.js +2 -2
  350. package/lib/aws/notify/sqs-augmentations.generated.d.ts +125 -0
  351. package/lib/aws/notify/sqs-augmentations.generated.js +74 -0
  352. package/lib/aws/notify/target.js +2 -1
  353. package/lib/aws/notify/targets/event-bus.js +1 -1
  354. package/lib/aws/notify/targets/function.js +1 -1
  355. package/lib/aws/notify/targets/log-group.js +2 -2
  356. package/lib/aws/notify/targets/sqs.js +1 -1
  357. package/lib/aws/notify/targets/state-machine.js +1 -1
  358. package/lib/aws/notify/targets/util.d.ts +1 -1
  359. package/lib/aws/notify/targets/util.js +10 -11
  360. package/lib/aws/notify/util.js +4 -4
  361. package/lib/aws/provider-config.generated.d.ts +33 -33
  362. package/lib/aws/provider-config.generated.js +1 -1
  363. package/lib/aws/storage/bucket-notifications.js +1 -1
  364. package/lib/aws/storage/bucket-policy.js +1 -1
  365. package/lib/aws/storage/bucket-source.js +1 -1
  366. package/lib/aws/storage/bucket.d.ts +298 -65
  367. package/lib/aws/storage/bucket.js +548 -225
  368. package/lib/aws/storage/cors-config.generated.d.ts +3 -3
  369. package/lib/aws/storage/cors-config.generated.js +1 -1
  370. package/lib/aws/storage/cors-rule-config.generated.d.ts +5 -5
  371. package/lib/aws/storage/cors-rule-config.generated.js +1 -1
  372. package/lib/aws/storage/index.d.ts +1 -0
  373. package/lib/aws/storage/index.js +2 -1
  374. package/lib/aws/storage/lifecycle-config.generated.d.ts +11 -11
  375. package/lib/aws/storage/lifecycle-config.generated.js +1 -1
  376. package/lib/aws/storage/notification-targets/function.js +6 -6
  377. package/lib/aws/storage/notification-targets/queue.js +1 -1
  378. package/lib/aws/storage/origin-access-identity.d.ts +1 -1
  379. package/lib/aws/storage/origin-access-identity.js +5 -4
  380. package/lib/aws/storage/parameter-util.d.ts +12 -0
  381. package/lib/aws/storage/parameter-util.js +65 -0
  382. package/lib/aws/storage/parameter.d.ts +526 -0
  383. package/lib/aws/storage/parameter.js +606 -0
  384. package/lib/aws/storage/s3-canned-metrics.generated.d.ts +22 -0
  385. package/lib/aws/storage/s3-canned-metrics.generated.js +23 -0
  386. package/lib/aws/storage/util.d.ts +25 -3
  387. package/lib/aws/storage/util.js +84 -17
  388. package/lib/aws/storage/website-config.generated.d.ts +5 -5
  389. package/lib/aws/storage/website-config.generated.js +1 -1
  390. package/lib/aws/util.js +2 -3
  391. package/lib/construct-base.d.ts +10 -1
  392. package/lib/construct-base.js +9 -6
  393. package/lib/duration.js +1 -1
  394. package/lib/expiration.d.ts +48 -0
  395. package/lib/expiration.js +68 -0
  396. package/lib/helpers-internal/index.d.ts +1 -0
  397. package/lib/helpers-internal/index.js +7 -0
  398. package/lib/index.d.ts +2 -0
  399. package/lib/index.js +3 -1
  400. package/lib/private/md5.d.ts +4 -0
  401. package/lib/private/md5.js +14 -0
  402. package/lib/private/unique-resource-name.js +3 -4
  403. package/lib/size.js +2 -2
  404. package/lib/stack-base.d.ts +4 -23
  405. package/lib/stack-base.js +9 -30
  406. package/lib/terra-func.d.ts +103 -0
  407. package/lib/terra-func.js +170 -0
  408. package/lib/token.js +5 -5
  409. package/package.json +15 -8
  410. package/bun.lockb +0 -0
@@ -0,0 +1,63 @@
1
+ import { AmazonLinuxImageSsmParameterCommonOptions, AmazonLinuxImageSsmParameterBase } from "./common";
2
+ /**
3
+ * Amazon Linux 2022 kernel versions
4
+ */
5
+ export declare class AmazonLinux2022Kernel {
6
+ private readonly version;
7
+ /**
8
+ * The latest kernel version currently available in a published AMI.
9
+ *
10
+ * When a new kernel version is available for an al2022 AMI this will be
11
+ * updated to contain the latest kernel version and will cause your instances
12
+ * to be replaced. Do not store stateful information on the instance if you are
13
+ * using this version.
14
+ */
15
+ static readonly CDK_LATEST: AmazonLinux2022Kernel;
16
+ /**
17
+ * The default kernel version for Amazon Linux 2022 is 5.15 and
18
+ * the SSM parameter does not include it in the name
19
+ * (i.e. /aws/service/ami-amazon-linux-latest/amzn2022-ami-kernel-default-x86_64)
20
+ */
21
+ static readonly DEFAULT: AmazonLinux2022Kernel;
22
+ /**
23
+ * Kernel version 5.15
24
+ */
25
+ static readonly KERNEL_5_15: AmazonLinux2022Kernel;
26
+ constructor(version: string);
27
+ /**
28
+ * Generate a string representation of the kernel
29
+ */
30
+ toString(): string;
31
+ }
32
+ /**
33
+ * Properties specific to al2022 images
34
+ */
35
+ export interface AmazonLinux2022ImageSsmParameterProps extends AmazonLinuxImageSsmParameterCommonOptions {
36
+ /**
37
+ * What kernel version of Amazon Linux to use
38
+ *
39
+ * @default AmazonLinux2022Kernel.DEFAULT
40
+ */
41
+ readonly kernel?: AmazonLinux2022Kernel;
42
+ }
43
+ /**
44
+ * A SSM Parameter that contains the AMI ID for Amazon Linux 2023
45
+ */
46
+ export declare class AmazonLinux2022ImageSsmParameter extends AmazonLinuxImageSsmParameterBase {
47
+ /**
48
+ * Generates a SSM Parameter name for a specific amazon linux 2022 AMI
49
+ *
50
+ * Example values:
51
+ *
52
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-5.15-x86_64",
53
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-default-x86_64",
54
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-minimal-kernel-5.15-arm64",
55
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-minimal-kernel-5.15-x86_64",
56
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-5.15-arm64",
57
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-minimal-kernel-default-arm64",
58
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-minimal-kernel-default-x86_64",
59
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-default-arm64",
60
+ */
61
+ static ssmParameterName(props: AmazonLinux2022ImageSsmParameterProps): string;
62
+ constructor(props: AmazonLinux2022ImageSsmParameterProps);
63
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var _a, _b;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AmazonLinux2022ImageSsmParameter = exports.AmazonLinux2022Kernel = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // https://github.com/aws/aws-cdk/blob/v2.175.1/packages/aws-cdk-lib/aws-ec2/lib/machine-image/amazon-linux-2022.ts
7
+ const common_1 = require("./common");
8
+ /**
9
+ * Amazon Linux 2022 kernel versions
10
+ */
11
+ class AmazonLinux2022Kernel {
12
+ constructor(version) {
13
+ this.version = version;
14
+ }
15
+ /**
16
+ * Generate a string representation of the kernel
17
+ */
18
+ toString() {
19
+ return `kernel-${this.version}`;
20
+ }
21
+ }
22
+ exports.AmazonLinux2022Kernel = AmazonLinux2022Kernel;
23
+ _a = JSII_RTTI_SYMBOL_1;
24
+ AmazonLinux2022Kernel[_a] = { fqn: "terraconstructs.aws.compute.AmazonLinux2022Kernel", version: "0.0.12" };
25
+ /**
26
+ * The latest kernel version currently available in a published AMI.
27
+ *
28
+ * When a new kernel version is available for an al2022 AMI this will be
29
+ * updated to contain the latest kernel version and will cause your instances
30
+ * to be replaced. Do not store stateful information on the instance if you are
31
+ * using this version.
32
+ */
33
+ AmazonLinux2022Kernel.CDK_LATEST = new AmazonLinux2022Kernel("5.15");
34
+ /**
35
+ * The default kernel version for Amazon Linux 2022 is 5.15 and
36
+ * the SSM parameter does not include it in the name
37
+ * (i.e. /aws/service/ami-amazon-linux-latest/amzn2022-ami-kernel-default-x86_64)
38
+ */
39
+ AmazonLinux2022Kernel.DEFAULT = new AmazonLinux2022Kernel("default");
40
+ /**
41
+ * Kernel version 5.15
42
+ */
43
+ AmazonLinux2022Kernel.KERNEL_5_15 = new AmazonLinux2022Kernel("5.15");
44
+ /**
45
+ * A SSM Parameter that contains the AMI ID for Amazon Linux 2023
46
+ */
47
+ class AmazonLinux2022ImageSsmParameter extends common_1.AmazonLinuxImageSsmParameterBase {
48
+ /**
49
+ * Generates a SSM Parameter name for a specific amazon linux 2022 AMI
50
+ *
51
+ * Example values:
52
+ *
53
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-5.15-x86_64",
54
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-default-x86_64",
55
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-minimal-kernel-5.15-arm64",
56
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-minimal-kernel-5.15-x86_64",
57
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-5.15-arm64",
58
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-minimal-kernel-default-arm64",
59
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-minimal-kernel-default-x86_64",
60
+ * "/aws/service/ami-amazon-linux-latest/al2022-ami-kernel-default-arm64",
61
+ */
62
+ static ssmParameterName(props) {
63
+ const edition = (props && props.edition) || common_1.AmazonLinuxEdition.STANDARD;
64
+ const parts = [
65
+ common_1.AmazonLinuxGeneration.AMAZON_LINUX_2022,
66
+ "ami",
67
+ edition !== common_1.AmazonLinuxEdition.STANDARD ? edition : undefined,
68
+ props.kernel?.toString(),
69
+ props.cpuType ?? common_1.AmazonLinuxCpuType.X86_64,
70
+ ].filter((x) => !!x);
71
+ return "/aws/service/ami-amazon-linux-latest/" + parts.join("-");
72
+ }
73
+ constructor(props) {
74
+ super({
75
+ parameterName: AmazonLinux2022ImageSsmParameter.ssmParameterName(props),
76
+ cachedInContext: props.cachedInContext,
77
+ userData: props.userData,
78
+ });
79
+ }
80
+ }
81
+ exports.AmazonLinux2022ImageSsmParameter = AmazonLinux2022ImageSsmParameter;
82
+ _b = JSII_RTTI_SYMBOL_1;
83
+ AmazonLinux2022ImageSsmParameter[_b] = { fqn: "terraconstructs.aws.compute.AmazonLinux2022ImageSsmParameter", version: "0.0.12" };
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hem9uLWxpbnV4LTIwMjIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvbWFjaGluZS1pbWFnZS9hbWF6b24tbGludXgtMjAyMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1IQUFtSDtBQUVuSCxxQ0FNa0I7QUFFbEI7O0dBRUc7QUFDSCxNQUFhLHFCQUFxQjtJQXVCaEMsWUFBNkIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0lBRWhEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sVUFBVSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7QUE5Qkgsc0RBK0JDOzs7QUE5QkM7Ozs7Ozs7R0FPRztBQUNvQixnQ0FBVSxHQUFHLElBQUkscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7QUFFdEU7Ozs7R0FJRztBQUNvQiw2QkFBTyxHQUFHLElBQUkscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFdEU7O0dBRUc7QUFDb0IsaUNBQVcsR0FBRyxJQUFJLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBeUJ6RTs7R0FFRztBQUNILE1BQWEsZ0NBQWlDLFNBQVEseUNBQWdDO0lBQ3BGOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQzVCLEtBQTRDO1FBRTVDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSwyQkFBa0IsQ0FBQyxRQUFRLENBQUM7UUFFeEUsTUFBTSxLQUFLLEdBQThCO1lBQ3ZDLDhCQUFxQixDQUFDLGlCQUFpQjtZQUN2QyxLQUFLO1lBQ0wsT0FBTyxLQUFLLDJCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzdELEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxPQUFPLElBQUksMkJBQWtCLENBQUMsTUFBTTtTQUMzQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXJCLE9BQU8sdUNBQXVDLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsWUFBWSxLQUE0QztRQUN0RCxLQUFLLENBQUM7WUFDSixhQUFhLEVBQUUsZ0NBQWdDLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1lBQ3ZFLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUN0QyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7U0FDekIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFyQ0gsNEVBc0NDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVjMi9saWIvbWFjaGluZS1pbWFnZS9hbWF6b24tbGludXgtMjAyMi50c1xuXG5pbXBvcnQge1xuICBBbWF6b25MaW51eENwdVR5cGUsXG4gIEFtYXpvbkxpbnV4RWRpdGlvbixcbiAgQW1hem9uTGludXhHZW5lcmF0aW9uLFxuICBBbWF6b25MaW51eEltYWdlU3NtUGFyYW1ldGVyQ29tbW9uT3B0aW9ucyxcbiAgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckJhc2UsXG59IGZyb20gXCIuL2NvbW1vblwiO1xuXG4vKipcbiAqIEFtYXpvbiBMaW51eCAyMDIyIGtlcm5lbCB2ZXJzaW9uc1xuICovXG5leHBvcnQgY2xhc3MgQW1hem9uTGludXgyMDIyS2VybmVsIHtcbiAgLyoqXG4gICAqIFRoZSBsYXRlc3Qga2VybmVsIHZlcnNpb24gY3VycmVudGx5IGF2YWlsYWJsZSBpbiBhIHB1Ymxpc2hlZCBBTUkuXG4gICAqXG4gICAqIFdoZW4gYSBuZXcga2VybmVsIHZlcnNpb24gaXMgYXZhaWxhYmxlIGZvciBhbiBhbDIwMjIgQU1JIHRoaXMgd2lsbCBiZVxuICAgKiB1cGRhdGVkIHRvIGNvbnRhaW4gdGhlIGxhdGVzdCBrZXJuZWwgdmVyc2lvbiBhbmQgd2lsbCBjYXVzZSB5b3VyIGluc3RhbmNlc1xuICAgKiB0byBiZSByZXBsYWNlZC4gRG8gbm90IHN0b3JlIHN0YXRlZnVsIGluZm9ybWF0aW9uIG9uIHRoZSBpbnN0YW5jZSBpZiB5b3UgYXJlXG4gICAqIHVzaW5nIHRoaXMgdmVyc2lvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ0RLX0xBVEVTVCA9IG5ldyBBbWF6b25MaW51eDIwMjJLZXJuZWwoXCI1LjE1XCIpO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBrZXJuZWwgdmVyc2lvbiBmb3IgQW1hem9uIExpbnV4IDIwMjIgaXMgNS4xNSBhbmRcbiAgICogdGhlIFNTTSBwYXJhbWV0ZXIgZG9lcyBub3QgaW5jbHVkZSBpdCBpbiB0aGUgbmFtZVxuICAgKiAoaS5lLiAvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYW16bjIwMjItYW1pLWtlcm5lbC1kZWZhdWx0LXg4Nl82NClcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVCA9IG5ldyBBbWF6b25MaW51eDIwMjJLZXJuZWwoXCJkZWZhdWx0XCIpO1xuXG4gIC8qKlxuICAgKiBLZXJuZWwgdmVyc2lvbiA1LjE1XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEtFUk5FTF81XzE1ID0gbmV3IEFtYXpvbkxpbnV4MjAyMktlcm5lbChcIjUuMTVcIik7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmcpIHt9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBrZXJuZWxcbiAgICovXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBga2VybmVsLSR7dGhpcy52ZXJzaW9ufWA7XG4gIH1cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHNwZWNpZmljIHRvIGFsMjAyMiBpbWFnZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbWF6b25MaW51eDIwMjJJbWFnZVNzbVBhcmFtZXRlclByb3BzXG4gIGV4dGVuZHMgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogV2hhdCBrZXJuZWwgdmVyc2lvbiBvZiBBbWF6b24gTGludXggdG8gdXNlXG4gICAqXG4gICAqIEBkZWZhdWx0IEFtYXpvbkxpbnV4MjAyMktlcm5lbC5ERUZBVUxUXG4gICAqL1xuICByZWFkb25seSBrZXJuZWw/OiBBbWF6b25MaW51eDIwMjJLZXJuZWw7XG59XG5cbi8qKlxuICogQSBTU00gUGFyYW1ldGVyIHRoYXQgY29udGFpbnMgdGhlIEFNSSBJRCBmb3IgQW1hem9uIExpbnV4IDIwMjNcbiAqL1xuZXhwb3J0IGNsYXNzIEFtYXpvbkxpbnV4MjAyMkltYWdlU3NtUGFyYW1ldGVyIGV4dGVuZHMgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckJhc2Uge1xuICAvKipcbiAgICogR2VuZXJhdGVzIGEgU1NNIFBhcmFtZXRlciBuYW1lIGZvciBhIHNwZWNpZmljIGFtYXpvbiBsaW51eCAyMDIyIEFNSVxuICAgKlxuICAgKiBFeGFtcGxlIHZhbHVlczpcbiAgICpcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2FsMjAyMi1hbWkta2VybmVsLTUuMTUteDg2XzY0XCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbDIwMjItYW1pLWtlcm5lbC1kZWZhdWx0LXg4Nl82NFwiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYWwyMDIyLWFtaS1taW5pbWFsLWtlcm5lbC01LjE1LWFybTY0XCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbDIwMjItYW1pLW1pbmltYWwta2VybmVsLTUuMTUteDg2XzY0XCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbDIwMjItYW1pLWtlcm5lbC01LjE1LWFybTY0XCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbDIwMjItYW1pLW1pbmltYWwta2VybmVsLWRlZmF1bHQtYXJtNjRcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2FsMjAyMi1hbWktbWluaW1hbC1rZXJuZWwtZGVmYXVsdC14ODZfNjRcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2FsMjAyMi1hbWkta2VybmVsLWRlZmF1bHQtYXJtNjRcIixcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3NtUGFyYW1ldGVyTmFtZShcbiAgICBwcm9wczogQW1hem9uTGludXgyMDIySW1hZ2VTc21QYXJhbWV0ZXJQcm9wcyxcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBlZGl0aW9uID0gKHByb3BzICYmIHByb3BzLmVkaXRpb24pIHx8IEFtYXpvbkxpbnV4RWRpdGlvbi5TVEFOREFSRDtcblxuICAgIGNvbnN0IHBhcnRzOiBBcnJheTxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gW1xuICAgICAgQW1hem9uTGludXhHZW5lcmF0aW9uLkFNQVpPTl9MSU5VWF8yMDIyLFxuICAgICAgXCJhbWlcIixcbiAgICAgIGVkaXRpb24gIT09IEFtYXpvbkxpbnV4RWRpdGlvbi5TVEFOREFSRCA/IGVkaXRpb24gOiB1bmRlZmluZWQsXG4gICAgICBwcm9wcy5rZXJuZWw/LnRvU3RyaW5nKCksXG4gICAgICBwcm9wcy5jcHVUeXBlID8/IEFtYXpvbkxpbnV4Q3B1VHlwZS5YODZfNjQsXG4gICAgXS5maWx0ZXIoKHgpID0+ICEheCk7XG5cbiAgICByZXR1cm4gXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvXCIgKyBwYXJ0cy5qb2luKFwiLVwiKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBBbWF6b25MaW51eDIwMjJJbWFnZVNzbVBhcmFtZXRlclByb3BzKSB7XG4gICAgc3VwZXIoe1xuICAgICAgcGFyYW1ldGVyTmFtZTogQW1hem9uTGludXgyMDIySW1hZ2VTc21QYXJhbWV0ZXIuc3NtUGFyYW1ldGVyTmFtZShwcm9wcyksXG4gICAgICBjYWNoZWRJbkNvbnRleHQ6IHByb3BzLmNhY2hlZEluQ29udGV4dCxcbiAgICAgIHVzZXJEYXRhOiBwcm9wcy51c2VyRGF0YSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,63 @@
1
+ import { AmazonLinuxImageSsmParameterCommonOptions, AmazonLinuxImageSsmParameterBase } from "./common";
2
+ /**
3
+ * Amazon Linux 2023 kernel versions
4
+ */
5
+ export declare class AmazonLinux2023Kernel {
6
+ private readonly version;
7
+ /**
8
+ * The latest kernel version currently available in a published AMI.
9
+ *
10
+ * When a new kernel version is available for an al2023 AMI this will be
11
+ * updated to contain the latest kernel version and will cause your instances
12
+ * to be replaced. Do not store stateful information on the instance if you are
13
+ * using this version.
14
+ */
15
+ static readonly CDK_LATEST: AmazonLinux2023Kernel;
16
+ /**
17
+ * The default kernel version for Amazon Linux 2023 is 6.1 and
18
+ * the SSM parameter does not include it in the name
19
+ * (i.e. /aws/service/ami-amazon-linux-latest/amzn2023-ami-kernel-default-x86_64)
20
+ */
21
+ static readonly DEFAULT: AmazonLinux2023Kernel;
22
+ /**
23
+ * Kernel version 6.1
24
+ */
25
+ static readonly KERNEL_6_1: AmazonLinux2023Kernel;
26
+ constructor(version: string);
27
+ /**
28
+ * Generate a string representation of the kernel
29
+ */
30
+ toString(): string;
31
+ }
32
+ /**
33
+ * Properties specific to al2023 images
34
+ */
35
+ export interface AmazonLinux2023ImageSsmParameterProps extends AmazonLinuxImageSsmParameterCommonOptions {
36
+ /**
37
+ * What kernel version of Amazon Linux to use
38
+ *
39
+ * @default AmazonLinux2023Kernel.DEFAULT
40
+ */
41
+ readonly kernel?: AmazonLinux2023Kernel;
42
+ }
43
+ /**
44
+ * A SSM Parameter that contains the AMI ID for Amazon Linux 2023
45
+ */
46
+ export declare class AmazonLinux2023ImageSsmParameter extends AmazonLinuxImageSsmParameterBase {
47
+ /**
48
+ * Generates a SSM Parameter name for a specific amazon linux 2023 AMI
49
+ *
50
+ * Example values:
51
+ *
52
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64",
53
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64",
54
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-arm64",
55
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-x86_64",
56
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-arm64",
57
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64",
58
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-x86_64",
59
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64",
60
+ */
61
+ static ssmParameterName(props: AmazonLinux2023ImageSsmParameterProps): string;
62
+ constructor(props?: AmazonLinux2023ImageSsmParameterProps);
63
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var _a, _b;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AmazonLinux2023ImageSsmParameter = exports.AmazonLinux2023Kernel = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // https://github.com/aws/aws-cdk/blob/v2.175.1/packages/aws-cdk-lib/aws-ec2/lib/machine-image/amazon-linux-2023.ts
7
+ const common_1 = require("./common");
8
+ /**
9
+ * Amazon Linux 2023 kernel versions
10
+ */
11
+ class AmazonLinux2023Kernel {
12
+ constructor(version) {
13
+ this.version = version;
14
+ }
15
+ /**
16
+ * Generate a string representation of the kernel
17
+ */
18
+ toString() {
19
+ return `kernel-${this.version}`;
20
+ }
21
+ }
22
+ exports.AmazonLinux2023Kernel = AmazonLinux2023Kernel;
23
+ _a = JSII_RTTI_SYMBOL_1;
24
+ AmazonLinux2023Kernel[_a] = { fqn: "terraconstructs.aws.compute.AmazonLinux2023Kernel", version: "0.0.12" };
25
+ /**
26
+ * The latest kernel version currently available in a published AMI.
27
+ *
28
+ * When a new kernel version is available for an al2023 AMI this will be
29
+ * updated to contain the latest kernel version and will cause your instances
30
+ * to be replaced. Do not store stateful information on the instance if you are
31
+ * using this version.
32
+ */
33
+ AmazonLinux2023Kernel.CDK_LATEST = new AmazonLinux2023Kernel("6.1");
34
+ /**
35
+ * The default kernel version for Amazon Linux 2023 is 6.1 and
36
+ * the SSM parameter does not include it in the name
37
+ * (i.e. /aws/service/ami-amazon-linux-latest/amzn2023-ami-kernel-default-x86_64)
38
+ */
39
+ AmazonLinux2023Kernel.DEFAULT = new AmazonLinux2023Kernel("default");
40
+ /**
41
+ * Kernel version 6.1
42
+ */
43
+ AmazonLinux2023Kernel.KERNEL_6_1 = new AmazonLinux2023Kernel("6.1");
44
+ /**
45
+ * A SSM Parameter that contains the AMI ID for Amazon Linux 2023
46
+ */
47
+ class AmazonLinux2023ImageSsmParameter extends common_1.AmazonLinuxImageSsmParameterBase {
48
+ /**
49
+ * Generates a SSM Parameter name for a specific amazon linux 2023 AMI
50
+ *
51
+ * Example values:
52
+ *
53
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64",
54
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64",
55
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-arm64",
56
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-x86_64",
57
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-arm64",
58
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64",
59
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-x86_64",
60
+ * "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64",
61
+ */
62
+ static ssmParameterName(props) {
63
+ const edition = (props && props.edition) || common_1.AmazonLinuxEdition.STANDARD;
64
+ const parts = [
65
+ common_1.AmazonLinuxGeneration.AMAZON_LINUX_2023,
66
+ "ami",
67
+ edition !== common_1.AmazonLinuxEdition.STANDARD ? edition : undefined,
68
+ (props.kernel ?? AmazonLinux2023Kernel.DEFAULT)?.toString(),
69
+ props.cpuType ?? common_1.AmazonLinuxCpuType.X86_64,
70
+ ].filter((x) => !!x);
71
+ return "/aws/service/ami-amazon-linux-latest/" + parts.join("-");
72
+ }
73
+ constructor(props = {}) {
74
+ super({
75
+ parameterName: AmazonLinux2023ImageSsmParameter.ssmParameterName(props),
76
+ cachedInContext: props.cachedInContext,
77
+ userData: props.userData,
78
+ });
79
+ }
80
+ }
81
+ exports.AmazonLinux2023ImageSsmParameter = AmazonLinux2023ImageSsmParameter;
82
+ _b = JSII_RTTI_SYMBOL_1;
83
+ AmazonLinux2023ImageSsmParameter[_b] = { fqn: "terraconstructs.aws.compute.AmazonLinux2023ImageSsmParameter", version: "0.0.12" };
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hem9uLWxpbnV4LTIwMjMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvbWFjaGluZS1pbWFnZS9hbWF6b24tbGludXgtMjAyMy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG1IQUFtSDtBQUVuSCxxQ0FNa0I7QUFFbEI7O0dBRUc7QUFDSCxNQUFhLHFCQUFxQjtJQXNCaEMsWUFBNkIsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFBRyxDQUFDO0lBRWhEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sVUFBVSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7QUE3Qkgsc0RBOEJDOzs7QUE3QkM7Ozs7Ozs7R0FPRztBQUNvQixnQ0FBVSxHQUFHLElBQUkscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFckU7Ozs7R0FJRztBQUNvQiw2QkFBTyxHQUFHLElBQUkscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFdEU7O0dBRUc7QUFDb0IsZ0NBQVUsR0FBRyxJQUFJLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBd0J2RTs7R0FFRztBQUNILE1BQWEsZ0NBQWlDLFNBQVEseUNBQWdDO0lBQ3BGOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxNQUFNLENBQUMsZ0JBQWdCLENBQzVCLEtBQTRDO1FBRTVDLE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSwyQkFBa0IsQ0FBQyxRQUFRLENBQUM7UUFFeEUsTUFBTSxLQUFLLEdBQThCO1lBQ3ZDLDhCQUFxQixDQUFDLGlCQUFpQjtZQUN2QyxLQUFLO1lBQ0wsT0FBTyxLQUFLLDJCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzdELENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUU7WUFDM0QsS0FBSyxDQUFDLE9BQU8sSUFBSSwyQkFBa0IsQ0FBQyxNQUFNO1NBQzNDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFckIsT0FBTyx1Q0FBdUMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxZQUFZLFFBQStDLEVBQUU7UUFDM0QsS0FBSyxDQUFDO1lBQ0osYUFBYSxFQUFFLGdDQUFnQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUN2RSxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBckNILDRFQXNDQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lYzIvbGliL21hY2hpbmUtaW1hZ2UvYW1hem9uLWxpbnV4LTIwMjMudHNcblxuaW1wb3J0IHtcbiAgQW1hem9uTGludXhDcHVUeXBlLFxuICBBbWF6b25MaW51eEVkaXRpb24sXG4gIEFtYXpvbkxpbnV4R2VuZXJhdGlvbixcbiAgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckNvbW1vbk9wdGlvbnMsXG4gIEFtYXpvbkxpbnV4SW1hZ2VTc21QYXJhbWV0ZXJCYXNlLFxufSBmcm9tIFwiLi9jb21tb25cIjtcblxuLyoqXG4gKiBBbWF6b24gTGludXggMjAyMyBrZXJuZWwgdmVyc2lvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIEFtYXpvbkxpbnV4MjAyM0tlcm5lbCB7XG4gIC8qKlxuICAgKiBUaGUgbGF0ZXN0IGtlcm5lbCB2ZXJzaW9uIGN1cnJlbnRseSBhdmFpbGFibGUgaW4gYSBwdWJsaXNoZWQgQU1JLlxuICAgKlxuICAgKiBXaGVuIGEgbmV3IGtlcm5lbCB2ZXJzaW9uIGlzIGF2YWlsYWJsZSBmb3IgYW4gYWwyMDIzIEFNSSB0aGlzIHdpbGwgYmVcbiAgICogdXBkYXRlZCB0byBjb250YWluIHRoZSBsYXRlc3Qga2VybmVsIHZlcnNpb24gYW5kIHdpbGwgY2F1c2UgeW91ciBpbnN0YW5jZXNcbiAgICogdG8gYmUgcmVwbGFjZWQuIERvIG5vdCBzdG9yZSBzdGF0ZWZ1bCBpbmZvcm1hdGlvbiBvbiB0aGUgaW5zdGFuY2UgaWYgeW91IGFyZVxuICAgKiB1c2luZyB0aGlzIHZlcnNpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENES19MQVRFU1QgPSBuZXcgQW1hem9uTGludXgyMDIzS2VybmVsKFwiNi4xXCIpO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdCBrZXJuZWwgdmVyc2lvbiBmb3IgQW1hem9uIExpbnV4IDIwMjMgaXMgNi4xIGFuZFxuICAgKiB0aGUgU1NNIHBhcmFtZXRlciBkb2VzIG5vdCBpbmNsdWRlIGl0IGluIHRoZSBuYW1lXG4gICAqIChpLmUuIC9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbXpuMjAyMy1hbWkta2VybmVsLWRlZmF1bHQteDg2XzY0KVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUID0gbmV3IEFtYXpvbkxpbnV4MjAyM0tlcm5lbChcImRlZmF1bHRcIik7XG5cbiAgLyoqXG4gICAqIEtlcm5lbCB2ZXJzaW9uIDYuMVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBLRVJORUxfNl8xID0gbmV3IEFtYXpvbkxpbnV4MjAyM0tlcm5lbChcIjYuMVwiKTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmcpIHt9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBrZXJuZWxcbiAgICovXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBga2VybmVsLSR7dGhpcy52ZXJzaW9ufWA7XG4gIH1cbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIHNwZWNpZmljIHRvIGFsMjAyMyBpbWFnZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbWF6b25MaW51eDIwMjNJbWFnZVNzbVBhcmFtZXRlclByb3BzXG4gIGV4dGVuZHMgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogV2hhdCBrZXJuZWwgdmVyc2lvbiBvZiBBbWF6b24gTGludXggdG8gdXNlXG4gICAqXG4gICAqIEBkZWZhdWx0IEFtYXpvbkxpbnV4MjAyM0tlcm5lbC5ERUZBVUxUXG4gICAqL1xuICByZWFkb25seSBrZXJuZWw/OiBBbWF6b25MaW51eDIwMjNLZXJuZWw7XG59XG5cbi8qKlxuICogQSBTU00gUGFyYW1ldGVyIHRoYXQgY29udGFpbnMgdGhlIEFNSSBJRCBmb3IgQW1hem9uIExpbnV4IDIwMjNcbiAqL1xuZXhwb3J0IGNsYXNzIEFtYXpvbkxpbnV4MjAyM0ltYWdlU3NtUGFyYW1ldGVyIGV4dGVuZHMgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckJhc2Uge1xuICAvKipcbiAgICogR2VuZXJhdGVzIGEgU1NNIFBhcmFtZXRlciBuYW1lIGZvciBhIHNwZWNpZmljIGFtYXpvbiBsaW51eCAyMDIzIEFNSVxuICAgKlxuICAgKiBFeGFtcGxlIHZhbHVlczpcbiAgICpcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2FsMjAyMy1hbWkta2VybmVsLTYuMS1hcm02NFwiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYWwyMDIzLWFtaS1rZXJuZWwtNi4xLXg4Nl82NFwiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYWwyMDIzLWFtaS1taW5pbWFsLWtlcm5lbC02LjEtYXJtNjRcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2FsMjAyMy1hbWktbWluaW1hbC1rZXJuZWwtNi4xLXg4Nl82NFwiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYWwyMDIzLWFtaS1taW5pbWFsLWtlcm5lbC1kZWZhdWx0LWFybTY0XCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbDIwMjMtYW1pLWtlcm5lbC1kZWZhdWx0LXg4Nl82NFwiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYWwyMDIzLWFtaS1taW5pbWFsLWtlcm5lbC1kZWZhdWx0LXg4Nl82NFwiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYWwyMDIzLWFtaS1rZXJuZWwtZGVmYXVsdC1hcm02NFwiLFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzc21QYXJhbWV0ZXJOYW1lKFxuICAgIHByb3BzOiBBbWF6b25MaW51eDIwMjNJbWFnZVNzbVBhcmFtZXRlclByb3BzLFxuICApOiBzdHJpbmcge1xuICAgIGNvbnN0IGVkaXRpb24gPSAocHJvcHMgJiYgcHJvcHMuZWRpdGlvbikgfHwgQW1hem9uTGludXhFZGl0aW9uLlNUQU5EQVJEO1xuXG4gICAgY29uc3QgcGFydHM6IEFycmF5PHN0cmluZyB8IHVuZGVmaW5lZD4gPSBbXG4gICAgICBBbWF6b25MaW51eEdlbmVyYXRpb24uQU1BWk9OX0xJTlVYXzIwMjMsXG4gICAgICBcImFtaVwiLFxuICAgICAgZWRpdGlvbiAhPT0gQW1hem9uTGludXhFZGl0aW9uLlNUQU5EQVJEID8gZWRpdGlvbiA6IHVuZGVmaW5lZCxcbiAgICAgIChwcm9wcy5rZXJuZWwgPz8gQW1hem9uTGludXgyMDIzS2VybmVsLkRFRkFVTFQpPy50b1N0cmluZygpLFxuICAgICAgcHJvcHMuY3B1VHlwZSA/PyBBbWF6b25MaW51eENwdVR5cGUuWDg2XzY0LFxuICAgIF0uZmlsdGVyKCh4KSA9PiAhIXgpO1xuXG4gICAgcmV0dXJuIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L1wiICsgcGFydHMuam9pbihcIi1cIik7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcm9wczogQW1hem9uTGludXgyMDIzSW1hZ2VTc21QYXJhbWV0ZXJQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoe1xuICAgICAgcGFyYW1ldGVyTmFtZTogQW1hem9uTGludXgyMDIzSW1hZ2VTc21QYXJhbWV0ZXIuc3NtUGFyYW1ldGVyTmFtZShwcm9wcyksXG4gICAgICBjYWNoZWRJbkNvbnRleHQ6IHByb3BzLmNhY2hlZEluQ29udGV4dCxcbiAgICAgIHVzZXJEYXRhOiBwcm9wcy51c2VyRGF0YSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,76 @@
1
+ import { AmazonLinuxImageSsmParameterBase, AmazonLinuxImageSsmParameterCommonOptions, AmazonLinuxStorage, AmazonLinuxVirt } from "./common";
2
+ /**
3
+ * Amazon Linux 2 kernel versions
4
+ */
5
+ export declare class AmazonLinux2Kernel {
6
+ private readonly version;
7
+ /**
8
+ * The latest kernel version currently available in a published AMI.
9
+ *
10
+ * When a new kernel version is available for an amzn2 AMI this will be
11
+ * updated to contain the latest kernel version and will cause your instances
12
+ * to be replaced. Do not store stateful information on the instance if you are
13
+ * using this version.
14
+ */
15
+ static readonly CDK_LATEST: AmazonLinux2Kernel;
16
+ /**
17
+ * The default kernel version for Amazon Linux 2 is 4.14 and
18
+ * Linux 4.14.311-233.529.amzn2.x86_64
19
+ * the SSM parameter does not include it in the name
20
+ * (i.e. /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2)
21
+ */
22
+ static readonly DEFAULT: AmazonLinux2Kernel;
23
+ /**
24
+ * Kernel version 5.10
25
+ */
26
+ static readonly KERNEL_5_10: AmazonLinux2Kernel;
27
+ constructor(version: string);
28
+ /**
29
+ * Generate a string representation of the kernel
30
+ */
31
+ toString(): string | undefined;
32
+ }
33
+ /**
34
+ * Properties specific to amzn2 images
35
+ */
36
+ export interface AmazonLinux2ImageSsmParameterProps extends AmazonLinuxImageSsmParameterCommonOptions {
37
+ /**
38
+ * What storage backed image to use
39
+ *
40
+ * @default GeneralPurpose
41
+ */
42
+ readonly storage?: AmazonLinuxStorage;
43
+ /**
44
+ * What kernel version of Amazon Linux to use
45
+ *
46
+ * @default -
47
+ */
48
+ readonly kernel?: AmazonLinux2Kernel;
49
+ /**
50
+ * Virtualization type
51
+ *
52
+ * @default HVM
53
+ */
54
+ readonly virtualization?: AmazonLinuxVirt;
55
+ }
56
+ /**
57
+ * A SSM Parameter that contains the AMI ID for Amazon Linux 2
58
+ */
59
+ export declare class AmazonLinux2ImageSsmParameter extends AmazonLinuxImageSsmParameterBase {
60
+ /**
61
+ * Generates a SSM Parameter name for a specific amazon linux 2 AMI
62
+ *
63
+ * Example values:
64
+ *
65
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-ebs",
66
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2",
67
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-x86_64-ebs",
68
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2",
69
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-minimal-hvm-arm64-ebs",
70
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-arm64-gp2",
71
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-x86_64-gp2",
72
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-minimal-hvm-x86_64-ebs"
73
+ */
74
+ static ssmParameterName(props: AmazonLinux2ImageSsmParameterProps): string;
75
+ constructor(props: AmazonLinux2ImageSsmParameterProps);
76
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var _a, _b;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AmazonLinux2ImageSsmParameter = exports.AmazonLinux2Kernel = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // https://github.com/aws/aws-cdk/blob/v2.175.1/packages/aws-cdk-lib/aws-ec2/lib/machine-image/amazon-linux-2022.ts
7
+ const common_1 = require("./common");
8
+ /**
9
+ * Amazon Linux 2 kernel versions
10
+ */
11
+ class AmazonLinux2Kernel {
12
+ constructor(version) {
13
+ this.version = version;
14
+ }
15
+ /**
16
+ * Generate a string representation of the kernel
17
+ */
18
+ toString() {
19
+ return this.version === "default" ? undefined : `kernel-${this.version}`;
20
+ }
21
+ }
22
+ exports.AmazonLinux2Kernel = AmazonLinux2Kernel;
23
+ _a = JSII_RTTI_SYMBOL_1;
24
+ AmazonLinux2Kernel[_a] = { fqn: "terraconstructs.aws.compute.AmazonLinux2Kernel", version: "0.0.12" };
25
+ /**
26
+ * The latest kernel version currently available in a published AMI.
27
+ *
28
+ * When a new kernel version is available for an amzn2 AMI this will be
29
+ * updated to contain the latest kernel version and will cause your instances
30
+ * to be replaced. Do not store stateful information on the instance if you are
31
+ * using this version.
32
+ */
33
+ AmazonLinux2Kernel.CDK_LATEST = new AmazonLinux2Kernel("5.10");
34
+ /**
35
+ * The default kernel version for Amazon Linux 2 is 4.14 and
36
+ * Linux 4.14.311-233.529.amzn2.x86_64
37
+ * the SSM parameter does not include it in the name
38
+ * (i.e. /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2)
39
+ */
40
+ AmazonLinux2Kernel.DEFAULT = new AmazonLinux2Kernel("default");
41
+ /**
42
+ * Kernel version 5.10
43
+ */
44
+ AmazonLinux2Kernel.KERNEL_5_10 = new AmazonLinux2Kernel("5.10");
45
+ /**
46
+ * A SSM Parameter that contains the AMI ID for Amazon Linux 2
47
+ */
48
+ class AmazonLinux2ImageSsmParameter extends common_1.AmazonLinuxImageSsmParameterBase {
49
+ /**
50
+ * Generates a SSM Parameter name for a specific amazon linux 2 AMI
51
+ *
52
+ * Example values:
53
+ *
54
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-ebs",
55
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2",
56
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-x86_64-ebs",
57
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2",
58
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-minimal-hvm-arm64-ebs",
59
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-arm64-gp2",
60
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-x86_64-gp2",
61
+ * "/aws/service/ami-amazon-linux-latest/amzn2-ami-minimal-hvm-x86_64-ebs"
62
+ */
63
+ static ssmParameterName(props) {
64
+ const edition = (props && props.edition) || common_1.AmazonLinuxEdition.STANDARD;
65
+ const parts = [
66
+ common_1.AmazonLinuxGeneration.AMAZON_LINUX_2,
67
+ "ami",
68
+ edition !== common_1.AmazonLinuxEdition.STANDARD ? edition : undefined,
69
+ props.kernel?.toString(),
70
+ props.virtualization ?? common_1.AmazonLinuxVirt.HVM,
71
+ props.cpuType ?? common_1.AmazonLinuxCpuType.X86_64,
72
+ props.storage ?? common_1.AmazonLinuxStorage.GENERAL_PURPOSE,
73
+ ].filter((x) => !!x);
74
+ return "/aws/service/ami-amazon-linux-latest/" + parts.join("-");
75
+ }
76
+ constructor(props) {
77
+ super({
78
+ parameterName: AmazonLinux2ImageSsmParameter.ssmParameterName(props),
79
+ cachedInContext: props.cachedInContext,
80
+ userData: props.userData,
81
+ });
82
+ }
83
+ }
84
+ exports.AmazonLinux2ImageSsmParameter = AmazonLinux2ImageSsmParameter;
85
+ _b = JSII_RTTI_SYMBOL_1;
86
+ AmazonLinux2ImageSsmParameter[_b] = { fqn: "terraconstructs.aws.compute.AmazonLinux2ImageSsmParameter", version: "0.0.12" };
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hem9uLWxpbnV4Mi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9tYWNoaW5lLWltYWdlL2FtYXpvbi1saW51eDIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtSEFBbUg7QUFFbkgscUNBUWtCO0FBRWxCOztHQUVHO0FBQ0gsTUFBYSxrQkFBa0I7SUF3QjdCLFlBQTZCLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO0lBQUcsQ0FBQztJQUVoRDs7T0FFRztJQUNJLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNFLENBQUM7O0FBL0JILGdEQWdDQzs7O0FBL0JDOzs7Ozs7O0dBT0c7QUFDb0IsNkJBQVUsR0FBRyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRW5FOzs7OztHQUtHO0FBQ29CLDBCQUFPLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUVuRTs7R0FFRztBQUNvQiw4QkFBVyxHQUFHLElBQUksa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7QUF1Q3RFOztHQUVHO0FBQ0gsTUFBYSw2QkFBOEIsU0FBUSx5Q0FBZ0M7SUFDakY7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDNUIsS0FBeUM7UUFFekMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLDJCQUFrQixDQUFDLFFBQVEsQ0FBQztRQUV4RSxNQUFNLEtBQUssR0FBOEI7WUFDdkMsOEJBQXFCLENBQUMsY0FBYztZQUNwQyxLQUFLO1lBQ0wsT0FBTyxLQUFLLDJCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQzdELEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxjQUFjLElBQUksd0JBQWUsQ0FBQyxHQUFHO1lBQzNDLEtBQUssQ0FBQyxPQUFPLElBQUksMkJBQWtCLENBQUMsTUFBTTtZQUMxQyxLQUFLLENBQUMsT0FBTyxJQUFJLDJCQUFrQixDQUFDLGVBQWU7U0FDcEQsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyQixPQUFPLHVDQUF1QyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELFlBQVksS0FBeUM7UUFDbkQsS0FBSyxDQUFDO1lBQ0osYUFBYSxFQUFFLDZCQUE2QixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUNwRSxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBdkNILHNFQXdDQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lYzIvbGliL21hY2hpbmUtaW1hZ2UvYW1hem9uLWxpbnV4LTIwMjIudHNcblxuaW1wb3J0IHtcbiAgQW1hem9uTGludXhDcHVUeXBlLFxuICBBbWF6b25MaW51eEVkaXRpb24sXG4gIEFtYXpvbkxpbnV4R2VuZXJhdGlvbixcbiAgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckJhc2UsXG4gIEFtYXpvbkxpbnV4SW1hZ2VTc21QYXJhbWV0ZXJDb21tb25PcHRpb25zLFxuICBBbWF6b25MaW51eFN0b3JhZ2UsXG4gIEFtYXpvbkxpbnV4VmlydCxcbn0gZnJvbSBcIi4vY29tbW9uXCI7XG5cbi8qKlxuICogQW1hem9uIExpbnV4IDIga2VybmVsIHZlcnNpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBBbWF6b25MaW51eDJLZXJuZWwge1xuICAvKipcbiAgICogVGhlIGxhdGVzdCBrZXJuZWwgdmVyc2lvbiBjdXJyZW50bHkgYXZhaWxhYmxlIGluIGEgcHVibGlzaGVkIEFNSS5cbiAgICpcbiAgICogV2hlbiBhIG5ldyBrZXJuZWwgdmVyc2lvbiBpcyBhdmFpbGFibGUgZm9yIGFuIGFtem4yIEFNSSB0aGlzIHdpbGwgYmVcbiAgICogdXBkYXRlZCB0byBjb250YWluIHRoZSBsYXRlc3Qga2VybmVsIHZlcnNpb24gYW5kIHdpbGwgY2F1c2UgeW91ciBpbnN0YW5jZXNcbiAgICogdG8gYmUgcmVwbGFjZWQuIERvIG5vdCBzdG9yZSBzdGF0ZWZ1bCBpbmZvcm1hdGlvbiBvbiB0aGUgaW5zdGFuY2UgaWYgeW91IGFyZVxuICAgKiB1c2luZyB0aGlzIHZlcnNpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENES19MQVRFU1QgPSBuZXcgQW1hem9uTGludXgyS2VybmVsKFwiNS4xMFwiKTtcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQga2VybmVsIHZlcnNpb24gZm9yIEFtYXpvbiBMaW51eCAyIGlzIDQuMTQgYW5kXG4gICAqIExpbnV4IDQuMTQuMzExLTIzMy41MjkuYW16bjIueDg2XzY0XG4gICAqIHRoZSBTU00gcGFyYW1ldGVyIGRvZXMgbm90IGluY2x1ZGUgaXQgaW4gdGhlIG5hbWVcbiAgICogKGkuZS4gL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2Ftem4yLWFtaS1odm0teDg2XzY0LWdwMilcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVCA9IG5ldyBBbWF6b25MaW51eDJLZXJuZWwoXCJkZWZhdWx0XCIpO1xuXG4gIC8qKlxuICAgKiBLZXJuZWwgdmVyc2lvbiA1LjEwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEtFUk5FTF81XzEwID0gbmV3IEFtYXpvbkxpbnV4Mktlcm5lbChcIjUuMTBcIik7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmcpIHt9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBrZXJuZWxcbiAgICovXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnZlcnNpb24gPT09IFwiZGVmYXVsdFwiID8gdW5kZWZpbmVkIDogYGtlcm5lbC0ke3RoaXMudmVyc2lvbn1gO1xuICB9XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBzcGVjaWZpYyB0byBhbXpuMiBpbWFnZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbWF6b25MaW51eDJJbWFnZVNzbVBhcmFtZXRlclByb3BzXG4gIGV4dGVuZHMgQW1hem9uTGludXhJbWFnZVNzbVBhcmFtZXRlckNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogV2hhdCBzdG9yYWdlIGJhY2tlZCBpbWFnZSB0byB1c2VcbiAgICpcbiAgICogQGRlZmF1bHQgR2VuZXJhbFB1cnBvc2VcbiAgICovXG4gIHJlYWRvbmx5IHN0b3JhZ2U/OiBBbWF6b25MaW51eFN0b3JhZ2U7XG5cbiAgLyoqXG4gICAqIFdoYXQga2VybmVsIHZlcnNpb24gb2YgQW1hem9uIExpbnV4IHRvIHVzZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtXG4gICAqL1xuICByZWFkb25seSBrZXJuZWw/OiBBbWF6b25MaW51eDJLZXJuZWw7XG5cbiAgLyoqXG4gICAqIFZpcnR1YWxpemF0aW9uIHR5cGVcbiAgICpcbiAgICogQGRlZmF1bHQgSFZNXG4gICAqL1xuICByZWFkb25seSB2aXJ0dWFsaXphdGlvbj86IEFtYXpvbkxpbnV4VmlydDtcbn1cblxuLyoqXG4gKiBBIFNTTSBQYXJhbWV0ZXIgdGhhdCBjb250YWlucyB0aGUgQU1JIElEIGZvciBBbWF6b24gTGludXggMlxuICovXG5leHBvcnQgY2xhc3MgQW1hem9uTGludXgySW1hZ2VTc21QYXJhbWV0ZXIgZXh0ZW5kcyBBbWF6b25MaW51eEltYWdlU3NtUGFyYW1ldGVyQmFzZSB7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBTU00gUGFyYW1ldGVyIG5hbWUgZm9yIGEgc3BlY2lmaWMgYW1hem9uIGxpbnV4IDIgQU1JXG4gICAqXG4gICAqIEV4YW1wbGUgdmFsdWVzOlxuICAgKlxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYW16bjItYW1pLWh2bS14ODZfNjQtZWJzXCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbXpuMi1hbWktaHZtLXg4Nl82NC1ncDJcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2Ftem4yLWFtaS1rZXJuZWwtNS4xMC1odm0teDg2XzY0LWVic1wiLFxuICAgKiAgICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYW16bjItYW1pLWh2bS1hcm02NC1ncDJcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2Ftem4yLWFtaS1taW5pbWFsLWh2bS1hcm02NC1lYnNcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2Ftem4yLWFtaS1rZXJuZWwtNS4xMC1odm0tYXJtNjQtZ3AyXCIsXG4gICAqICAgICBcIi9hd3Mvc2VydmljZS9hbWktYW1hem9uLWxpbnV4LWxhdGVzdC9hbXpuMi1hbWkta2VybmVsLTUuMTAtaHZtLXg4Nl82NC1ncDJcIixcbiAgICogICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2Ftem4yLWFtaS1taW5pbWFsLWh2bS14ODZfNjQtZWJzXCJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3NtUGFyYW1ldGVyTmFtZShcbiAgICBwcm9wczogQW1hem9uTGludXgySW1hZ2VTc21QYXJhbWV0ZXJQcm9wcyxcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBlZGl0aW9uID0gKHByb3BzICYmIHByb3BzLmVkaXRpb24pIHx8IEFtYXpvbkxpbnV4RWRpdGlvbi5TVEFOREFSRDtcblxuICAgIGNvbnN0IHBhcnRzOiBBcnJheTxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gW1xuICAgICAgQW1hem9uTGludXhHZW5lcmF0aW9uLkFNQVpPTl9MSU5VWF8yLFxuICAgICAgXCJhbWlcIixcbiAgICAgIGVkaXRpb24gIT09IEFtYXpvbkxpbnV4RWRpdGlvbi5TVEFOREFSRCA/IGVkaXRpb24gOiB1bmRlZmluZWQsXG4gICAgICBwcm9wcy5rZXJuZWw/LnRvU3RyaW5nKCksXG4gICAgICBwcm9wcy52aXJ0dWFsaXphdGlvbiA/PyBBbWF6b25MaW51eFZpcnQuSFZNLFxuICAgICAgcHJvcHMuY3B1VHlwZSA/PyBBbWF6b25MaW51eENwdVR5cGUuWDg2XzY0LFxuICAgICAgcHJvcHMuc3RvcmFnZSA/PyBBbWF6b25MaW51eFN0b3JhZ2UuR0VORVJBTF9QVVJQT1NFLFxuICAgIF0uZmlsdGVyKCh4KSA9PiAhIXgpO1xuXG4gICAgcmV0dXJuIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L1wiICsgcGFydHMuam9pbihcIi1cIik7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcm9wczogQW1hem9uTGludXgySW1hZ2VTc21QYXJhbWV0ZXJQcm9wcykge1xuICAgIHN1cGVyKHtcbiAgICAgIHBhcmFtZXRlck5hbWU6IEFtYXpvbkxpbnV4MkltYWdlU3NtUGFyYW1ldGVyLnNzbVBhcmFtZXRlck5hbWUocHJvcHMpLFxuICAgICAgY2FjaGVkSW5Db250ZXh0OiBwcm9wcy5jYWNoZWRJbkNvbnRleHQsXG4gICAgICB1c2VyRGF0YTogcHJvcHMudXNlckRhdGEsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==