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,526 @@
1
+ import { ssmParameter } from "@cdktf/provider-aws";
2
+ import { IResolvable } from "cdktf";
3
+ import { Construct } from "constructs";
4
+ import { IAwsConstruct, AwsConstructBase, AwsConstructProps } from "../aws-construct";
5
+ import * as encryption from "../encryption";
6
+ import * as iam from "../iam";
7
+ /**
8
+ * Outputs which may be registered for output via the Grid.
9
+ */
10
+ export interface ParameterOutputs {
11
+ /**
12
+ * The ARN of the SSM Parameter resource.
13
+ * @attribute
14
+ */
15
+ readonly parameterArn: string;
16
+ /**
17
+ * The name of the SSM Parameter resource.
18
+ * @attribute
19
+ */
20
+ readonly parameterName: string;
21
+ /**
22
+ * The type of the SSM Parameter resource.
23
+ * @attribute
24
+ */
25
+ readonly parameterType: string;
26
+ }
27
+ /**
28
+ * An SSM Parameter reference.
29
+ */
30
+ export interface IParameter extends IAwsConstruct {
31
+ /** Strongly typed outputs */
32
+ readonly parameterOutputs: ParameterOutputs;
33
+ /**
34
+ * The ARN of the SSM Parameter resource.
35
+ * @attribute
36
+ */
37
+ readonly parameterArn: string;
38
+ /**
39
+ * The name of the SSM Parameter resource.
40
+ * @attribute
41
+ */
42
+ readonly parameterName: string;
43
+ /**
44
+ * The type of the SSM Parameter resource.
45
+ * @attribute
46
+ */
47
+ readonly parameterType: string;
48
+ /**
49
+ * Grants read (DescribeParameter, GetParameters, GetParameter, GetParameterHistory) permissions on the SSM Parameter.
50
+ *
51
+ * @param grantee the role to be granted read-only access to the parameter.
52
+ */
53
+ grantRead(grantee: iam.IGrantable): iam.Grant;
54
+ /**
55
+ * Grants write (PutParameter) permissions on the SSM Parameter.
56
+ *
57
+ * @param grantee the role to be granted write access to the parameter.
58
+ */
59
+ grantWrite(grantee: iam.IGrantable): iam.Grant;
60
+ }
61
+ /**
62
+ * A String SSM Parameter.
63
+ */
64
+ export interface IStringParameter extends IParameter {
65
+ /**
66
+ * The parameter value. Value must not nest another parameter. Do not use {{}} in the value.
67
+ *
68
+ * @attribute Value
69
+ */
70
+ readonly stringValue: string;
71
+ }
72
+ /**
73
+ * A StringList SSM Parameter.
74
+ */
75
+ export interface IStringListParameter extends IParameter {
76
+ /**
77
+ * The parameter value. Value must not nest another parameter. Do not use {{}} in the value. Values in the array
78
+ * cannot contain commas (``,``).
79
+ *
80
+ * @attribute Value
81
+ */
82
+ readonly stringListValue: string[];
83
+ }
84
+ /**
85
+ * Properties needed to create a new SSM Parameter.
86
+ */
87
+ export interface ParameterOptions extends AwsConstructProps {
88
+ /**
89
+ * A regular expression used to validate the parameter value. For example, for String types with values restricted to
90
+ * numbers, you can specify the following: ``^\d+$``
91
+ *
92
+ * @default no validation is performed
93
+ */
94
+ readonly allowedPattern?: string;
95
+ /**
96
+ * Information about the parameter that you want to add to the system.
97
+ *
98
+ * @default none
99
+ */
100
+ readonly description?: string;
101
+ /**
102
+ * The name of the parameter.
103
+ *
104
+ * @default - a name will be generated by CloudFormation
105
+ */
106
+ readonly parameterName?: string;
107
+ /**
108
+ * Indicates whether the parameter name is a simple name. A parameter name
109
+ * without any "/" is considered a simple name. If the parameter name includes
110
+ * "/", setting simpleName to true might cause unintended issues such
111
+ * as duplicate "/" in the resulting ARN.
112
+ *
113
+ * This is required only if `parameterName` is a token, which means we
114
+ * are unable to detect if the name is simple or "path-like" for the purpose
115
+ * of rendering SSM parameter ARNs.
116
+ *
117
+ * If `parameterName` is not specified, `simpleName` must be `true` (or
118
+ * undefined) since the name generated by AWS CloudFormation is always a
119
+ * simple name.
120
+ *
121
+ * @default - auto-detect based on `parameterName`
122
+ */
123
+ readonly simpleName?: boolean;
124
+ /**
125
+ * The tier of the string parameter
126
+ *
127
+ * @default - undefined
128
+ */
129
+ readonly tier?: ParameterTier;
130
+ }
131
+ /**
132
+ * Properties needed to create a String SSM parameter.
133
+ */
134
+ export interface StringParameterProps extends ParameterOptions {
135
+ /**
136
+ * The value of the parameter. It may not reference another parameter and ``{{}}`` cannot be used in the value.
137
+ *
138
+ * This is never marked as sensitive.
139
+ *
140
+ * conflicts with `sensitiveStringValue`
141
+ */
142
+ readonly stringValue?: string;
143
+ /**
144
+ * The value of the parameter always marked as sensitive.
145
+ *
146
+ * It may not reference another parameter and ``{{}}`` cannot be used in the value.
147
+ *
148
+ * conflicts with `stringValue`
149
+ */
150
+ readonly sensitiveStringValue?: string;
151
+ /**
152
+ * The type of the string parameter
153
+ *
154
+ * @default ParameterType.STRING
155
+ * @deprecated - type will always be 'String'
156
+ */
157
+ readonly type?: ParameterType;
158
+ /**
159
+ * The data type of the parameter, such as `text` or `aws:ec2:image`.
160
+ *
161
+ * @default ParameterDataType.TEXT
162
+ */
163
+ readonly dataType?: ParameterDataType;
164
+ }
165
+ /**
166
+ * Properties needed to create a StringList SSM Parameter
167
+ */
168
+ export interface StringListParameterProps extends ParameterOptions {
169
+ /**
170
+ * The values of the parameter. It may not reference another parameter and ``{{}}`` cannot be used in the value.
171
+ */
172
+ readonly stringListValue?: string[];
173
+ /**
174
+ * The values of the parameter always marked as sensitive.
175
+ *
176
+ * It may not reference another parameter and ``{{}}`` cannot be used in the value.
177
+ *
178
+ * conflicts with `stringListValue`
179
+ */
180
+ readonly sensitiveStringListValue?: string[];
181
+ }
182
+ /**
183
+ * Basic features shared across all types of SSM Parameters.
184
+ */
185
+ declare abstract class ParameterBase extends AwsConstructBase implements IParameter {
186
+ abstract readonly parameterArn: string;
187
+ abstract readonly parameterName: string;
188
+ abstract readonly parameterType: string;
189
+ get parameterOutputs(): ParameterOutputs;
190
+ get outputs(): Record<string, any>;
191
+ /**
192
+ * The encryption key that is used to encrypt this parameter.
193
+ *
194
+ * @default - default master key
195
+ */
196
+ readonly encryptionKey?: encryption.IKey;
197
+ grantRead(grantee: iam.IGrantable): iam.Grant;
198
+ grantWrite(grantee: iam.IGrantable): iam.Grant;
199
+ }
200
+ /**
201
+ * The type of CFN SSM Parameter
202
+ *
203
+ * Using specific types can be helpful in catching invalid values
204
+ * at the start of creating or updating a stack. CloudFormation validates
205
+ * the values against existing values in the account.
206
+ *
207
+ * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-ssm-parameter-types
208
+ */
209
+ export declare enum ParameterValueType {
210
+ /**
211
+ * String
212
+ */
213
+ STRING = "String",
214
+ /**
215
+ * An Availability Zone, such as us-west-2a.
216
+ */
217
+ AWS_EC2_AVAILABILITYZONE_NAME = "AWS::EC2::AvailabilityZone::Name",
218
+ /**
219
+ * An Amazon EC2 image ID, such as ami-0ff8a91507f77f867.
220
+ */
221
+ AWS_EC2_IMAGE_ID = "AWS::EC2::Image::Id",
222
+ /**
223
+ * An Amazon EC2 instance ID, such as i-1e731a32.
224
+ */
225
+ AWS_EC2_INSTANCE_ID = "AWS::EC2::Instance::Id",
226
+ /**
227
+ * An Amazon EC2 key pair name.
228
+ */
229
+ AWS_EC2_KEYPAIR_KEYNAME = "AWS::EC2::KeyPair::KeyName",
230
+ /**
231
+ * An EC2-Classic or default VPC security group name, such as my-sg-abc.
232
+ */
233
+ AWS_EC2_SECURITYGROUP_GROUPNAME = "AWS::EC2::SecurityGroup::GroupName",
234
+ /**
235
+ * A security group ID, such as sg-a123fd85.
236
+ */
237
+ AWS_EC2_SECURITYGROUP_ID = "AWS::EC2::SecurityGroup::Id",
238
+ /**
239
+ * A subnet ID, such as subnet-123a351e.
240
+ */
241
+ AWS_EC2_SUBNET_ID = "AWS::EC2::Subnet::Id",
242
+ /**
243
+ * An Amazon EBS volume ID, such as vol-3cdd3f56.
244
+ */
245
+ AWS_EC2_VOLUME_ID = "AWS::EC2::Volume::Id",
246
+ /**
247
+ * A VPC ID, such as vpc-a123baa3.
248
+ */
249
+ AWS_EC2_VPC_ID = "AWS::EC2::VPC::Id",
250
+ /**
251
+ * An Amazon Route 53 hosted zone ID, such as Z23YXV4OVPL04A.
252
+ */
253
+ AWS_ROUTE53_HOSTEDZONE_ID = "AWS::Route53::HostedZone::Id"
254
+ }
255
+ /**
256
+ * SSM parameter type
257
+ * @deprecated these types are no longer used
258
+ */
259
+ export declare enum ParameterType {
260
+ /**
261
+ * String
262
+ */
263
+ STRING = "String",
264
+ /**
265
+ * Secure String
266
+ *
267
+ * Parameter Store uses an AWS Key Management Service (KMS) customer master key (CMK) to encrypt the parameter value.
268
+ * Parameters of type SecureString cannot be created directly from a CDK application due to CFN limitations.
269
+ *
270
+ * NOTE: Terraform does not prevent creating SecureString parameters, but it is not recommended
271
+ * because the value will be stored in plain text in the state file.
272
+ */
273
+ SECURE_STRING = "SecureString",
274
+ /**
275
+ * String List
276
+ */
277
+ STRING_LIST = "StringList",
278
+ /**
279
+ * An Amazon EC2 image ID, such as ami-0ff8a91507f77f867
280
+ */
281
+ AWS_EC2_IMAGE_ID = "AWS::EC2::Image::Id"
282
+ }
283
+ /**
284
+ * SSM parameter data type
285
+ */
286
+ export declare enum ParameterDataType {
287
+ /**
288
+ * Text
289
+ */
290
+ TEXT = "text",
291
+ /**
292
+ * Aws Ec2 Image
293
+ */
294
+ AWS_EC2_IMAGE = "aws:ec2:image"
295
+ }
296
+ /**
297
+ * SSM parameter tier
298
+ */
299
+ export declare enum ParameterTier {
300
+ /**
301
+ * String
302
+ */
303
+ ADVANCED = "Advanced",
304
+ /**
305
+ * String
306
+ */
307
+ INTELLIGENT_TIERING = "Intelligent-Tiering",
308
+ /**
309
+ * String
310
+ */
311
+ STANDARD = "Standard"
312
+ }
313
+ /**
314
+ * Common attributes for string parameters.
315
+ */
316
+ export interface CommonStringParameterAttributes {
317
+ /**
318
+ * The name of the parameter store value.
319
+ *
320
+ * This value can be a token or a concrete string. If it is a concrete string
321
+ * and includes "/" it must also be prefixed with a "/" (fully-qualified).
322
+ */
323
+ readonly parameterName: string;
324
+ /**
325
+ * Indicates whether the parameter name is a simple name. A parameter name
326
+ * without any "/" is considered a simple name. If the parameter name includes
327
+ * "/", setting simpleName to true might cause unintended issues such
328
+ * as duplicate "/" in the resulting ARN.
329
+ *
330
+ * This is required only if `parameterName` is a token, which means we
331
+ * are unable to detect if the name is simple or "path-like" for the purpose
332
+ * of rendering SSM parameter ARNs.
333
+ *
334
+ * If `parameterName` is not specified, `simpleName` must be `true` (or
335
+ * undefined) since the name generated by AWS CloudFormation is always a
336
+ * simple name.
337
+ *
338
+ * @default - auto-detect based on `parameterName`
339
+ */
340
+ readonly simpleName?: boolean;
341
+ /**
342
+ * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.49.0/docs/data-sources/ssm_parameter#with_decryption DataAwsSsmParameter#with_decryption}
343
+ *
344
+ * @default: true
345
+ */
346
+ readonly withDecryption?: boolean | IResolvable;
347
+ }
348
+ /**
349
+ * Attributes for parameters of various types of string.
350
+ *
351
+ * @see ParameterType
352
+ */
353
+ export interface StringParameterAttributes extends CommonStringParameterAttributes {
354
+ /**
355
+ * The version number of the value you wish to retrieve.
356
+ *
357
+ * @default The latest version will be retrieved.
358
+ */
359
+ readonly version?: number;
360
+ /**
361
+ * The type of the string parameter
362
+ *
363
+ * @default ParameterType.STRING
364
+ * @deprecated - use valueType instead
365
+ */
366
+ readonly type?: ParameterType;
367
+ /**
368
+ * The type of the string parameter value
369
+ *
370
+ * Using specific types can be helpful in catching invalid values
371
+ * at the start of creating or updating a stack. CloudFormation validates
372
+ * the values against existing values in the account.
373
+ *
374
+ * Note - if you want to allow values from different AWS accounts, use
375
+ * ParameterValueType.STRING
376
+ *
377
+ * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-ssm-parameter-types
378
+ *
379
+ * @default ParameterValueType.STRING
380
+ */
381
+ readonly valueType?: ParameterValueType;
382
+ }
383
+ /**
384
+ * Attributes for parameters of string list type.
385
+ *
386
+ * @see ParameterType
387
+ */
388
+ export interface ListParameterAttributes extends CommonStringParameterAttributes {
389
+ /**
390
+ * The version number of the value you wish to retrieve.
391
+ *
392
+ * @default The latest version will be retrieved.
393
+ */
394
+ readonly version?: number;
395
+ /**
396
+ * The type of the string list parameter value.
397
+ *
398
+ * Using specific types can be helpful in catching invalid values
399
+ * at the start of creating or updating a stack. CloudFormation validates
400
+ * the values against existing values in the account.
401
+ *
402
+ * Note - if you want to allow values from different AWS accounts, use
403
+ * ParameterValueType.STRING
404
+ *
405
+ * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-ssm-parameter-types
406
+ *
407
+ * @default ParameterValueType.STRING
408
+ */
409
+ readonly elementType?: ParameterValueType;
410
+ }
411
+ /**
412
+ * Attributes for secure string parameters.
413
+ */
414
+ export interface SecureStringParameterAttributes extends CommonStringParameterAttributes {
415
+ /**
416
+ * The version number of the value you wish to retrieve.
417
+ *
418
+ * @default - AWS CloudFormation uses the latest version of the parameter
419
+ */
420
+ readonly version?: number;
421
+ /**
422
+ * The encryption key that is used to encrypt this parameter
423
+ *
424
+ * @default - default master key
425
+ */
426
+ readonly encryptionKey?: encryption.IKey;
427
+ }
428
+ /**
429
+ * Creates a new String SSM Parameter.
430
+ * @resource aws_ssm_parameter
431
+ *
432
+ * @example
433
+ * const ssmParameter = new storage.StringParameter(this, 'mySsmParameter', {
434
+ * parameterName: 'mySsmParameter',
435
+ * stringValue: 'mySsmParameterValue',
436
+ * });
437
+ */
438
+ export declare class StringParameter extends ParameterBase implements IStringParameter {
439
+ /**
440
+ * Imports an external string parameter by name.
441
+ */
442
+ static fromStringParameterName(scope: Construct, id: string, stringParameterName: string): IStringParameter;
443
+ /**
444
+ * Imports an external string parameter by ARN.
445
+ *
446
+ * The unencrypted value of a SecureString will be stored in the raw state as plain-text.
447
+ * [Read more about sensitive data in state](https://www.terraform.io/docs/state/sensitive-data.html).
448
+ */
449
+ static fromStringParameterArn(scope: Construct, id: string, stringParameterArn: string): IStringParameter;
450
+ /**
451
+ * Imports an external string parameter with name and optional version.
452
+ */
453
+ static fromStringParameterAttributes(scope: Construct, id: string, attrs: StringParameterAttributes): IStringParameter;
454
+ /**
455
+ * Imports a secure string parameter from the SSM parameter store.
456
+ */
457
+ static fromSecureStringParameterAttributes(scope: Construct, id: string, attrs: SecureStringParameterAttributes): IStringParameter;
458
+ /**
459
+ * Returns a token that will resolve (during deployment) to the string value of an SSM string parameter.
460
+ * @param scope Some scope within a stack
461
+ * @param parameterName The name of the SSM parameter.
462
+ * @param version The parameter version (recommended in order to ensure that the value won't change during deployment)
463
+ */
464
+ static valueForStringParameter(scope: Construct, parameterName: string, version?: number): string;
465
+ /**
466
+ * Returns a token that will resolve (during deployment) to the string value of an SSM string parameter.
467
+ * @param scope Some scope within a stack
468
+ * @param parameterName The name of the SSM parameter.
469
+ * @param type The type of the SSM parameter.
470
+ * @param version The parameter version (recommended in order to ensure that the value won't change during deployment)
471
+ */
472
+ static valueForTypedStringParameterV2(scope: Construct, parameterName: string, type?: ParameterValueType, version?: number): string;
473
+ /**
474
+ * Returns a token that will resolve (during deployment) to the string value of an SSM string parameter.
475
+ * @param scope Some scope within a stack
476
+ * @param parameterName The name of the SSM parameter.
477
+ * @param type The type of the SSM parameter.
478
+ * @param version The parameter version (recommended in order to ensure that the value won't change during deployment)
479
+ * @deprecated - use valueForTypedStringParameterV2 instead
480
+ */
481
+ static valueForTypedStringParameter(scope: Construct, parameterName: string, type?: ParameterType, version?: number): string;
482
+ /**
483
+ * Returns a token that will resolve (during deployment)
484
+ * @param scope Some scope within a stack
485
+ * @param parameterName The name of the SSM parameter
486
+ * @param version The parameter version (required for secure strings)
487
+ * @deprecated Use `SecretValue.ssmSecure()` instead, it will correctly type the imported value as a `SecretValue` and allow importing without version. `SecretValue` lives in the core `aws-cdk-lib` module.
488
+ */
489
+ static valueForSecureStringParameter(scope: Construct, parameterName: string, version: number): string;
490
+ readonly parameterArn: string;
491
+ readonly parameterName: string;
492
+ readonly parameterType: string;
493
+ readonly stringValue: string;
494
+ readonly resource: ssmParameter.SsmParameter;
495
+ constructor(scope: Construct, id: string, props: StringParameterProps);
496
+ }
497
+ /**
498
+ * Creates a new StringList SSM Parameter.
499
+ * @resource AWS::SSM::Parameter
500
+ */
501
+ export declare class StringListParameter extends ParameterBase implements IStringListParameter {
502
+ /**
503
+ * Imports an external parameter of type string list.
504
+ * Returns a token and should not be parsed.
505
+ */
506
+ static fromStringListParameterName(scope: Construct, id: string, stringListParameterName: string): IStringListParameter;
507
+ /**
508
+ * Imports an external string list parameter with name and optional version.
509
+ */
510
+ static fromListParameterAttributes(scope: Construct, id: string, attrs: ListParameterAttributes): IStringListParameter;
511
+ /**
512
+ * Returns a token that will resolve (during deployment) to the list value of an SSM StringList parameter.
513
+ * @param scope Some scope within a stack
514
+ * @param parameterName The name of the SSM parameter.
515
+ * @param type the type of the SSM list parameter
516
+ * @param version The parameter version (recommended in order to ensure that the value won't change during deployment)
517
+ */
518
+ static valueForTypedListParameter(scope: Construct, parameterName: string, type?: ParameterValueType, version?: number): string[];
519
+ readonly parameterArn: string;
520
+ readonly parameterName: string;
521
+ readonly parameterType: string;
522
+ readonly stringListValue: string[];
523
+ readonly resource: ssmParameter.SsmParameter;
524
+ constructor(scope: Construct, id: string, props: StringListParameterProps);
525
+ }
526
+ export {};