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,100 @@
1
+ "use strict";
2
+ var _a, _b, _c;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AlbListenerTarget = exports.AlbTarget = exports.AlbArnTarget = 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-elasticloadbalancingv2-targets/lib/alb-target.ts
7
+ const compute = require("../");
8
+ /**
9
+ * A single Application Load Balancer as the target for load balancing.
10
+ */
11
+ class AlbArnTarget {
12
+ /**
13
+ * Create a new alb target.
14
+ * Note that the ALB must have a listener on the provided target port.
15
+ *
16
+ * @param albArn The ARN of the application load balancer to load balance to
17
+ * @param port The port on which the target is listening
18
+ */
19
+ constructor(albArn, port) {
20
+ this.albArn = albArn;
21
+ this.port = port;
22
+ }
23
+ /**
24
+ * Register this alb target with a load balancer
25
+ *
26
+ * Don't call this, it is called automatically when you add the target to a
27
+ * load balancer.
28
+ */
29
+ attachToNetworkTargetGroup(targetGroup) {
30
+ return this._attach(targetGroup);
31
+ }
32
+ /**
33
+ * @internal
34
+ */
35
+ _attach(_targetGroup) {
36
+ return {
37
+ targetType: compute.TargetType.ALB,
38
+ targetJson: { targetId: this.albArn, port: this.port },
39
+ };
40
+ }
41
+ }
42
+ exports.AlbArnTarget = AlbArnTarget;
43
+ _a = JSII_RTTI_SYMBOL_1;
44
+ AlbArnTarget[_a] = { fqn: "terraconstructs.aws.compute.lbtargets.AlbArnTarget", version: "0.0.12" };
45
+ /**
46
+ * A single Application Load Balancer as the target for load balancing.
47
+ * @deprecated Use `AlbListenerTarget` instead or
48
+ * `AlbArnTarget` for an imported load balancer. This target does not automatically
49
+ * add a dependency between the ALB listener and resulting NLB target group,
50
+ * without which may cause stack deployments to fail if the NLB target group is provisioned
51
+ * before the listener has been fully created.
52
+ */
53
+ class AlbTarget extends AlbArnTarget {
54
+ /**
55
+ * @param alb The application load balancer to load balance to
56
+ * @param port The port on which the target is listening
57
+ */
58
+ constructor(alb, port) {
59
+ super(alb.loadBalancerArn, port);
60
+ }
61
+ }
62
+ exports.AlbTarget = AlbTarget;
63
+ _b = JSII_RTTI_SYMBOL_1;
64
+ AlbTarget[_b] = { fqn: "terraconstructs.aws.compute.lbtargets.AlbTarget", version: "0.0.12" };
65
+ /**
66
+ * A single Application Load Balancer's listener as the target for load balancing.
67
+ */
68
+ class AlbListenerTarget extends AlbArnTarget {
69
+ /**
70
+ * Create a new ALB target.
71
+ * The associated target group will automatically have a dependency added
72
+ * against the ALB's listener.
73
+ *
74
+ * @param albListener The application load balancer listener to target.
75
+ */
76
+ constructor(albListener) {
77
+ super(albListener.loadBalancer.loadBalancerArn, albListener.port);
78
+ this.albListener = albListener;
79
+ }
80
+ attach(targetGroup) {
81
+ targetGroup.node.addDependency(this.albListener);
82
+ return super._attach(targetGroup);
83
+ }
84
+ /**
85
+ * Register this ALB target with a load balancer.
86
+ *
87
+ * Don't call this, it is called automatically when you add the target to a
88
+ * load balancer.
89
+ *
90
+ * This adds dependency on albListener because creation of ALB listener and NLB can vary during runtime.
91
+ * More Details on - https://github.com/aws/aws-cdk/issues/17208
92
+ */
93
+ attachToNetworkTargetGroup(targetGroup) {
94
+ return this.attach(targetGroup);
95
+ }
96
+ }
97
+ exports.AlbListenerTarget = AlbListenerTarget;
98
+ _c = JSII_RTTI_SYMBOL_1;
99
+ AlbListenerTarget[_c] = { fqn: "terraconstructs.aws.compute.lbtargets.AlbListenerTarget", version: "0.0.12" };
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxiLXRhcmdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9sYi10YXJnZXRzL2FsYi10YXJnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5SEFBeUg7QUFFekgsK0JBQStCO0FBRS9COztHQUVHO0FBQ0gsTUFBYSxZQUFZO0lBQ3ZCOzs7Ozs7T0FNRztJQUNILFlBQ21CLE1BQWMsRUFDZCxJQUFZO1FBRFosV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFNBQUksR0FBSixJQUFJLENBQVE7SUFDNUIsQ0FBQztJQUVKOzs7OztPQUtHO0lBQ0ksMEJBQTBCLENBQy9CLFdBQXdDO1FBRXhDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxPQUFPLENBQ2YsWUFBa0M7UUFFbEMsT0FBTztZQUNMLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFDbEMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDdkQsQ0FBQztJQUNKLENBQUM7O0FBbkNILG9DQW9DQzs7O0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQWEsU0FBVSxTQUFRLFlBQVk7SUFDekM7OztPQUdHO0lBQ0gsWUFBWSxHQUFxQyxFQUFFLElBQVk7UUFDN0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7QUFQSCw4QkFRQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLFlBQVk7SUFDakQ7Ozs7OztPQU1HO0lBQ0gsWUFBb0IsV0FBd0M7UUFDMUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURoRCxnQkFBVyxHQUFYLFdBQVcsQ0FBNkI7SUFFNUQsQ0FBQztJQUVPLE1BQU0sQ0FDWixXQUFpQztRQUVqQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDakQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLDBCQUEwQixDQUMvQixXQUF3QztRQUV4QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7QUFoQ0gsOENBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjItdGFyZ2V0cy9saWIvYWxiLXRhcmdldC50c1xuXG5pbXBvcnQgKiBhcyBjb21wdXRlIGZyb20gXCIuLi9cIjtcblxuLyoqXG4gKiBBIHNpbmdsZSBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyIGFzIHRoZSB0YXJnZXQgZm9yIGxvYWQgYmFsYW5jaW5nLlxuICovXG5leHBvcnQgY2xhc3MgQWxiQXJuVGFyZ2V0IGltcGxlbWVudHMgY29tcHV0ZS5JTmV0d29ya0xvYWRCYWxhbmNlclRhcmdldCB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgYWxiIHRhcmdldC5cbiAgICogTm90ZSB0aGF0IHRoZSBBTEIgbXVzdCBoYXZlIGEgbGlzdGVuZXIgb24gdGhlIHByb3ZpZGVkIHRhcmdldCBwb3J0LlxuICAgKlxuICAgKiBAcGFyYW0gYWxiQXJuIFRoZSBBUk4gb2YgdGhlIGFwcGxpY2F0aW9uIGxvYWQgYmFsYW5jZXIgdG8gbG9hZCBiYWxhbmNlIHRvXG4gICAqIEBwYXJhbSBwb3J0IFRoZSBwb3J0IG9uIHdoaWNoIHRoZSB0YXJnZXQgaXMgbGlzdGVuaW5nXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsYkFybjogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9ydDogbnVtYmVyLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIHRoaXMgYWxiIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBEb24ndCBjYWxsIHRoaXMsIGl0IGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IGFkZCB0aGUgdGFyZ2V0IHRvIGFcbiAgICogbG9hZCBiYWxhbmNlci5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb05ldHdvcmtUYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogY29tcHV0ZS5JTmV0d29ya1RhcmdldEdyb3VwLFxuICApOiBjb21wdXRlLkxvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICByZXR1cm4gdGhpcy5fYXR0YWNoKHRhcmdldEdyb3VwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfYXR0YWNoKFxuICAgIF90YXJnZXRHcm91cDogY29tcHV0ZS5JVGFyZ2V0R3JvdXAsXG4gICk6IGNvbXB1dGUuTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXRUeXBlOiBjb21wdXRlLlRhcmdldFR5cGUuQUxCLFxuICAgICAgdGFyZ2V0SnNvbjogeyB0YXJnZXRJZDogdGhpcy5hbGJBcm4sIHBvcnQ6IHRoaXMucG9ydCB9LFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyIGFzIHRoZSB0YXJnZXQgZm9yIGxvYWQgYmFsYW5jaW5nLlxuICogQGRlcHJlY2F0ZWQgVXNlIGBBbGJMaXN0ZW5lclRhcmdldGAgaW5zdGVhZCBvclxuICogYEFsYkFyblRhcmdldGAgZm9yIGFuIGltcG9ydGVkIGxvYWQgYmFsYW5jZXIuIFRoaXMgdGFyZ2V0IGRvZXMgbm90IGF1dG9tYXRpY2FsbHlcbiAqIGFkZCBhIGRlcGVuZGVuY3kgYmV0d2VlbiB0aGUgQUxCIGxpc3RlbmVyIGFuZCByZXN1bHRpbmcgTkxCIHRhcmdldCBncm91cCxcbiAqIHdpdGhvdXQgd2hpY2ggbWF5IGNhdXNlIHN0YWNrIGRlcGxveW1lbnRzIHRvIGZhaWwgaWYgdGhlIE5MQiB0YXJnZXQgZ3JvdXAgaXMgcHJvdmlzaW9uZWRcbiAqIGJlZm9yZSB0aGUgbGlzdGVuZXIgaGFzIGJlZW4gZnVsbHkgY3JlYXRlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIEFsYlRhcmdldCBleHRlbmRzIEFsYkFyblRhcmdldCB7XG4gIC8qKlxuICAgKiBAcGFyYW0gYWxiIFRoZSBhcHBsaWNhdGlvbiBsb2FkIGJhbGFuY2VyIHRvIGxvYWQgYmFsYW5jZSB0b1xuICAgKiBAcGFyYW0gcG9ydCBUaGUgcG9ydCBvbiB3aGljaCB0aGUgdGFyZ2V0IGlzIGxpc3RlbmluZ1xuICAgKi9cbiAgY29uc3RydWN0b3IoYWxiOiBjb21wdXRlLklBcHBsaWNhdGlvbkxvYWRCYWxhbmNlciwgcG9ydDogbnVtYmVyKSB7XG4gICAgc3VwZXIoYWxiLmxvYWRCYWxhbmNlckFybiwgcG9ydCk7XG4gIH1cbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyJ3MgbGlzdGVuZXIgYXMgdGhlIHRhcmdldCBmb3IgbG9hZCBiYWxhbmNpbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBBbGJMaXN0ZW5lclRhcmdldCBleHRlbmRzIEFsYkFyblRhcmdldCB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgQUxCIHRhcmdldC5cbiAgICogVGhlIGFzc29jaWF0ZWQgdGFyZ2V0IGdyb3VwIHdpbGwgYXV0b21hdGljYWxseSBoYXZlIGEgZGVwZW5kZW5jeSBhZGRlZFxuICAgKiBhZ2FpbnN0IHRoZSBBTEIncyBsaXN0ZW5lci5cbiAgICpcbiAgICogQHBhcmFtIGFsYkxpc3RlbmVyIFRoZSBhcHBsaWNhdGlvbiBsb2FkIGJhbGFuY2VyIGxpc3RlbmVyIHRvIHRhcmdldC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWxiTGlzdGVuZXI6IGNvbXB1dGUuQXBwbGljYXRpb25MaXN0ZW5lcikge1xuICAgIHN1cGVyKGFsYkxpc3RlbmVyLmxvYWRCYWxhbmNlci5sb2FkQmFsYW5jZXJBcm4sIGFsYkxpc3RlbmVyLnBvcnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2goXG4gICAgdGFyZ2V0R3JvdXA6IGNvbXB1dGUuSVRhcmdldEdyb3VwLFxuICApOiBjb21wdXRlLkxvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICB0YXJnZXRHcm91cC5ub2RlLmFkZERlcGVuZGVuY3kodGhpcy5hbGJMaXN0ZW5lcik7XG4gICAgcmV0dXJuIHN1cGVyLl9hdHRhY2godGFyZ2V0R3JvdXApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIHRoaXMgQUxCIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlci5cbiAgICpcbiAgICogRG9uJ3QgY2FsbCB0aGlzLCBpdCBpcyBjYWxsZWQgYXV0b21hdGljYWxseSB3aGVuIHlvdSBhZGQgdGhlIHRhcmdldCB0byBhXG4gICAqIGxvYWQgYmFsYW5jZXIuXG4gICAqXG4gICAqIFRoaXMgYWRkcyBkZXBlbmRlbmN5IG9uIGFsYkxpc3RlbmVyIGJlY2F1c2UgY3JlYXRpb24gb2YgQUxCIGxpc3RlbmVyIGFuZCBOTEIgY2FuIHZhcnkgZHVyaW5nIHJ1bnRpbWUuXG4gICAqIE1vcmUgRGV0YWlscyBvbiAtIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTcyMDhcbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb05ldHdvcmtUYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogY29tcHV0ZS5JTmV0d29ya1RhcmdldEdyb3VwLFxuICApOiBjb21wdXRlLkxvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICByZXR1cm4gdGhpcy5hdHRhY2godGFyZ2V0R3JvdXApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from "./alb-target";
2
+ export * from "./ip-target";
3
+ export * from "./instance-target";
4
+ export * from "./lambda-target";
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ // https://github.com/aws/aws-cdk/blob/v2.175.1/packages/aws-cdk-lib/aws-elasticloadbalancingv2-targets/lib/index.ts
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ __exportStar(require("./alb-target"), exports);
19
+ __exportStar(require("./ip-target"), exports);
20
+ __exportStar(require("./instance-target"), exports);
21
+ __exportStar(require("./lambda-target"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvbGItdGFyZ2V0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0hBQW9IOzs7Ozs7Ozs7Ozs7Ozs7O0FBRXBILCtDQUE2QjtBQUM3Qiw4Q0FBNEI7QUFDNUIsb0RBQWtDO0FBQ2xDLGtEQUFnQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyLXRhcmdldHMvbGliL2luZGV4LnRzXG5cbmV4cG9ydCAqIGZyb20gXCIuL2FsYi10YXJnZXRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lwLXRhcmdldFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW5zdGFuY2UtdGFyZ2V0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9sYW1iZGEtdGFyZ2V0XCI7XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import * as compute from "../";
2
+ /**
3
+ * An EC2 instance that is the target for load balancing
4
+ *
5
+ * If you register a target of this type, you are responsible for making
6
+ * sure the load balancer's security group can connect to the instance.
7
+ */
8
+ export declare class InstanceIdTarget implements compute.IApplicationLoadBalancerTarget, compute.INetworkLoadBalancerTarget {
9
+ private readonly instanceId;
10
+ private readonly port?;
11
+ /**
12
+ * Create a new Instance target
13
+ *
14
+ * @param instanceId Instance ID of the instance to register to
15
+ * @param port Override the default port for the target group
16
+ */
17
+ constructor(instanceId: string, port?: number | undefined);
18
+ /**
19
+ * Register this instance target with a load balancer
20
+ *
21
+ * Don't call this, it is called automatically when you add the target to a
22
+ * load balancer.
23
+ */
24
+ attachToApplicationTargetGroup(targetGroup: compute.IApplicationTargetGroup): compute.LoadBalancerTargetProps;
25
+ /**
26
+ * Register this instance target with a load balancer
27
+ *
28
+ * Don't call this, it is called automatically when you add the target to a
29
+ * load balancer.
30
+ */
31
+ attachToNetworkTargetGroup(targetGroup: compute.INetworkTargetGroup): compute.LoadBalancerTargetProps;
32
+ private attach;
33
+ }
34
+ export declare class InstanceTarget extends InstanceIdTarget {
35
+ /**
36
+ * Create a new Instance target
37
+ *
38
+ * @param instance Instance to register to
39
+ * @param port Override the default port for the target group
40
+ */
41
+ constructor(instance: compute.Instance, port?: number);
42
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var _a, _b;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.InstanceTarget = exports.InstanceIdTarget = 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-elasticloadbalancingv2-targets/lib/instance-target.ts
7
+ const compute = require("../");
8
+ /**
9
+ * An EC2 instance that is the target for load balancing
10
+ *
11
+ * If you register a target of this type, you are responsible for making
12
+ * sure the load balancer's security group can connect to the instance.
13
+ */
14
+ class InstanceIdTarget {
15
+ /**
16
+ * Create a new Instance target
17
+ *
18
+ * @param instanceId Instance ID of the instance to register to
19
+ * @param port Override the default port for the target group
20
+ */
21
+ constructor(instanceId, port) {
22
+ this.instanceId = instanceId;
23
+ this.port = port;
24
+ }
25
+ /**
26
+ * Register this instance target with a load balancer
27
+ *
28
+ * Don't call this, it is called automatically when you add the target to a
29
+ * load balancer.
30
+ */
31
+ attachToApplicationTargetGroup(targetGroup) {
32
+ return this.attach(targetGroup);
33
+ }
34
+ /**
35
+ * Register this instance target with a load balancer
36
+ *
37
+ * Don't call this, it is called automatically when you add the target to a
38
+ * load balancer.
39
+ */
40
+ attachToNetworkTargetGroup(targetGroup) {
41
+ return this.attach(targetGroup);
42
+ }
43
+ attach(_targetGroup) {
44
+ return {
45
+ targetType: compute.TargetType.INSTANCE,
46
+ targetJson: { targetId: this.instanceId, port: this.port },
47
+ };
48
+ }
49
+ }
50
+ exports.InstanceIdTarget = InstanceIdTarget;
51
+ _a = JSII_RTTI_SYMBOL_1;
52
+ InstanceIdTarget[_a] = { fqn: "terraconstructs.aws.compute.lbtargets.InstanceIdTarget", version: "0.0.12" };
53
+ class InstanceTarget extends InstanceIdTarget {
54
+ /**
55
+ * Create a new Instance target
56
+ *
57
+ * @param instance Instance to register to
58
+ * @param port Override the default port for the target group
59
+ */
60
+ constructor(instance, port) {
61
+ super(instance.instanceId, port);
62
+ }
63
+ }
64
+ exports.InstanceTarget = InstanceTarget;
65
+ _b = JSII_RTTI_SYMBOL_1;
66
+ InstanceTarget[_b] = { fqn: "terraconstructs.aws.compute.lbtargets.InstanceTarget", version: "0.0.12" };
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UtdGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2xiLXRhcmdldHMvaW5zdGFuY2UtdGFyZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsOEhBQThIO0FBRTlILCtCQUErQjtBQUUvQjs7Ozs7R0FLRztBQUNILE1BQWEsZ0JBQWdCO0lBSzNCOzs7OztPQUtHO0lBQ0gsWUFDbUIsVUFBa0IsRUFDbEIsSUFBYTtRQURiLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBUztJQUM3QixDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSSw4QkFBOEIsQ0FDbkMsV0FBNEM7UUFFNUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDBCQUEwQixDQUMvQixXQUF3QztRQUV4QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLE1BQU0sQ0FDWixZQUFrQztRQUVsQyxPQUFPO1lBQ0wsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUTtZQUN2QyxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtTQUMzRCxDQUFDO0lBQ0osQ0FBQzs7QUEvQ0gsNENBZ0RDOzs7QUFFRCxNQUFhLGNBQWUsU0FBUSxnQkFBZ0I7SUFDbEQ7Ozs7O09BS0c7SUFDSCxZQUFZLFFBQTBCLEVBQUUsSUFBYTtRQUNuRCxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDOztBQVRILHdDQVVDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjItdGFyZ2V0cy9saWIvaW5zdGFuY2UtdGFyZ2V0LnRzXG5cbmltcG9ydCAqIGFzIGNvbXB1dGUgZnJvbSBcIi4uL1wiO1xuXG4vKipcbiAqIEFuIEVDMiBpbnN0YW5jZSB0aGF0IGlzIHRoZSB0YXJnZXQgZm9yIGxvYWQgYmFsYW5jaW5nXG4gKlxuICogSWYgeW91IHJlZ2lzdGVyIGEgdGFyZ2V0IG9mIHRoaXMgdHlwZSwgeW91IGFyZSByZXNwb25zaWJsZSBmb3IgbWFraW5nXG4gKiBzdXJlIHRoZSBsb2FkIGJhbGFuY2VyJ3Mgc2VjdXJpdHkgZ3JvdXAgY2FuIGNvbm5lY3QgdG8gdGhlIGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgSW5zdGFuY2VJZFRhcmdldFxuICBpbXBsZW1lbnRzXG4gICAgY29tcHV0ZS5JQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJUYXJnZXQsXG4gICAgY29tcHV0ZS5JTmV0d29ya0xvYWRCYWxhbmNlclRhcmdldFxue1xuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IEluc3RhbmNlIHRhcmdldFxuICAgKlxuICAgKiBAcGFyYW0gaW5zdGFuY2VJZCBJbnN0YW5jZSBJRCBvZiB0aGUgaW5zdGFuY2UgdG8gcmVnaXN0ZXIgdG9cbiAgICogQHBhcmFtIHBvcnQgT3ZlcnJpZGUgdGhlIGRlZmF1bHQgcG9ydCBmb3IgdGhlIHRhcmdldCBncm91cFxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnN0YW5jZUlkOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0PzogbnVtYmVyLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIHRoaXMgaW5zdGFuY2UgdGFyZ2V0IHdpdGggYSBsb2FkIGJhbGFuY2VyXG4gICAqXG4gICAqIERvbid0IGNhbGwgdGhpcywgaXQgaXMgY2FsbGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB5b3UgYWRkIHRoZSB0YXJnZXQgdG8gYVxuICAgKiBsb2FkIGJhbGFuY2VyLlxuICAgKi9cbiAgcHVibGljIGF0dGFjaFRvQXBwbGljYXRpb25UYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogY29tcHV0ZS5JQXBwbGljYXRpb25UYXJnZXRHcm91cCxcbiAgKTogY29tcHV0ZS5Mb2FkQmFsYW5jZXJUYXJnZXRQcm9wcyB7XG4gICAgcmV0dXJuIHRoaXMuYXR0YWNoKHRhcmdldEdyb3VwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGlzIGluc3RhbmNlIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBEb24ndCBjYWxsIHRoaXMsIGl0IGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IGFkZCB0aGUgdGFyZ2V0IHRvIGFcbiAgICogbG9hZCBiYWxhbmNlci5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb05ldHdvcmtUYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogY29tcHV0ZS5JTmV0d29ya1RhcmdldEdyb3VwLFxuICApOiBjb21wdXRlLkxvYWRCYWxhbmNlclRhcmdldFByb3BzIHtcbiAgICByZXR1cm4gdGhpcy5hdHRhY2godGFyZ2V0R3JvdXApO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRhY2goXG4gICAgX3RhcmdldEdyb3VwOiBjb21wdXRlLklUYXJnZXRHcm91cCxcbiAgKTogY29tcHV0ZS5Mb2FkQmFsYW5jZXJUYXJnZXRQcm9wcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRhcmdldFR5cGU6IGNvbXB1dGUuVGFyZ2V0VHlwZS5JTlNUQU5DRSxcbiAgICAgIHRhcmdldEpzb246IHsgdGFyZ2V0SWQ6IHRoaXMuaW5zdGFuY2VJZCwgcG9ydDogdGhpcy5wb3J0IH0sXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW5zdGFuY2VUYXJnZXQgZXh0ZW5kcyBJbnN0YW5jZUlkVGFyZ2V0IHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBJbnN0YW5jZSB0YXJnZXRcbiAgICpcbiAgICogQHBhcmFtIGluc3RhbmNlIEluc3RhbmNlIHRvIHJlZ2lzdGVyIHRvXG4gICAqIEBwYXJhbSBwb3J0IE92ZXJyaWRlIHRoZSBkZWZhdWx0IHBvcnQgZm9yIHRoZSB0YXJnZXQgZ3JvdXBcbiAgICovXG4gIGNvbnN0cnVjdG9yKGluc3RhbmNlOiBjb21wdXRlLkluc3RhbmNlLCBwb3J0PzogbnVtYmVyKSB7XG4gICAgc3VwZXIoaW5zdGFuY2UuaW5zdGFuY2VJZCwgcG9ydCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,55 @@
1
+ import * as elbv2 from "../";
2
+ /**
3
+ * An IP address that is a target for load balancing.
4
+ *
5
+ * Specify IP addresses from the subnets of the virtual private cloud (VPC) for
6
+ * the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and
7
+ * 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify
8
+ * publicly routable IP addresses.
9
+ *
10
+ * If you register a target of this type, you are responsible for making
11
+ * sure the load balancer's security group can send packets to the IP address.
12
+ */
13
+ export declare class IpTarget implements elbv2.IApplicationLoadBalancerTarget, elbv2.INetworkLoadBalancerTarget {
14
+ private readonly ipAddress;
15
+ private readonly port?;
16
+ private readonly availabilityZone?;
17
+ /**
18
+ * Create a new IPAddress target
19
+ *
20
+ * The availabilityZone parameter determines whether the target receives
21
+ * traffic from the load balancer nodes in the specified Availability Zone
22
+ * or from all enabled Availability Zones for the load balancer.
23
+ *
24
+ * This parameter is not supported if the target type of the target group
25
+ * is instance. If the IP address is in a subnet of the VPC for the target
26
+ * group, the Availability Zone is automatically detected and this
27
+ * parameter is optional. If the IP address is outside the VPC, this
28
+ * parameter is required.
29
+ *
30
+ * With an Application Load Balancer, if the IP address is outside the VPC
31
+ * for the target group, the only supported value is all.
32
+ *
33
+ * Default is automatic.
34
+ *
35
+ * @param ipAddress The IP Address to load balance to
36
+ * @param port Override the group's default port
37
+ * @param availabilityZone Availability zone to send traffic from
38
+ */
39
+ constructor(ipAddress: string, port?: number | undefined, availabilityZone?: string | undefined);
40
+ /**
41
+ * Register this instance target with a load balancer
42
+ *
43
+ * Don't call this, it is called automatically when you add the target to a
44
+ * load balancer.
45
+ */
46
+ attachToApplicationTargetGroup(targetGroup: elbv2.IApplicationTargetGroup): elbv2.LoadBalancerTargetProps;
47
+ /**
48
+ * Register this instance target with a load balancer
49
+ *
50
+ * Don't call this, it is called automatically when you add the target to a
51
+ * load balancer.
52
+ */
53
+ attachToNetworkTargetGroup(targetGroup: elbv2.INetworkTargetGroup): elbv2.LoadBalancerTargetProps;
54
+ private attach;
55
+ }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.IpTarget = 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-elasticloadbalancingv2-targets/lib/ip-target.ts
7
+ const elbv2 = require("../");
8
+ /**
9
+ * An IP address that is a target for load balancing.
10
+ *
11
+ * Specify IP addresses from the subnets of the virtual private cloud (VPC) for
12
+ * the target group, the RFC 1918 range (10.0.0.0/8, 172.16.0.0/12, and
13
+ * 192.168.0.0/16), and the RFC 6598 range (100.64.0.0/10). You can't specify
14
+ * publicly routable IP addresses.
15
+ *
16
+ * If you register a target of this type, you are responsible for making
17
+ * sure the load balancer's security group can send packets to the IP address.
18
+ */
19
+ class IpTarget {
20
+ /**
21
+ * Create a new IPAddress target
22
+ *
23
+ * The availabilityZone parameter determines whether the target receives
24
+ * traffic from the load balancer nodes in the specified Availability Zone
25
+ * or from all enabled Availability Zones for the load balancer.
26
+ *
27
+ * This parameter is not supported if the target type of the target group
28
+ * is instance. If the IP address is in a subnet of the VPC for the target
29
+ * group, the Availability Zone is automatically detected and this
30
+ * parameter is optional. If the IP address is outside the VPC, this
31
+ * parameter is required.
32
+ *
33
+ * With an Application Load Balancer, if the IP address is outside the VPC
34
+ * for the target group, the only supported value is all.
35
+ *
36
+ * Default is automatic.
37
+ *
38
+ * @param ipAddress The IP Address to load balance to
39
+ * @param port Override the group's default port
40
+ * @param availabilityZone Availability zone to send traffic from
41
+ */
42
+ constructor(ipAddress, port, availabilityZone) {
43
+ this.ipAddress = ipAddress;
44
+ this.port = port;
45
+ this.availabilityZone = availabilityZone;
46
+ }
47
+ /**
48
+ * Register this instance target with a load balancer
49
+ *
50
+ * Don't call this, it is called automatically when you add the target to a
51
+ * load balancer.
52
+ */
53
+ attachToApplicationTargetGroup(targetGroup) {
54
+ return this.attach(targetGroup);
55
+ }
56
+ /**
57
+ * Register this instance target with a load balancer
58
+ *
59
+ * Don't call this, it is called automatically when you add the target to a
60
+ * load balancer.
61
+ */
62
+ attachToNetworkTargetGroup(targetGroup) {
63
+ return this.attach(targetGroup);
64
+ }
65
+ attach(_targetGroup) {
66
+ return {
67
+ targetType: elbv2.TargetType.IP,
68
+ targetJson: {
69
+ targetId: this.ipAddress,
70
+ port: this.port,
71
+ availabilityZone: this.availabilityZone,
72
+ },
73
+ };
74
+ }
75
+ }
76
+ exports.IpTarget = IpTarget;
77
+ _a = JSII_RTTI_SYMBOL_1;
78
+ IpTarget[_a] = { fqn: "terraconstructs.aws.compute.lbtargets.IpTarget", version: "0.0.12" };
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXAtdGFyZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2xiLXRhcmdldHMvaXAtdGFyZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0hBQXdIO0FBRXhILDZCQUE2QjtBQUU3Qjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxRQUFRO0lBS25COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQkc7SUFDSCxZQUNtQixTQUFpQixFQUNqQixJQUFhLEVBQ2IsZ0JBQXlCO1FBRnpCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsU0FBSSxHQUFKLElBQUksQ0FBUztRQUNiLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBUztJQUN6QyxDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSSw4QkFBOEIsQ0FDbkMsV0FBMEM7UUFFMUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDBCQUEwQixDQUMvQixXQUFzQztRQUV0QyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLE1BQU0sQ0FDWixZQUFnQztRQUVoQyxPQUFPO1lBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUMvQixVQUFVLEVBQUU7Z0JBQ1YsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjthQUN4QztTQUNGLENBQUM7SUFDSixDQUFDOztBQXBFSCw0QkFxRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzUuMS9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi10YXJnZXRzL2xpYi9pcC10YXJnZXQudHNcblxuaW1wb3J0ICogYXMgZWxidjIgZnJvbSBcIi4uL1wiO1xuXG4vKipcbiAqIEFuIElQIGFkZHJlc3MgdGhhdCBpcyBhIHRhcmdldCBmb3IgbG9hZCBiYWxhbmNpbmcuXG4gKlxuICogU3BlY2lmeSBJUCBhZGRyZXNzZXMgZnJvbSB0aGUgc3VibmV0cyBvZiB0aGUgdmlydHVhbCBwcml2YXRlIGNsb3VkIChWUEMpIGZvclxuICogdGhlIHRhcmdldCBncm91cCwgdGhlIFJGQyAxOTE4IHJhbmdlICgxMC4wLjAuMC84LCAxNzIuMTYuMC4wLzEyLCBhbmRcbiAqIDE5Mi4xNjguMC4wLzE2KSwgYW5kIHRoZSBSRkMgNjU5OCByYW5nZSAoMTAwLjY0LjAuMC8xMCkuIFlvdSBjYW4ndCBzcGVjaWZ5XG4gKiBwdWJsaWNseSByb3V0YWJsZSBJUCBhZGRyZXNzZXMuXG4gKlxuICogSWYgeW91IHJlZ2lzdGVyIGEgdGFyZ2V0IG9mIHRoaXMgdHlwZSwgeW91IGFyZSByZXNwb25zaWJsZSBmb3IgbWFraW5nXG4gKiBzdXJlIHRoZSBsb2FkIGJhbGFuY2VyJ3Mgc2VjdXJpdHkgZ3JvdXAgY2FuIHNlbmQgcGFja2V0cyB0byB0aGUgSVAgYWRkcmVzcy5cbiAqL1xuZXhwb3J0IGNsYXNzIElwVGFyZ2V0XG4gIGltcGxlbWVudHNcbiAgICBlbGJ2Mi5JQXBwbGljYXRpb25Mb2FkQmFsYW5jZXJUYXJnZXQsXG4gICAgZWxidjIuSU5ldHdvcmtMb2FkQmFsYW5jZXJUYXJnZXRcbntcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBJUEFkZHJlc3MgdGFyZ2V0XG4gICAqXG4gICAqIFRoZSBhdmFpbGFiaWxpdHlab25lIHBhcmFtZXRlciBkZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHRhcmdldCByZWNlaXZlc1xuICAgKiB0cmFmZmljIGZyb20gdGhlIGxvYWQgYmFsYW5jZXIgbm9kZXMgaW4gdGhlIHNwZWNpZmllZCBBdmFpbGFiaWxpdHkgWm9uZVxuICAgKiBvciBmcm9tIGFsbCBlbmFibGVkIEF2YWlsYWJpbGl0eSBab25lcyBmb3IgdGhlIGxvYWQgYmFsYW5jZXIuXG4gICAqXG4gICAqIFRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzdXBwb3J0ZWQgaWYgdGhlIHRhcmdldCB0eXBlIG9mIHRoZSB0YXJnZXQgZ3JvdXBcbiAgICogaXMgaW5zdGFuY2UuIElmIHRoZSBJUCBhZGRyZXNzIGlzIGluIGEgc3VibmV0IG9mIHRoZSBWUEMgZm9yIHRoZSB0YXJnZXRcbiAgICogZ3JvdXAsIHRoZSBBdmFpbGFiaWxpdHkgWm9uZSBpcyBhdXRvbWF0aWNhbGx5IGRldGVjdGVkIGFuZCB0aGlzXG4gICAqIHBhcmFtZXRlciBpcyBvcHRpb25hbC4gSWYgdGhlIElQIGFkZHJlc3MgaXMgb3V0c2lkZSB0aGUgVlBDLCB0aGlzXG4gICAqIHBhcmFtZXRlciBpcyByZXF1aXJlZC5cbiAgICpcbiAgICogV2l0aCBhbiBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyLCBpZiB0aGUgSVAgYWRkcmVzcyBpcyBvdXRzaWRlIHRoZSBWUENcbiAgICogZm9yIHRoZSB0YXJnZXQgZ3JvdXAsIHRoZSBvbmx5IHN1cHBvcnRlZCB2YWx1ZSBpcyBhbGwuXG4gICAqXG4gICAqIERlZmF1bHQgaXMgYXV0b21hdGljLlxuICAgKlxuICAgKiBAcGFyYW0gaXBBZGRyZXNzIFRoZSBJUCBBZGRyZXNzIHRvIGxvYWQgYmFsYW5jZSB0b1xuICAgKiBAcGFyYW0gcG9ydCBPdmVycmlkZSB0aGUgZ3JvdXAncyBkZWZhdWx0IHBvcnRcbiAgICogQHBhcmFtIGF2YWlsYWJpbGl0eVpvbmUgQXZhaWxhYmlsaXR5IHpvbmUgdG8gc2VuZCB0cmFmZmljIGZyb21cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXBBZGRyZXNzOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0PzogbnVtYmVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZT86IHN0cmluZyxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGlzIGluc3RhbmNlIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBEb24ndCBjYWxsIHRoaXMsIGl0IGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IGFkZCB0aGUgdGFyZ2V0IHRvIGFcbiAgICogbG9hZCBiYWxhbmNlci5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb0FwcGxpY2F0aW9uVGFyZ2V0R3JvdXAoXG4gICAgdGFyZ2V0R3JvdXA6IGVsYnYyLklBcHBsaWNhdGlvblRhcmdldEdyb3VwLFxuICApOiBlbGJ2Mi5Mb2FkQmFsYW5jZXJUYXJnZXRQcm9wcyB7XG4gICAgcmV0dXJuIHRoaXMuYXR0YWNoKHRhcmdldEdyb3VwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciB0aGlzIGluc3RhbmNlIHRhcmdldCB3aXRoIGEgbG9hZCBiYWxhbmNlclxuICAgKlxuICAgKiBEb24ndCBjYWxsIHRoaXMsIGl0IGlzIGNhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IGFkZCB0aGUgdGFyZ2V0IHRvIGFcbiAgICogbG9hZCBiYWxhbmNlci5cbiAgICovXG4gIHB1YmxpYyBhdHRhY2hUb05ldHdvcmtUYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogZWxidjIuSU5ldHdvcmtUYXJnZXRHcm91cCxcbiAgKTogZWxidjIuTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIHJldHVybiB0aGlzLmF0dGFjaCh0YXJnZXRHcm91cCk7XG4gIH1cblxuICBwcml2YXRlIGF0dGFjaChcbiAgICBfdGFyZ2V0R3JvdXA6IGVsYnYyLklUYXJnZXRHcm91cCxcbiAgKTogZWxidjIuTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXRUeXBlOiBlbGJ2Mi5UYXJnZXRUeXBlLklQLFxuICAgICAgdGFyZ2V0SnNvbjoge1xuICAgICAgICB0YXJnZXRJZDogdGhpcy5pcEFkZHJlc3MsXG4gICAgICAgIHBvcnQ6IHRoaXMucG9ydCxcbiAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogdGhpcy5hdmFpbGFiaWxpdHlab25lLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import * as compute from "../";
2
+ export declare class LambdaTarget implements compute.IApplicationLoadBalancerTarget {
3
+ private readonly fn;
4
+ /**
5
+ * Create a new Lambda target
6
+ *
7
+ * @param functionArn The Lambda Function to load balance to
8
+ */
9
+ constructor(fn: compute.IFunction);
10
+ /**
11
+ * Register this instance target with a load balancer
12
+ *
13
+ * Don't call this, it is called automatically when you add the target to a
14
+ * load balancer.
15
+ */
16
+ attachToApplicationTargetGroup(targetGroup: compute.IApplicationTargetGroup): compute.LoadBalancerTargetProps;
17
+ /**
18
+ * Register this instance target with a load balancer
19
+ *
20
+ * Don't call this, it is called automatically when you add the target to a
21
+ * load balancer.
22
+ */
23
+ attachToNetworkTargetGroup(targetGroup: compute.INetworkTargetGroup): compute.LoadBalancerTargetProps;
24
+ private attach;
25
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.LambdaTarget = 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-elasticloadbalancingv2-targets/lib/lambda-target.ts
7
+ const compute = require("../");
8
+ const iam = require("../../iam");
9
+ class LambdaTarget {
10
+ /**
11
+ * Create a new Lambda target
12
+ *
13
+ * @param functionArn The Lambda Function to load balance to
14
+ */
15
+ constructor(fn) {
16
+ this.fn = fn;
17
+ }
18
+ /**
19
+ * Register this instance target with a load balancer
20
+ *
21
+ * Don't call this, it is called automatically when you add the target to a
22
+ * load balancer.
23
+ */
24
+ attachToApplicationTargetGroup(targetGroup) {
25
+ const grant = this.fn.grantInvoke(new iam.ServicePrincipal("elasticloadbalancing.amazonaws.com"));
26
+ grant.applyBefore(targetGroup);
27
+ return this.attach(targetGroup);
28
+ }
29
+ /**
30
+ * Register this instance target with a load balancer
31
+ *
32
+ * Don't call this, it is called automatically when you add the target to a
33
+ * load balancer.
34
+ */
35
+ attachToNetworkTargetGroup(targetGroup) {
36
+ const grant = this.fn.grantInvoke(new iam.ServicePrincipal("elasticloadbalancing.amazonaws.com"));
37
+ grant.applyBefore(targetGroup);
38
+ return this.attach(targetGroup);
39
+ }
40
+ attach(_targetGroup) {
41
+ return {
42
+ targetType: compute.TargetType.LAMBDA,
43
+ targetJson: { targetId: this.fn.functionArn },
44
+ };
45
+ }
46
+ }
47
+ exports.LambdaTarget = LambdaTarget;
48
+ _a = JSII_RTTI_SYMBOL_1;
49
+ LambdaTarget[_a] = { fqn: "terraconstructs.aws.compute.lbtargets.LambdaTarget", version: "0.0.12" };
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLXRhcmdldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9sYi10YXJnZXRzL2xhbWJkYS10YXJnZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0SEFBNEg7QUFFNUgsK0JBQStCO0FBQy9CLGlDQUFpQztBQUVqQyxNQUFhLFlBQVk7SUFDdkI7Ozs7T0FJRztJQUNILFlBQTZCLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO0lBQUcsQ0FBQztJQUV0RDs7Ozs7T0FLRztJQUNJLDhCQUE4QixDQUNuQyxXQUE0QztRQUU1QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FDL0IsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsb0NBQW9DLENBQUMsQ0FDL0QsQ0FBQztRQUNGLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLDBCQUEwQixDQUMvQixXQUF3QztRQUV4QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FDL0IsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsb0NBQW9DLENBQUMsQ0FDL0QsQ0FBQztRQUNGLEtBQUssQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTyxNQUFNLENBQ1osWUFBa0M7UUFFbEMsT0FBTztZQUNMLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU07WUFDckMsVUFBVSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFO1NBQzlDLENBQUM7SUFDSixDQUFDOztBQS9DSCxvQ0FnREMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzUuMS9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2Mi10YXJnZXRzL2xpYi9sYW1iZGEtdGFyZ2V0LnRzXG5cbmltcG9ydCAqIGFzIGNvbXB1dGUgZnJvbSBcIi4uL1wiO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gXCIuLi8uLi9pYW1cIjtcblxuZXhwb3J0IGNsYXNzIExhbWJkYVRhcmdldCBpbXBsZW1lbnRzIGNvbXB1dGUuSUFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyVGFyZ2V0IHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyBMYW1iZGEgdGFyZ2V0XG4gICAqXG4gICAqIEBwYXJhbSBmdW5jdGlvbkFybiBUaGUgTGFtYmRhIEZ1bmN0aW9uIHRvIGxvYWQgYmFsYW5jZSB0b1xuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmbjogY29tcHV0ZS5JRnVuY3Rpb24pIHt9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIHRoaXMgaW5zdGFuY2UgdGFyZ2V0IHdpdGggYSBsb2FkIGJhbGFuY2VyXG4gICAqXG4gICAqIERvbid0IGNhbGwgdGhpcywgaXQgaXMgY2FsbGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB5b3UgYWRkIHRoZSB0YXJnZXQgdG8gYVxuICAgKiBsb2FkIGJhbGFuY2VyLlxuICAgKi9cbiAgcHVibGljIGF0dGFjaFRvQXBwbGljYXRpb25UYXJnZXRHcm91cChcbiAgICB0YXJnZXRHcm91cDogY29tcHV0ZS5JQXBwbGljYXRpb25UYXJnZXRHcm91cCxcbiAgKTogY29tcHV0ZS5Mb2FkQmFsYW5jZXJUYXJnZXRQcm9wcyB7XG4gICAgY29uc3QgZ3JhbnQgPSB0aGlzLmZuLmdyYW50SW52b2tlKFxuICAgICAgbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwiZWxhc3RpY2xvYWRiYWxhbmNpbmcuYW1hem9uYXdzLmNvbVwiKSxcbiAgICApO1xuICAgIGdyYW50LmFwcGx5QmVmb3JlKHRhcmdldEdyb3VwKTtcbiAgICByZXR1cm4gdGhpcy5hdHRhY2godGFyZ2V0R3JvdXApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIHRoaXMgaW5zdGFuY2UgdGFyZ2V0IHdpdGggYSBsb2FkIGJhbGFuY2VyXG4gICAqXG4gICAqIERvbid0IGNhbGwgdGhpcywgaXQgaXMgY2FsbGVkIGF1dG9tYXRpY2FsbHkgd2hlbiB5b3UgYWRkIHRoZSB0YXJnZXQgdG8gYVxuICAgKiBsb2FkIGJhbGFuY2VyLlxuICAgKi9cbiAgcHVibGljIGF0dGFjaFRvTmV0d29ya1RhcmdldEdyb3VwKFxuICAgIHRhcmdldEdyb3VwOiBjb21wdXRlLklOZXR3b3JrVGFyZ2V0R3JvdXAsXG4gICk6IGNvbXB1dGUuTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIGNvbnN0IGdyYW50ID0gdGhpcy5mbi5ncmFudEludm9rZShcbiAgICAgIG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImVsYXN0aWNsb2FkYmFsYW5jaW5nLmFtYXpvbmF3cy5jb21cIiksXG4gICAgKTtcbiAgICBncmFudC5hcHBseUJlZm9yZSh0YXJnZXRHcm91cCk7XG4gICAgcmV0dXJuIHRoaXMuYXR0YWNoKHRhcmdldEdyb3VwKTtcbiAgfVxuXG4gIHByaXZhdGUgYXR0YWNoKFxuICAgIF90YXJnZXRHcm91cDogY29tcHV0ZS5JVGFyZ2V0R3JvdXAsXG4gICk6IGNvbXB1dGUuTG9hZEJhbGFuY2VyVGFyZ2V0UHJvcHMge1xuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXRUeXBlOiBjb21wdXRlLlRhcmdldFR5cGUuTEFNQkRBLFxuICAgICAgdGFyZ2V0SnNvbjogeyB0YXJnZXRJZDogdGhpcy5mbi5mdW5jdGlvbkFybiB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==