terraconstructs 0.0.25 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/.jsii +83939 -55116
  2. package/.mise.toml +2 -2
  3. package/.nvmrc +1 -1
  4. package/LICENSE +202 -674
  5. package/go.mod +1 -1
  6. package/go.sum +2 -2
  7. package/lib/asset-manager.d.ts +23 -0
  8. package/lib/asset-manager.js +3 -0
  9. package/lib/asset-staging.d.ts +178 -0
  10. package/lib/asset-staging.js +589 -0
  11. package/lib/assets.d.ts +359 -0
  12. package/lib/assets.js +55 -0
  13. package/lib/aws/arn.js +16 -15
  14. package/lib/aws/aws-asset-manager.d.ts +91 -0
  15. package/lib/aws/aws-asset-manager.js +244 -0
  16. package/lib/aws/aws-construct.js +1 -1
  17. package/lib/aws/aws-stack.d.ts +37 -0
  18. package/lib/aws/aws-stack.js +30 -9
  19. package/lib/aws/aws-tags.js +2 -2
  20. package/lib/aws/cloudwatch/actions/appscaling.d.ts +15 -0
  21. package/lib/aws/cloudwatch/actions/appscaling.js +24 -0
  22. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  23. package/lib/aws/cloudwatch/actions/index.d.ts +3 -0
  24. package/lib/aws/cloudwatch/actions/index.js +4 -4
  25. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  26. package/lib/aws/cloudwatch/actions/sns.d.ts +14 -0
  27. package/lib/aws/cloudwatch/actions/sns.js +23 -0
  28. package/lib/aws/cloudwatch/actions/ssm.d.ts +72 -0
  29. package/lib/aws/cloudwatch/actions/ssm.js +104 -0
  30. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  31. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  32. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  33. package/lib/aws/cloudwatch/alarm.js +1 -1
  34. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  35. package/lib/aws/cloudwatch/dashboard.js +1 -1
  36. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  37. package/lib/aws/cloudwatch/graph.js +8 -8
  38. package/lib/aws/cloudwatch/layout.js +3 -3
  39. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  40. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  41. package/lib/aws/cloudwatch/log-group.js +1 -1
  42. package/lib/aws/cloudwatch/log-query.js +1 -1
  43. package/lib/aws/cloudwatch/log-stream.js +1 -1
  44. package/lib/aws/cloudwatch/metric-filter.js +1 -1
  45. package/lib/aws/cloudwatch/metric.js +2 -2
  46. package/lib/aws/cloudwatch/pattern.js +3 -3
  47. package/lib/aws/cloudwatch/policy.js +1 -1
  48. package/lib/aws/cloudwatch/query-definition.js +2 -2
  49. package/lib/aws/cloudwatch/stats.js +1 -1
  50. package/lib/aws/cloudwatch/subscription-filter.js +1 -1
  51. package/lib/aws/cloudwatch/text.js +1 -1
  52. package/lib/aws/cloudwatch/variable.js +3 -3
  53. package/lib/aws/cloudwatch/widget.js +1 -1
  54. package/lib/aws/compute/access-log.d.ts +478 -0
  55. package/lib/aws/compute/access-log.js +649 -0
  56. package/lib/aws/compute/activity.js +1 -1
  57. package/lib/aws/compute/alb/application-listener-action.js +1 -1
  58. package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
  59. package/lib/aws/compute/alb/application-listener-rule.js +1 -1
  60. package/lib/aws/compute/alb/application-listener.js +1 -1
  61. package/lib/aws/compute/alb/application-load-balancer.js +1 -1
  62. package/lib/aws/compute/alb/application-target-group.js +1 -1
  63. package/lib/aws/compute/alb/conditions.js +1 -1
  64. package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
  65. package/lib/aws/compute/alb/trust-store.js +1 -1
  66. package/lib/aws/compute/api-definition.d.ts +106 -0
  67. package/lib/aws/compute/api-definition.js +200 -0
  68. package/lib/aws/compute/api-key.d.ts +184 -0
  69. package/lib/aws/compute/api-key.js +197 -0
  70. package/lib/aws/compute/apigateway-canned-metrics.generated.d.ts +169 -0
  71. package/lib/aws/compute/apigateway-canned-metrics.generated.js +63 -0
  72. package/lib/aws/compute/apigateway-util.d.ts +31 -0
  73. package/lib/aws/compute/apigateway-util.js +152 -0
  74. package/lib/aws/compute/architecture.js +1 -1
  75. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
  76. package/lib/aws/compute/authorizer.d.ts +35 -0
  77. package/lib/aws/compute/authorizer.js +28 -0
  78. package/lib/aws/compute/authorizers/identity-source.d.ts +37 -0
  79. package/lib/aws/compute/authorizers/identity-source.js +61 -0
  80. package/lib/aws/compute/authorizers/index.d.ts +2 -0
  81. package/lib/aws/compute/authorizers/index.js +20 -0
  82. package/lib/aws/compute/authorizers/lambda.d.ts +140 -0
  83. package/lib/aws/compute/authorizers/lambda.js +208 -0
  84. package/lib/aws/compute/base-path-mapping.d.ts +49 -0
  85. package/lib/aws/compute/base-path-mapping.js +52 -0
  86. package/lib/aws/compute/base-scalable-attribute.js +3 -3
  87. package/lib/aws/compute/bastion-host.js +1 -1
  88. package/lib/aws/compute/chain.js +1 -1
  89. package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
  90. package/lib/aws/compute/client-vpn-endpoint.js +2 -2
  91. package/lib/aws/compute/client-vpn-route.js +2 -2
  92. package/lib/aws/compute/code.d.ts +415 -0
  93. package/lib/aws/compute/code.js +424 -0
  94. package/lib/aws/compute/condition.js +1 -1
  95. package/lib/aws/compute/connections.js +1 -1
  96. package/lib/aws/compute/cors.d.ts +102 -0
  97. package/lib/aws/compute/cors.js +33 -0
  98. package/lib/aws/compute/deployment.d.ts +83 -0
  99. package/lib/aws/compute/deployment.js +158 -0
  100. package/lib/aws/compute/domain-name.d.ts +153 -0
  101. package/lib/aws/compute/domain-name.js +158 -0
  102. package/lib/aws/compute/event-invoke-config.d.ts +2 -2
  103. package/lib/aws/compute/event-invoke-config.js +4 -4
  104. package/lib/aws/compute/event-source-filter.js +2 -2
  105. package/lib/aws/compute/event-source-mapping.d.ts +2 -2
  106. package/lib/aws/compute/event-source-mapping.js +9 -7
  107. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  108. package/lib/aws/compute/event-sources/s3.js +1 -1
  109. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  110. package/lib/aws/compute/event-sources/sqs.js +3 -2
  111. package/lib/aws/compute/fields.js +4 -4
  112. package/lib/aws/compute/function-alias.d.ts +2 -0
  113. package/lib/aws/compute/function-alias.js +14 -2
  114. package/lib/aws/compute/function-base.d.ts +23 -0
  115. package/lib/aws/compute/function-base.js +4 -4
  116. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  117. package/lib/aws/compute/function-destinations/function.js +1 -1
  118. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  119. package/lib/aws/compute/function-nodejs/bundling.d.ts +75 -0
  120. package/lib/aws/compute/function-nodejs/bundling.js +405 -0
  121. package/lib/aws/compute/function-nodejs/function.d.ts +99 -0
  122. package/lib/aws/compute/function-nodejs/function.js +175 -0
  123. package/lib/aws/compute/function-nodejs/index.d.ts +2 -0
  124. package/lib/aws/compute/function-nodejs/index.js +19 -0
  125. package/lib/aws/compute/function-nodejs/package-installation.d.ts +8 -0
  126. package/lib/aws/compute/function-nodejs/package-installation.js +36 -0
  127. package/lib/aws/compute/function-nodejs/package-manager.d.ts +33 -0
  128. package/lib/aws/compute/function-nodejs/package-manager.js +99 -0
  129. package/lib/aws/compute/function-nodejs/types.d.ts +410 -0
  130. package/lib/aws/compute/function-nodejs/types.js +81 -0
  131. package/lib/aws/compute/function-nodejs/util.d.ts +60 -0
  132. package/lib/aws/compute/function-nodejs/util.js +202 -0
  133. package/lib/aws/compute/function-url.d.ts +2 -2
  134. package/lib/aws/compute/function-url.js +4 -4
  135. package/lib/aws/compute/function.d.ts +43 -5
  136. package/lib/aws/compute/function.js +106 -18
  137. package/lib/aws/compute/gateway-response.d.ts +157 -0
  138. package/lib/aws/compute/gateway-response.js +156 -0
  139. package/lib/aws/compute/handler.d.ts +10 -0
  140. package/lib/aws/compute/handler.js +20 -0
  141. package/lib/aws/compute/index.d.ts +27 -0
  142. package/lib/aws/compute/index.js +29 -1
  143. package/lib/aws/compute/instance-types.js +1 -1
  144. package/lib/aws/compute/instance.js +1 -1
  145. package/lib/aws/compute/integration.d.ts +311 -0
  146. package/lib/aws/compute/integration.js +165 -0
  147. package/lib/aws/compute/integrations/aws.d.ts +72 -0
  148. package/lib/aws/compute/integrations/aws.js +55 -0
  149. package/lib/aws/compute/integrations/http.d.ts +37 -0
  150. package/lib/aws/compute/integrations/http.js +35 -0
  151. package/lib/aws/compute/integrations/index.d.ts +6 -0
  152. package/lib/aws/compute/integrations/index.js +24 -0
  153. package/lib/aws/compute/integrations/lambda.d.ts +40 -0
  154. package/lib/aws/compute/integrations/lambda.js +73 -0
  155. package/lib/aws/compute/integrations/mock.d.ts +16 -0
  156. package/lib/aws/compute/integrations/mock.js +30 -0
  157. package/lib/aws/compute/integrations/request-context.d.ts +144 -0
  158. package/lib/aws/compute/integrations/request-context.js +3 -0
  159. package/lib/aws/compute/integrations/stepfunctions.d.ts +102 -0
  160. package/lib/aws/compute/integrations/stepfunctions.js +268 -0
  161. package/lib/aws/compute/ip-addresses.js +2 -2
  162. package/lib/aws/compute/ipam.js +1 -1
  163. package/lib/aws/compute/json-schema.d.ts +75 -0
  164. package/lib/aws/compute/json-schema.js +23 -0
  165. package/lib/aws/compute/key-pair.js +1 -1
  166. package/lib/aws/compute/lambda-api.d.ts +46 -0
  167. package/lib/aws/compute/lambda-api.js +64 -0
  168. package/lib/aws/compute/launch-template.js +2 -2
  169. package/lib/aws/compute/lb-shared/base-listener.js +1 -1
  170. package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
  171. package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
  172. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  173. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  174. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  175. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  176. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  177. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  178. package/lib/aws/compute/load-balancer.js +3 -3
  179. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  180. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  181. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  182. package/lib/aws/compute/machine-image/common.js +1 -1
  183. package/lib/aws/compute/machine-image/machine-image.js +8 -8
  184. package/lib/aws/compute/method.d.ts +219 -0
  185. package/lib/aws/compute/method.js +396 -0
  186. package/lib/aws/compute/methodresponse.d.ts +28 -0
  187. package/lib/aws/compute/methodresponse.js +3 -0
  188. package/lib/aws/compute/model.d.ts +143 -0
  189. package/lib/aws/compute/model.js +141 -0
  190. package/lib/aws/compute/nat.js +5 -5
  191. package/lib/aws/compute/network-acl-types.js +2 -2
  192. package/lib/aws/compute/network-acl.js +3 -3
  193. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  194. package/lib/aws/compute/nlb/network-listener.js +1 -1
  195. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  196. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  197. package/lib/aws/compute/peer.js +1 -1
  198. package/lib/aws/compute/placement-group.js +1 -1
  199. package/lib/aws/compute/port.js +1 -1
  200. package/lib/aws/compute/prefix-list.js +1 -1
  201. package/lib/aws/compute/requestvalidator.d.ts +50 -0
  202. package/lib/aws/compute/requestvalidator.js +59 -0
  203. package/lib/aws/compute/resource.d.ts +223 -0
  204. package/lib/aws/compute/resource.js +316 -0
  205. package/lib/aws/compute/restapi.d.ts +510 -0
  206. package/lib/aws/compute/restapi.js +626 -0
  207. package/lib/aws/compute/route.js +8 -8
  208. package/lib/aws/compute/runtime.d.ts +282 -0
  209. package/lib/aws/compute/runtime.js +337 -0
  210. package/lib/aws/compute/scalable-target.js +3 -3
  211. package/lib/aws/compute/schedule.js +3 -3
  212. package/lib/aws/compute/security-group.js +1 -1
  213. package/lib/aws/compute/stage.d.ts +350 -0
  214. package/lib/aws/compute/stage.js +304 -0
  215. package/lib/aws/compute/state-graph.js +1 -1
  216. package/lib/aws/compute/state-machine-fragment.js +1 -1
  217. package/lib/aws/compute/state-machine.js +4 -4
  218. package/lib/aws/compute/states/choice.js +1 -1
  219. package/lib/aws/compute/states/custom-state.js +1 -1
  220. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  221. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  222. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  223. package/lib/aws/compute/states/distributed-map.js +1 -1
  224. package/lib/aws/compute/states/fail.js +1 -1
  225. package/lib/aws/compute/states/map-base.js +1 -1
  226. package/lib/aws/compute/states/map.js +1 -1
  227. package/lib/aws/compute/states/parallel.js +1 -1
  228. package/lib/aws/compute/states/pass.js +2 -2
  229. package/lib/aws/compute/states/state.js +1 -1
  230. package/lib/aws/compute/states/succeed.js +1 -1
  231. package/lib/aws/compute/states/task-base.js +2 -2
  232. package/lib/aws/compute/states/task.js +1 -1
  233. package/lib/aws/compute/states/wait.js +2 -2
  234. package/lib/aws/compute/step-scaling-action.js +3 -3
  235. package/lib/aws/compute/step-scaling-policy.js +1 -1
  236. package/lib/aws/compute/stepfunctions-api.d.ts +103 -0
  237. package/lib/aws/compute/stepfunctions-api.js +39 -0
  238. package/lib/aws/compute/subnet-v2.js +2 -2
  239. package/lib/aws/compute/subnet.js +1 -1
  240. package/lib/aws/compute/target-tracking-scaling-policy.js +3 -3
  241. package/lib/aws/compute/task-credentials.js +1 -1
  242. package/lib/aws/compute/task-input.js +1 -1
  243. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  244. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  245. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  246. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  247. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  248. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  249. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  250. package/lib/aws/compute/types.js +1 -1
  251. package/lib/aws/compute/usage-plan.d.ts +194 -0
  252. package/lib/aws/compute/usage-plan.js +174 -0
  253. package/lib/aws/compute/user-data.js +3 -3
  254. package/lib/aws/compute/volume.js +2 -2
  255. package/lib/aws/compute/vpc-endpoint-service.js +1 -1
  256. package/lib/aws/compute/vpc-endpoint.js +6 -6
  257. package/lib/aws/compute/vpc-flow-logs.js +4 -4
  258. package/lib/aws/compute/vpc-link.d.ts +104 -0
  259. package/lib/aws/compute/vpc-link.js +137 -0
  260. package/lib/aws/compute/vpc-v2-base.js +1 -1
  261. package/lib/aws/compute/vpc-v2.js +2 -2
  262. package/lib/aws/compute/vpc.js +4 -4
  263. package/lib/aws/compute/vpn.js +3 -3
  264. package/lib/aws/edge/certificate.js +1 -1
  265. package/lib/aws/edge/distribution.js +3 -3
  266. package/lib/aws/edge/dns-alias-record-targets.js +3 -3
  267. package/lib/aws/edge/dns-record.js +13 -13
  268. package/lib/aws/edge/dns-zone.js +1 -1
  269. package/lib/aws/edge/function.js +2 -2
  270. package/lib/aws/edge/key-value-store.js +4 -4
  271. package/lib/aws/edge/origin.js +3 -3
  272. package/lib/aws/edge/response-headers-policy.js +1 -1
  273. package/lib/aws/encryption/alias.js +1 -1
  274. package/lib/aws/encryption/key.js +1 -1
  275. package/lib/aws/encryption/via-service-principal.js +1 -1
  276. package/lib/aws/iam/grant.js +2 -2
  277. package/lib/aws/iam/group.js +1 -1
  278. package/lib/aws/iam/instance-profile.js +1 -1
  279. package/lib/aws/iam/managed-policy.js +1 -1
  280. package/lib/aws/iam/oidc-provider.js +1 -1
  281. package/lib/aws/iam/policy-document.js +1 -1
  282. package/lib/aws/iam/policy-statement.js +1 -1
  283. package/lib/aws/iam/policy.js +1 -1
  284. package/lib/aws/iam/principals.js +20 -20
  285. package/lib/aws/iam/role.js +1 -1
  286. package/lib/aws/iam/saml-provider.js +2 -2
  287. package/lib/aws/iam/unknown-principal.js +1 -1
  288. package/lib/aws/iam/user.js +5 -5
  289. package/lib/aws/index.d.ts +1 -0
  290. package/lib/aws/index.js +4 -1
  291. package/lib/aws/network/simple-ipv4-vpc.js +1 -1
  292. package/lib/aws/network/subnet-group.js +3 -3
  293. package/lib/aws/network/subnet.js +4 -4
  294. package/lib/aws/notify/archive.js +1 -1
  295. package/lib/aws/notify/connection.js +3 -3
  296. package/lib/aws/notify/event-bus.js +3 -3
  297. package/lib/aws/notify/event-pattern.js +1 -1
  298. package/lib/aws/notify/input.js +2 -2
  299. package/lib/aws/notify/kinesis-stream.js +1 -1
  300. package/lib/aws/notify/notification-rule.d.ts +1 -1
  301. package/lib/aws/notify/notification-rule.js +5 -5
  302. package/lib/aws/notify/policy.js +1 -1
  303. package/lib/aws/notify/queue-policy.js +1 -1
  304. package/lib/aws/notify/queue.js +1 -1
  305. package/lib/aws/notify/resource-policy.js +1 -1
  306. package/lib/aws/notify/rule.js +1 -1
  307. package/lib/aws/notify/schedule.js +1 -1
  308. package/lib/aws/notify/subscription-filter.js +1 -1
  309. package/lib/aws/notify/subscription.js +4 -4
  310. package/lib/aws/notify/subscriptions/email.js +1 -1
  311. package/lib/aws/notify/subscriptions/lambda.js +1 -1
  312. package/lib/aws/notify/subscriptions/sms.js +1 -1
  313. package/lib/aws/notify/subscriptions/sqs.js +1 -1
  314. package/lib/aws/notify/subscriptions/url.js +1 -1
  315. package/lib/aws/notify/targets/event-bus.js +1 -1
  316. package/lib/aws/notify/targets/function.js +1 -1
  317. package/lib/aws/notify/targets/log-group.js +2 -2
  318. package/lib/aws/notify/targets/sqs.js +1 -1
  319. package/lib/aws/notify/targets/state-machine.js +1 -1
  320. package/lib/aws/notify/topic-base.js +1 -1
  321. package/lib/aws/notify/topic.js +6 -5
  322. package/lib/aws/partition.d.ts +21 -0
  323. package/lib/aws/partition.js +42 -0
  324. package/lib/aws/storage/assets/image-asset.d.ts +379 -0
  325. package/lib/aws/storage/assets/image-asset.js +247 -0
  326. package/lib/aws/storage/assets/index.d.ts +2 -0
  327. package/lib/aws/storage/assets/index.js +21 -0
  328. package/lib/aws/storage/assets/s3.d.ts +125 -0
  329. package/lib/aws/storage/assets/s3.js +80 -0
  330. package/lib/aws/storage/auth-token.d.ts +25 -0
  331. package/lib/aws/storage/auth-token.js +54 -0
  332. package/lib/aws/storage/billing.js +1 -1
  333. package/lib/aws/storage/bucket-notifications.js +1 -1
  334. package/lib/aws/storage/bucket-policy.js +1 -1
  335. package/lib/aws/storage/bucket-source.d.ts +1 -1
  336. package/lib/aws/storage/bucket-source.js +4 -4
  337. package/lib/aws/storage/bucket.d.ts +14 -6
  338. package/lib/aws/storage/bucket.js +48 -40
  339. package/lib/aws/storage/capacity.js +1 -1
  340. package/lib/aws/storage/ecr-lifecycle.d.ts +88 -0
  341. package/lib/aws/storage/ecr-lifecycle.js +23 -0
  342. package/lib/aws/storage/ecr-repository.d.ts +446 -0
  343. package/lib/aws/storage/ecr-repository.js +685 -0
  344. package/lib/aws/storage/encryption.js +1 -1
  345. package/lib/aws/storage/index.d.ts +5 -0
  346. package/lib/aws/storage/index.js +10 -3
  347. package/lib/aws/storage/location.d.ts +17 -0
  348. package/lib/aws/storage/location.js +4 -0
  349. package/lib/aws/storage/notification-targets/function.js +1 -1
  350. package/lib/aws/storage/notification-targets/queue.js +1 -1
  351. package/lib/aws/storage/origin-access-identity.js +1 -1
  352. package/lib/aws/storage/parameter.js +2 -2
  353. package/lib/aws/storage/table.js +3 -3
  354. package/lib/aws/storage/util.d.ts +8 -20
  355. package/lib/aws/storage/util.js +56 -34
  356. package/lib/aws/util.d.ts +1 -0
  357. package/lib/aws/util.js +6 -1
  358. package/lib/bundling.d.ts +434 -0
  359. package/lib/bundling.js +368 -0
  360. package/lib/construct-base.js +2 -2
  361. package/lib/duration.js +1 -1
  362. package/lib/expiration.js +1 -1
  363. package/lib/fs/copy.d.ts +2 -0
  364. package/lib/fs/copy.js +57 -0
  365. package/lib/fs/fingerprint.d.ts +21 -0
  366. package/lib/fs/fingerprint.js +165 -0
  367. package/lib/fs/ignore.d.ts +107 -0
  368. package/lib/fs/ignore.js +190 -0
  369. package/lib/fs/index.d.ts +47 -0
  370. package/lib/fs/index.js +88 -0
  371. package/lib/fs/options.d.ts +110 -0
  372. package/lib/fs/options.js +60 -0
  373. package/lib/fs/utils.d.ts +11 -0
  374. package/lib/fs/utils.js +34 -0
  375. package/lib/index.d.ts +5 -0
  376. package/lib/index.js +7 -1
  377. package/lib/private/asset-staging.d.ts +83 -0
  378. package/lib/private/asset-staging.js +205 -0
  379. package/lib/private/cache.d.ts +17 -0
  380. package/lib/private/cache.js +35 -0
  381. package/lib/private/jsii-deprecated.d.ts +2 -0
  382. package/lib/private/jsii-deprecated.js +19 -0
  383. package/lib/private/unique-resource-name.js +3 -2
  384. package/lib/size.js +1 -1
  385. package/lib/stack-base.js +1 -1
  386. package/lib/terra-func.js +2 -2
  387. package/lib/time-zone.js +1 -1
  388. package/node_modules/@balena/dockerignore/CHANGELOG.md +31 -0
  389. package/node_modules/@balena/dockerignore/LICENSE.md +206 -0
  390. package/node_modules/@balena/dockerignore/README.md +261 -0
  391. package/node_modules/@balena/dockerignore/ignore.js +363 -0
  392. package/node_modules/@balena/dockerignore/index.d.ts +45 -0
  393. package/node_modules/@balena/dockerignore/package.json +49 -0
  394. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  395. package/node_modules/balanced-match/LICENSE.md +21 -0
  396. package/node_modules/balanced-match/README.md +97 -0
  397. package/node_modules/balanced-match/index.js +62 -0
  398. package/node_modules/balanced-match/package.json +48 -0
  399. package/node_modules/concat-map/.travis.yml +4 -0
  400. package/node_modules/concat-map/LICENSE +18 -0
  401. package/node_modules/concat-map/README.markdown +62 -0
  402. package/node_modules/concat-map/example/map.js +6 -0
  403. package/node_modules/concat-map/index.js +13 -0
  404. package/node_modules/concat-map/package.json +43 -0
  405. package/node_modules/concat-map/test/map.js +39 -0
  406. package/node_modules/ignore/LICENSE-MIT +21 -0
  407. package/node_modules/ignore/README.md +412 -0
  408. package/node_modules/ignore/index.d.ts +61 -0
  409. package/node_modules/ignore/index.js +636 -0
  410. package/node_modules/ignore/legacy.js +559 -0
  411. package/node_modules/ignore/package.json +74 -0
  412. package/node_modules/minimatch/LICENSE +15 -0
  413. package/node_modules/minimatch/README.md +230 -0
  414. package/node_modules/minimatch/minimatch.js +947 -0
  415. package/node_modules/minimatch/node_modules/brace-expansion/LICENSE +21 -0
  416. package/node_modules/minimatch/node_modules/brace-expansion/README.md +129 -0
  417. package/node_modules/minimatch/node_modules/brace-expansion/index.js +201 -0
  418. package/node_modules/minimatch/node_modules/brace-expansion/package.json +47 -0
  419. package/node_modules/minimatch/package.json +33 -0
  420. package/package.json +14 -5
  421. package/lib/aws/compute/function-nodejs.d.ts +0 -55
  422. package/lib/aws/compute/function-nodejs.js +0 -70
@@ -0,0 +1,37 @@
1
+ import { Integration, IntegrationOptions } from "../integration";
2
+ export interface HttpIntegrationProps {
3
+ /**
4
+ * Determines whether to use proxy integration or custom integration.
5
+ *
6
+ * @default true
7
+ */
8
+ readonly proxy?: boolean;
9
+ /**
10
+ * HTTP method to use when invoking the backend URL.
11
+ * @default GET
12
+ */
13
+ readonly httpMethod?: string;
14
+ /**
15
+ * Integration options, such as request/resopnse mapping, content handling,
16
+ * etc.
17
+ *
18
+ * @default defaults based on `IntegrationOptions` defaults
19
+ */
20
+ readonly options?: IntegrationOptions;
21
+ }
22
+ /**
23
+ * You can integrate an API method with an HTTP endpoint using the HTTP proxy
24
+ * integration or the HTTP custom integration,.
25
+ *
26
+ * With the proxy integration, the setup is simple. You only need to set the
27
+ * HTTP method and the HTTP endpoint URI, according to the backend requirements,
28
+ * if you are not concerned with content encoding or caching.
29
+ *
30
+ * With the custom integration, the setup is more involved. In addition to the
31
+ * proxy integration setup steps, you need to specify how the incoming request
32
+ * data is mapped to the integration request and how the resulting integration
33
+ * response data is mapped to the method response.
34
+ */
35
+ export declare class HttpIntegration extends Integration {
36
+ constructor(url: string, props?: HttpIntegrationProps);
37
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.HttpIntegration = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const integration_1 = require("../integration");
7
+ /**
8
+ * You can integrate an API method with an HTTP endpoint using the HTTP proxy
9
+ * integration or the HTTP custom integration,.
10
+ *
11
+ * With the proxy integration, the setup is simple. You only need to set the
12
+ * HTTP method and the HTTP endpoint URI, according to the backend requirements,
13
+ * if you are not concerned with content encoding or caching.
14
+ *
15
+ * With the custom integration, the setup is more involved. In addition to the
16
+ * proxy integration setup steps, you need to specify how the incoming request
17
+ * data is mapped to the integration request and how the resulting integration
18
+ * response data is mapped to the method response.
19
+ */
20
+ class HttpIntegration extends integration_1.Integration {
21
+ constructor(url, props = {}) {
22
+ const proxy = props.proxy ?? true;
23
+ const method = props.httpMethod || "GET";
24
+ super({
25
+ type: proxy ? integration_1.IntegrationType.HTTP_PROXY : integration_1.IntegrationType.HTTP,
26
+ integrationHttpMethod: method,
27
+ uri: url,
28
+ options: props.options,
29
+ });
30
+ }
31
+ }
32
+ exports.HttpIntegration = HttpIntegration;
33
+ _a = JSII_RTTI_SYMBOL_1;
34
+ HttpIntegration[_a] = { fqn: "terraconstructs.aws.compute.HttpIntegration", version: "0.1.1" };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9pbnRlZ3JhdGlvbnMvaHR0cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdEQUl3QjtBQXlCeEI7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLHlCQUFXO0lBQzlDLFlBQVksR0FBVyxFQUFFLFFBQThCLEVBQUU7UUFDdkQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUM7UUFDbEMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUM7UUFDekMsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsNkJBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLDZCQUFlLENBQUMsSUFBSTtZQUMvRCxxQkFBcUIsRUFBRSxNQUFNO1lBQzdCLEdBQUcsRUFBRSxHQUFHO1lBQ1IsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBVkgsMENBV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbnRlZ3JhdGlvbixcbiAgSW50ZWdyYXRpb25PcHRpb25zLFxuICBJbnRlZ3JhdGlvblR5cGUsXG59IGZyb20gXCIuLi9pbnRlZ3JhdGlvblwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBJbnRlZ3JhdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIERldGVybWluZXMgd2hldGhlciB0byB1c2UgcHJveHkgaW50ZWdyYXRpb24gb3IgY3VzdG9tIGludGVncmF0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwcm94eT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEhUVFAgbWV0aG9kIHRvIHVzZSB3aGVuIGludm9raW5nIHRoZSBiYWNrZW5kIFVSTC5cbiAgICogQGRlZmF1bHQgR0VUXG4gICAqL1xuICByZWFkb25seSBodHRwTWV0aG9kPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbnRlZ3JhdGlvbiBvcHRpb25zLCBzdWNoIGFzIHJlcXVlc3QvcmVzb3Buc2UgbWFwcGluZywgY29udGVudCBoYW5kbGluZyxcbiAgICogZXRjLlxuICAgKlxuICAgKiBAZGVmYXVsdCBkZWZhdWx0cyBiYXNlZCBvbiBgSW50ZWdyYXRpb25PcHRpb25zYCBkZWZhdWx0c1xuICAgKi9cbiAgcmVhZG9ubHkgb3B0aW9ucz86IEludGVncmF0aW9uT3B0aW9ucztcbn1cblxuLyoqXG4gKiBZb3UgY2FuIGludGVncmF0ZSBhbiBBUEkgbWV0aG9kIHdpdGggYW4gSFRUUCBlbmRwb2ludCB1c2luZyB0aGUgSFRUUCBwcm94eVxuICogaW50ZWdyYXRpb24gb3IgdGhlIEhUVFAgY3VzdG9tIGludGVncmF0aW9uLC5cbiAqXG4gKiBXaXRoIHRoZSBwcm94eSBpbnRlZ3JhdGlvbiwgdGhlIHNldHVwIGlzIHNpbXBsZS4gWW91IG9ubHkgbmVlZCB0byBzZXQgdGhlXG4gKiBIVFRQIG1ldGhvZCBhbmQgdGhlIEhUVFAgZW5kcG9pbnQgVVJJLCBhY2NvcmRpbmcgdG8gdGhlIGJhY2tlbmQgcmVxdWlyZW1lbnRzLFxuICogaWYgeW91IGFyZSBub3QgY29uY2VybmVkIHdpdGggY29udGVudCBlbmNvZGluZyBvciBjYWNoaW5nLlxuICpcbiAqIFdpdGggdGhlIGN1c3RvbSBpbnRlZ3JhdGlvbiwgdGhlIHNldHVwIGlzIG1vcmUgaW52b2x2ZWQuIEluIGFkZGl0aW9uIHRvIHRoZVxuICogcHJveHkgaW50ZWdyYXRpb24gc2V0dXAgc3RlcHMsIHlvdSBuZWVkIHRvIHNwZWNpZnkgaG93IHRoZSBpbmNvbWluZyByZXF1ZXN0XG4gKiBkYXRhIGlzIG1hcHBlZCB0byB0aGUgaW50ZWdyYXRpb24gcmVxdWVzdCBhbmQgaG93IHRoZSByZXN1bHRpbmcgaW50ZWdyYXRpb25cbiAqIHJlc3BvbnNlIGRhdGEgaXMgbWFwcGVkIHRvIHRoZSBtZXRob2QgcmVzcG9uc2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBIdHRwSW50ZWdyYXRpb24gZXh0ZW5kcyBJbnRlZ3JhdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHVybDogc3RyaW5nLCBwcm9wczogSHR0cEludGVncmF0aW9uUHJvcHMgPSB7fSkge1xuICAgIGNvbnN0IHByb3h5ID0gcHJvcHMucHJveHkgPz8gdHJ1ZTtcbiAgICBjb25zdCBtZXRob2QgPSBwcm9wcy5odHRwTWV0aG9kIHx8IFwiR0VUXCI7XG4gICAgc3VwZXIoe1xuICAgICAgdHlwZTogcHJveHkgPyBJbnRlZ3JhdGlvblR5cGUuSFRUUF9QUk9YWSA6IEludGVncmF0aW9uVHlwZS5IVFRQLFxuICAgICAgaW50ZWdyYXRpb25IdHRwTWV0aG9kOiBtZXRob2QsXG4gICAgICB1cmk6IHVybCxcbiAgICAgIG9wdGlvbnM6IHByb3BzLm9wdGlvbnMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export * from "./aws";
2
+ export * from "./lambda";
3
+ export * from "./http";
4
+ export * from "./mock";
5
+ export * from "./stepfunctions";
6
+ export * from "./request-context";
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./aws"), exports);
18
+ __exportStar(require("./lambda"), exports);
19
+ __exportStar(require("./http"), exports);
20
+ __exportStar(require("./mock"), exports);
21
+ __exportStar(require("./stepfunctions"), exports);
22
+ // export * from './sagemaker';
23
+ __exportStar(require("./request-context"), exports);
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvaW50ZWdyYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBc0I7QUFDdEIsMkNBQXlCO0FBQ3pCLHlDQUF1QjtBQUN2Qix5Q0FBdUI7QUFDdkIsa0RBQWdDO0FBQ2hDLCtCQUErQjtBQUMvQixvREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9hd3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xhbWJkYVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaHR0cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbW9ja1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RlcGZ1bmN0aW9uc1wiO1xuLy8gZXhwb3J0ICogZnJvbSAnLi9zYWdlbWFrZXInO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVxdWVzdC1jb250ZXh0XCI7XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import * as lambda from "..";
2
+ import { AwsIntegration } from "./aws";
3
+ import { IntegrationConfig, IntegrationOptions } from "../integration";
4
+ import { Method } from "../method";
5
+ export interface LambdaIntegrationOptions extends IntegrationOptions {
6
+ /**
7
+ * Use proxy integration or normal (request/response mapping) integration.
8
+ * @see https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-output-format
9
+ *
10
+ * @default true
11
+ */
12
+ readonly proxy?: boolean;
13
+ /**
14
+ * Allow invoking method from AWS Console UI (for testing purposes).
15
+ *
16
+ * This will add another permission to the AWS Lambda resource policy which
17
+ * will allow the `test-invoke-stage` stage to invoke this handler. If this
18
+ * is set to `false`, the function will only be usable from the deployment
19
+ * endpoint.
20
+ *
21
+ * @default true
22
+ */
23
+ readonly allowTestInvoke?: boolean;
24
+ }
25
+ /**
26
+ * Integrates an AWS Lambda function to an API Gateway method.
27
+ *
28
+ * @example
29
+ *
30
+ * declare const resource: apigateway.Resource;
31
+ * declare const handler: lambda.Function;
32
+ * resource.addMethod('GET', new apigateway.LambdaIntegration(handler));
33
+ *
34
+ */
35
+ export declare class LambdaIntegration extends AwsIntegration {
36
+ private readonly handler;
37
+ private readonly enableTest;
38
+ constructor(handler: lambda.IFunction, options?: LambdaIntegrationOptions);
39
+ bind(method: Method): IntegrationConfig;
40
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.LambdaIntegration = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const cdktf_1 = require("cdktf");
7
+ const lambda = require("..");
8
+ const aws_1 = require("./aws");
9
+ const aws_stack_1 = require("../../aws-stack");
10
+ const iam = require("../../iam");
11
+ /**
12
+ * Integrates an AWS Lambda function to an API Gateway method.
13
+ *
14
+ * @example
15
+ *
16
+ * declare const resource: apigateway.Resource;
17
+ * declare const handler: lambda.Function;
18
+ * resource.addMethod('GET', new apigateway.LambdaIntegration(handler));
19
+ *
20
+ */
21
+ class LambdaIntegration extends aws_1.AwsIntegration {
22
+ constructor(handler, options = {}) {
23
+ const proxy = options.proxy ?? true;
24
+ super({
25
+ proxy,
26
+ service: "lambda",
27
+ path: `2015-03-31/functions/${handler.functionArn}/invocations`,
28
+ options,
29
+ });
30
+ this.handler = handler;
31
+ this.enableTest = options.allowTestInvoke ?? true;
32
+ }
33
+ bind(method) {
34
+ const bindResult = super.bind(method);
35
+ const principal = new iam.ServicePrincipal("apigateway.amazonaws.com");
36
+ const desc = `${aws_stack_1.AwsStack.uniqueId(method.api.node)}.${method.httpMethod}.${method.resource.path.replace(/\//g, ".")}`;
37
+ this.handler.addPermission(`ApiPermission.${desc}`, {
38
+ principal,
39
+ scope: method,
40
+ sourceArn: cdktf_1.Lazy.stringValue({ produce: () => method.methodArn }),
41
+ });
42
+ // add permission to invoke from the console
43
+ if (this.enableTest) {
44
+ this.handler.addPermission(`ApiPermission.Test.${desc}`, {
45
+ principal,
46
+ scope: method,
47
+ sourceArn: method.testMethodArn,
48
+ });
49
+ }
50
+ let functionName;
51
+ if (this.handler instanceof lambda.LambdaFunction) {
52
+ // if not imported, extract the name from the TF provider layer to reach
53
+ // the literal value if it is given (rather than a token)
54
+ functionName = this.handler.node.defaultChild.functionNameInput;
55
+ }
56
+ else {
57
+ // imported, just take the function name.
58
+ functionName = this.handler.functionName;
59
+ }
60
+ let deploymentToken;
61
+ if (!cdktf_1.Token.isUnresolved(functionName)) {
62
+ deploymentToken = JSON.stringify({ functionName });
63
+ }
64
+ return {
65
+ ...bindResult,
66
+ deploymentToken,
67
+ };
68
+ }
69
+ }
70
+ exports.LambdaIntegration = LambdaIntegration;
71
+ _a = JSII_RTTI_SYMBOL_1;
72
+ LambdaIntegration[_a] = { fqn: "terraconstructs.aws.compute.LambdaIntegration", version: "0.1.1" };
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2ludGVncmF0aW9ucy9sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSxpQ0FBb0M7QUFDcEMsNkJBQTZCO0FBQzdCLCtCQUF1QztBQUN2QywrQ0FBMkM7QUFDM0MsaUNBQWlDO0FBMEJqQzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLGlCQUFrQixTQUFRLG9CQUFjO0lBSW5ELFlBQ0UsT0FBeUIsRUFDekIsVUFBb0MsRUFBRTtRQUV0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQztRQUVwQyxLQUFLLENBQUM7WUFDSixLQUFLO1lBQ0wsT0FBTyxFQUFFLFFBQVE7WUFDakIsSUFBSSxFQUFFLHdCQUF3QixPQUFPLENBQUMsV0FBVyxjQUFjO1lBQy9ELE9BQU87U0FDUixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDO0lBQ3BELENBQUM7SUFFTSxJQUFJLENBQUMsTUFBYztRQUN4QixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFdkUsTUFBTSxJQUFJLEdBQUcsR0FBRyxvQkFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBRXRILElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGlCQUFpQixJQUFJLEVBQUUsRUFBRTtZQUNsRCxTQUFTO1lBQ1QsS0FBSyxFQUFFLE1BQU07WUFDYixTQUFTLEVBQUUsWUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDakUsQ0FBQyxDQUFDO1FBRUgsNENBQTRDO1FBQzVDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBRTtnQkFDdkQsU0FBUztnQkFDVCxLQUFLLEVBQUUsTUFBTTtnQkFDYixTQUFTLEVBQUUsTUFBTSxDQUFDLGFBQWE7YUFDaEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksWUFBWSxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLE9BQU8sWUFBWSxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbEQsd0VBQXdFO1lBQ3hFLHlEQUF5RDtZQUN6RCxZQUFZLEdBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFDbkIsQ0FBQyxpQkFBaUIsQ0FBQztRQUN0QixDQUFDO2FBQU0sQ0FBQztZQUNOLHlDQUF5QztZQUN6QyxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDM0MsQ0FBQztRQUVELElBQUksZUFBZSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDdEMsZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELENBQUM7UUFDRCxPQUFPO1lBQ0wsR0FBRyxVQUFVO1lBQ2IsZUFBZTtTQUNoQixDQUFDO0lBQ0osQ0FBQzs7QUEvREgsOENBZ0VDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTg2LjAvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWFwaWdhdGV3YXkvbGliL2ludGVncmF0aW9ucy9sYW1iZGEudHNcblxuaW1wb3J0IHsgbGFtYmRhRnVuY3Rpb24gfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgTGF6eSwgVG9rZW4gfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IEF3c0ludGVncmF0aW9uIH0gZnJvbSBcIi4vYXdzXCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi8uLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vLi4vaWFtXCI7XG5pbXBvcnQgeyBJbnRlZ3JhdGlvbkNvbmZpZywgSW50ZWdyYXRpb25PcHRpb25zIH0gZnJvbSBcIi4uL2ludGVncmF0aW9uXCI7XG5pbXBvcnQgeyBNZXRob2QgfSBmcm9tIFwiLi4vbWV0aG9kXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhSW50ZWdyYXRpb25PcHRpb25zIGV4dGVuZHMgSW50ZWdyYXRpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFVzZSBwcm94eSBpbnRlZ3JhdGlvbiBvciBub3JtYWwgKHJlcXVlc3QvcmVzcG9uc2UgbWFwcGluZykgaW50ZWdyYXRpb24uXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwaWdhdGV3YXkvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3NldC11cC1sYW1iZGEtcHJveHktaW50ZWdyYXRpb25zLmh0bWwjYXBpLWdhdGV3YXktc2ltcGxlLXByb3h5LWZvci1sYW1iZGEtb3V0cHV0LWZvcm1hdFxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBwcm94eT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFsbG93IGludm9raW5nIG1ldGhvZCBmcm9tIEFXUyBDb25zb2xlIFVJIChmb3IgdGVzdGluZyBwdXJwb3NlcykuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBhZGQgYW5vdGhlciBwZXJtaXNzaW9uIHRvIHRoZSBBV1MgTGFtYmRhIHJlc291cmNlIHBvbGljeSB3aGljaFxuICAgKiB3aWxsIGFsbG93IHRoZSBgdGVzdC1pbnZva2Utc3RhZ2VgIHN0YWdlIHRvIGludm9rZSB0aGlzIGhhbmRsZXIuIElmIHRoaXNcbiAgICogaXMgc2V0IHRvIGBmYWxzZWAsIHRoZSBmdW5jdGlvbiB3aWxsIG9ubHkgYmUgdXNhYmxlIGZyb20gdGhlIGRlcGxveW1lbnRcbiAgICogZW5kcG9pbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93VGVzdEludm9rZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogSW50ZWdyYXRlcyBhbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIHRvIGFuIEFQSSBHYXRld2F5IG1ldGhvZC5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqICAgIGRlY2xhcmUgY29uc3QgcmVzb3VyY2U6IGFwaWdhdGV3YXkuUmVzb3VyY2U7XG4gKiAgICBkZWNsYXJlIGNvbnN0IGhhbmRsZXI6IGxhbWJkYS5GdW5jdGlvbjtcbiAqICAgIHJlc291cmNlLmFkZE1ldGhvZCgnR0VUJywgbmV3IGFwaWdhdGV3YXkuTGFtYmRhSW50ZWdyYXRpb24oaGFuZGxlcikpO1xuICpcbiAqL1xuZXhwb3J0IGNsYXNzIExhbWJkYUludGVncmF0aW9uIGV4dGVuZHMgQXdzSW50ZWdyYXRpb24ge1xuICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZXI6IGxhbWJkYS5JRnVuY3Rpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgZW5hYmxlVGVzdDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBoYW5kbGVyOiBsYW1iZGEuSUZ1bmN0aW9uLFxuICAgIG9wdGlvbnM6IExhbWJkYUludGVncmF0aW9uT3B0aW9ucyA9IHt9LFxuICApIHtcbiAgICBjb25zdCBwcm94eSA9IG9wdGlvbnMucHJveHkgPz8gdHJ1ZTtcblxuICAgIHN1cGVyKHtcbiAgICAgIHByb3h5LFxuICAgICAgc2VydmljZTogXCJsYW1iZGFcIixcbiAgICAgIHBhdGg6IGAyMDE1LTAzLTMxL2Z1bmN0aW9ucy8ke2hhbmRsZXIuZnVuY3Rpb25Bcm59L2ludm9jYXRpb25zYCxcbiAgICAgIG9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmhhbmRsZXIgPSBoYW5kbGVyO1xuICAgIHRoaXMuZW5hYmxlVGVzdCA9IG9wdGlvbnMuYWxsb3dUZXN0SW52b2tlID8/IHRydWU7XG4gIH1cblxuICBwdWJsaWMgYmluZChtZXRob2Q6IE1ldGhvZCk6IEludGVncmF0aW9uQ29uZmlnIHtcbiAgICBjb25zdCBiaW5kUmVzdWx0ID0gc3VwZXIuYmluZChtZXRob2QpO1xuICAgIGNvbnN0IHByaW5jaXBhbCA9IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImFwaWdhdGV3YXkuYW1hem9uYXdzLmNvbVwiKTtcblxuICAgIGNvbnN0IGRlc2MgPSBgJHtBd3NTdGFjay51bmlxdWVJZChtZXRob2QuYXBpLm5vZGUpfS4ke21ldGhvZC5odHRwTWV0aG9kfS4ke21ldGhvZC5yZXNvdXJjZS5wYXRoLnJlcGxhY2UoL1xcLy9nLCBcIi5cIil9YDtcblxuICAgIHRoaXMuaGFuZGxlci5hZGRQZXJtaXNzaW9uKGBBcGlQZXJtaXNzaW9uLiR7ZGVzY31gLCB7XG4gICAgICBwcmluY2lwYWwsXG4gICAgICBzY29wZTogbWV0aG9kLFxuICAgICAgc291cmNlQXJuOiBMYXp5LnN0cmluZ1ZhbHVlKHsgcHJvZHVjZTogKCkgPT4gbWV0aG9kLm1ldGhvZEFybiB9KSxcbiAgICB9KTtcblxuICAgIC8vIGFkZCBwZXJtaXNzaW9uIHRvIGludm9rZSBmcm9tIHRoZSBjb25zb2xlXG4gICAgaWYgKHRoaXMuZW5hYmxlVGVzdCkge1xuICAgICAgdGhpcy5oYW5kbGVyLmFkZFBlcm1pc3Npb24oYEFwaVBlcm1pc3Npb24uVGVzdC4ke2Rlc2N9YCwge1xuICAgICAgICBwcmluY2lwYWwsXG4gICAgICAgIHNjb3BlOiBtZXRob2QsXG4gICAgICAgIHNvdXJjZUFybjogbWV0aG9kLnRlc3RNZXRob2RBcm4sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBsZXQgZnVuY3Rpb25OYW1lO1xuXG4gICAgaWYgKHRoaXMuaGFuZGxlciBpbnN0YW5jZW9mIGxhbWJkYS5MYW1iZGFGdW5jdGlvbikge1xuICAgICAgLy8gaWYgbm90IGltcG9ydGVkLCBleHRyYWN0IHRoZSBuYW1lIGZyb20gdGhlIFRGIHByb3ZpZGVyIGxheWVyIHRvIHJlYWNoXG4gICAgICAvLyB0aGUgbGl0ZXJhbCB2YWx1ZSBpZiBpdCBpcyBnaXZlbiAocmF0aGVyIHRoYW4gYSB0b2tlbilcbiAgICAgIGZ1bmN0aW9uTmFtZSA9IChcbiAgICAgICAgdGhpcy5oYW5kbGVyLm5vZGUuZGVmYXVsdENoaWxkIGFzIGxhbWJkYUZ1bmN0aW9uLkxhbWJkYUZ1bmN0aW9uXG4gICAgICApLmZ1bmN0aW9uTmFtZUlucHV0O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBpbXBvcnRlZCwganVzdCB0YWtlIHRoZSBmdW5jdGlvbiBuYW1lLlxuICAgICAgZnVuY3Rpb25OYW1lID0gdGhpcy5oYW5kbGVyLmZ1bmN0aW9uTmFtZTtcbiAgICB9XG5cbiAgICBsZXQgZGVwbG95bWVudFRva2VuO1xuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGZ1bmN0aW9uTmFtZSkpIHtcbiAgICAgIGRlcGxveW1lbnRUb2tlbiA9IEpTT04uc3RyaW5naWZ5KHsgZnVuY3Rpb25OYW1lIH0pO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYmluZFJlc3VsdCxcbiAgICAgIGRlcGxveW1lbnRUb2tlbixcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { Integration, IntegrationOptions } from "../integration";
2
+ /**
3
+ * This type of integration lets API Gateway return a response without sending
4
+ * the request further to the backend. This is useful for API testing because it
5
+ * can be used to test the integration set up without incurring charges for
6
+ * using the backend and to enable collaborative development of an API. In
7
+ * collaborative development, a team can isolate their development effort by
8
+ * setting up simulations of API components owned by other teams by using the
9
+ * MOCK integrations. It is also used to return CORS-related headers to ensure
10
+ * that the API method permits CORS access. In fact, the API Gateway console
11
+ * integrates the OPTIONS method to support CORS with a mock integration.
12
+ * Gateway responses are other examples of mock integrations.
13
+ */
14
+ export declare class MockIntegration extends Integration {
15
+ constructor(options?: IntegrationOptions);
16
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.MockIntegration = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const integration_1 = require("../integration");
7
+ /**
8
+ * This type of integration lets API Gateway return a response without sending
9
+ * the request further to the backend. This is useful for API testing because it
10
+ * can be used to test the integration set up without incurring charges for
11
+ * using the backend and to enable collaborative development of an API. In
12
+ * collaborative development, a team can isolate their development effort by
13
+ * setting up simulations of API components owned by other teams by using the
14
+ * MOCK integrations. It is also used to return CORS-related headers to ensure
15
+ * that the API method permits CORS access. In fact, the API Gateway console
16
+ * integrates the OPTIONS method to support CORS with a mock integration.
17
+ * Gateway responses are other examples of mock integrations.
18
+ */
19
+ class MockIntegration extends integration_1.Integration {
20
+ constructor(options) {
21
+ super({
22
+ type: integration_1.IntegrationType.MOCK,
23
+ options,
24
+ });
25
+ }
26
+ }
27
+ exports.MockIntegration = MockIntegration;
28
+ _a = JSII_RTTI_SYMBOL_1;
29
+ MockIntegration[_a] = { fqn: "terraconstructs.aws.compute.MockIntegration", version: "0.1.1" };
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9jay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3MvY29tcHV0ZS9pbnRlZ3JhdGlvbnMvbW9jay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdEQUl3QjtBQUV4Qjs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQWEsZUFBZ0IsU0FBUSx5QkFBVztJQUM5QyxZQUFZLE9BQTRCO1FBQ3RDLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSw2QkFBZSxDQUFDLElBQUk7WUFDMUIsT0FBTztTQUNSLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBTkgsMENBT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbnRlZ3JhdGlvbixcbiAgSW50ZWdyYXRpb25PcHRpb25zLFxuICBJbnRlZ3JhdGlvblR5cGUsXG59IGZyb20gXCIuLi9pbnRlZ3JhdGlvblwiO1xuXG4vKipcbiAqIFRoaXMgdHlwZSBvZiBpbnRlZ3JhdGlvbiBsZXRzIEFQSSBHYXRld2F5IHJldHVybiBhIHJlc3BvbnNlIHdpdGhvdXQgc2VuZGluZ1xuICogdGhlIHJlcXVlc3QgZnVydGhlciB0byB0aGUgYmFja2VuZC4gVGhpcyBpcyB1c2VmdWwgZm9yIEFQSSB0ZXN0aW5nIGJlY2F1c2UgaXRcbiAqIGNhbiBiZSB1c2VkIHRvIHRlc3QgdGhlIGludGVncmF0aW9uIHNldCB1cCB3aXRob3V0IGluY3VycmluZyBjaGFyZ2VzIGZvclxuICogdXNpbmcgdGhlIGJhY2tlbmQgYW5kIHRvIGVuYWJsZSBjb2xsYWJvcmF0aXZlIGRldmVsb3BtZW50IG9mIGFuIEFQSS4gSW5cbiAqIGNvbGxhYm9yYXRpdmUgZGV2ZWxvcG1lbnQsIGEgdGVhbSBjYW4gaXNvbGF0ZSB0aGVpciBkZXZlbG9wbWVudCBlZmZvcnQgYnlcbiAqIHNldHRpbmcgdXAgc2ltdWxhdGlvbnMgb2YgQVBJIGNvbXBvbmVudHMgb3duZWQgYnkgb3RoZXIgdGVhbXMgYnkgdXNpbmcgdGhlXG4gKiBNT0NLIGludGVncmF0aW9ucy4gSXQgaXMgYWxzbyB1c2VkIHRvIHJldHVybiBDT1JTLXJlbGF0ZWQgaGVhZGVycyB0byBlbnN1cmVcbiAqIHRoYXQgdGhlIEFQSSBtZXRob2QgcGVybWl0cyBDT1JTIGFjY2Vzcy4gSW4gZmFjdCwgdGhlIEFQSSBHYXRld2F5IGNvbnNvbGVcbiAqIGludGVncmF0ZXMgdGhlIE9QVElPTlMgbWV0aG9kIHRvIHN1cHBvcnQgQ09SUyB3aXRoIGEgbW9jayBpbnRlZ3JhdGlvbi5cbiAqIEdhdGV3YXkgcmVzcG9uc2VzIGFyZSBvdGhlciBleGFtcGxlcyBvZiBtb2NrIGludGVncmF0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1vY2tJbnRlZ3JhdGlvbiBleHRlbmRzIEludGVncmF0aW9uIHtcbiAgY29uc3RydWN0b3Iob3B0aW9ucz86IEludGVncmF0aW9uT3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIHR5cGU6IEludGVncmF0aW9uVHlwZS5NT0NLLFxuICAgICAgb3B0aW9ucyxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Configure what must be included in the `requestContext`
3
+ *
4
+ * More details can be found at mapping templates documentation.
5
+ * @see https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html
6
+ */
7
+ export interface RequestContext {
8
+ /**
9
+ * Represents the information of $context.identity.accountId
10
+ *
11
+ * Whether the AWS account of the API owner should be included in the request context
12
+ * @default false
13
+ */
14
+ readonly accountId?: boolean;
15
+ /**
16
+ * Represents the information of $context.apiId
17
+ *
18
+ * Whether the identifier API Gateway assigns to your API should be included in the request context.
19
+ * @default false
20
+ */
21
+ readonly apiId?: boolean;
22
+ /**
23
+ * Represents the information of $context.identity.apiKey
24
+ *
25
+ * Whether the API key associated with the request should be included in request context.
26
+ * @default false
27
+ */
28
+ readonly apiKey?: boolean;
29
+ /**
30
+ * Represents the information of $context.authorizer.principalId
31
+ *
32
+ * Whether the principal user identifier associated with the token sent by the client and returned
33
+ * from an API Gateway Lambda authorizer should be included in the request context.
34
+ * @default false
35
+ */
36
+ readonly authorizerPrincipalId?: boolean;
37
+ /**
38
+ * Represents the information of $context.identity.caller
39
+ *
40
+ * Whether the principal identifier of the caller that signed the request should be included in the request context.
41
+ * Supported for resources that use IAM authorization.
42
+ * @default false
43
+ */
44
+ readonly caller?: boolean;
45
+ /**
46
+ * Represents the information of $context.identity.cognitoAuthenticationProvider
47
+ *
48
+ * Whether the list of the Amazon Cognito authentication providers used by the caller making the request should be included in the request context.
49
+ * Available only if the request was signed with Amazon Cognito credentials.
50
+ * @default false
51
+ */
52
+ readonly cognitoAuthenticationProvider?: boolean;
53
+ /**
54
+ * Represents the information of $context.identity.cognitoAuthenticationType
55
+ *
56
+ * Whether the Amazon Cognito authentication type of the caller making the request should be included in the request context.
57
+ * Available only if the request was signed with Amazon Cognito credentials.
58
+ * Possible values include authenticated for authenticated identities and unauthenticated for unauthenticated identities.
59
+ * @default false
60
+ */
61
+ readonly cognitoAuthenticationType?: boolean;
62
+ /**
63
+ * Represents the information of $context.identity.cognitoIdentityId
64
+ *
65
+ * Whether the Amazon Cognito identity ID of the caller making the request should be included in the request context.
66
+ * Available only if the request was signed with Amazon Cognito credentials.
67
+ * @default false
68
+ */
69
+ readonly cognitoIdentityId?: boolean;
70
+ /**
71
+ * Represents the information of $context.identity.cognitoIdentityPoolId
72
+ *
73
+ * Whether the Amazon Cognito identity pool ID of the caller making the request should be included in the request context.
74
+ * Available only if the request was signed with Amazon Cognito credentials.
75
+ * @default false
76
+ */
77
+ readonly cognitoIdentityPoolId?: boolean;
78
+ /**
79
+ * Represents the information of $context.httpMethod
80
+ *
81
+ * Whether the HTTP method used should be included in the request context.
82
+ * Valid values include: DELETE, GET, HEAD, OPTIONS, PATCH, POST, and PUT.
83
+ * @default false
84
+ */
85
+ readonly httpMethod?: boolean;
86
+ /**
87
+ * Represents the information of $context.stage
88
+ *
89
+ * Whether the deployment stage of the API request should be included in the request context.
90
+ * @default false
91
+ */
92
+ readonly stage?: boolean;
93
+ /**
94
+ * Represents the information of $context.identity.sourceIp
95
+ *
96
+ * Whether the source IP address of the immediate TCP connection making the request
97
+ * to API Gateway endpoint should be included in the request context.
98
+ * @default false
99
+ */
100
+ readonly sourceIp?: boolean;
101
+ /**
102
+ * Represents the information of $context.identity.user
103
+ *
104
+ * Whether the principal identifier of the user that will be authorized should be included in the request context.
105
+ * Supported for resources that use IAM authorization.
106
+ * @default false
107
+ */
108
+ readonly user?: boolean;
109
+ /**
110
+ * Represents the information of $context.identity.userAgent
111
+ *
112
+ * Whether the User-Agent header of the API caller should be included in the request context.
113
+ * @default false
114
+ */
115
+ readonly userAgent?: boolean;
116
+ /**
117
+ * Represents the information of $context.identity.userArn
118
+ *
119
+ * Whether the Amazon Resource Name (ARN) of the effective user identified after authentication should be included in the request context.
120
+ * @default false
121
+ */
122
+ readonly userArn?: boolean;
123
+ /**
124
+ * Represents the information of $context.requestId
125
+ *
126
+ * Whether the ID for the request should be included in the request context.
127
+ * @default false
128
+ */
129
+ readonly requestId?: boolean;
130
+ /**
131
+ * Represents the information of $context.resourceId
132
+ *
133
+ * Whether the identifier that API Gateway assigns to your resource should be included in the request context.
134
+ * @default false
135
+ */
136
+ readonly resourceId?: boolean;
137
+ /**
138
+ * Represents the information of $context.resourcePath
139
+ *
140
+ * Whether the path to the resource should be included in the request context.
141
+ * @default false
142
+ */
143
+ readonly resourcePath?: boolean;
144
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2ludGVncmF0aW9ucy9yZXF1ZXN0LWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uZmlndXJlIHdoYXQgbXVzdCBiZSBpbmNsdWRlZCBpbiB0aGUgYHJlcXVlc3RDb250ZXh0YFxuICpcbiAqIE1vcmUgZGV0YWlscyBjYW4gYmUgZm91bmQgYXQgbWFwcGluZyB0ZW1wbGF0ZXMgZG9jdW1lbnRhdGlvbi5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2FwaWdhdGV3YXkvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2FwaS1nYXRld2F5LW1hcHBpbmctdGVtcGxhdGUtcmVmZXJlbmNlLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0Q29udGV4dCB7XG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBpbmZvcm1hdGlvbiBvZiAkY29udGV4dC5pZGVudGl0eS5hY2NvdW50SWRcbiAgICpcbiAgICogV2hldGhlciB0aGUgQVdTIGFjY291bnQgb2YgdGhlIEFQSSBvd25lciBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgY29udGV4dFxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudElkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgaW5mb3JtYXRpb24gb2YgJGNvbnRleHQuYXBpSWRcbiAgICpcbiAgICogV2hldGhlciB0aGUgaWRlbnRpZmllciBBUEkgR2F0ZXdheSBhc3NpZ25zIHRvIHlvdXIgQVBJIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBjb250ZXh0LlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYXBpSWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBpbmZvcm1hdGlvbiBvZiAkY29udGV4dC5pZGVudGl0eS5hcGlLZXlcbiAgICpcbiAgICogV2hldGhlciB0aGUgQVBJIGtleSBhc3NvY2lhdGVkIHdpdGggdGhlIHJlcXVlc3Qgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHJlcXVlc3QgY29udGV4dC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFwaUtleT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIG9mICRjb250ZXh0LmF1dGhvcml6ZXIucHJpbmNpcGFsSWRcbiAgICpcbiAgICogV2hldGhlciB0aGUgcHJpbmNpcGFsIHVzZXIgaWRlbnRpZmllciBhc3NvY2lhdGVkIHdpdGggdGhlIHRva2VuIHNlbnQgYnkgdGhlIGNsaWVudCBhbmQgcmV0dXJuZWRcbiAgICogZnJvbSBhbiBBUEkgR2F0ZXdheSBMYW1iZGEgYXV0aG9yaXplciBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgY29udGV4dC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcml6ZXJQcmluY2lwYWxJZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIG9mICRjb250ZXh0LmlkZW50aXR5LmNhbGxlclxuICAgKlxuICAgKiBXaGV0aGVyIHRoZSBwcmluY2lwYWwgaWRlbnRpZmllciBvZiB0aGUgY2FsbGVyIHRoYXQgc2lnbmVkIHRoZSByZXF1ZXN0IHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBjb250ZXh0LlxuICAgKiBTdXBwb3J0ZWQgZm9yIHJlc291cmNlcyB0aGF0IHVzZSBJQU0gYXV0aG9yaXphdGlvbi5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNhbGxlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIG9mICRjb250ZXh0LmlkZW50aXR5LmNvZ25pdG9BdXRoZW50aWNhdGlvblByb3ZpZGVyXG4gICAqXG4gICAqIFdoZXRoZXIgdGhlIGxpc3Qgb2YgdGhlIEFtYXpvbiBDb2duaXRvIGF1dGhlbnRpY2F0aW9uIHByb3ZpZGVycyB1c2VkIGJ5IHRoZSBjYWxsZXIgbWFraW5nIHRoZSByZXF1ZXN0IHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBjb250ZXh0LlxuICAgKiBBdmFpbGFibGUgb25seSBpZiB0aGUgcmVxdWVzdCB3YXMgc2lnbmVkIHdpdGggQW1hem9uIENvZ25pdG8gY3JlZGVudGlhbHMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjb2duaXRvQXV0aGVudGljYXRpb25Qcm92aWRlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIG9mICRjb250ZXh0LmlkZW50aXR5LmNvZ25pdG9BdXRoZW50aWNhdGlvblR5cGVcbiAgICpcbiAgICogV2hldGhlciB0aGUgQW1hem9uIENvZ25pdG8gYXV0aGVudGljYXRpb24gdHlwZSBvZiB0aGUgY2FsbGVyIG1ha2luZyB0aGUgcmVxdWVzdCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgY29udGV4dC5cbiAgICogQXZhaWxhYmxlIG9ubHkgaWYgdGhlIHJlcXVlc3Qgd2FzIHNpZ25lZCB3aXRoIEFtYXpvbiBDb2duaXRvIGNyZWRlbnRpYWxzLlxuICAgKiBQb3NzaWJsZSB2YWx1ZXMgaW5jbHVkZSBhdXRoZW50aWNhdGVkIGZvciBhdXRoZW50aWNhdGVkIGlkZW50aXRpZXMgYW5kIHVuYXV0aGVudGljYXRlZCBmb3IgdW5hdXRoZW50aWNhdGVkIGlkZW50aXRpZXMuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjb2duaXRvQXV0aGVudGljYXRpb25UeXBlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgaW5mb3JtYXRpb24gb2YgJGNvbnRleHQuaWRlbnRpdHkuY29nbml0b0lkZW50aXR5SWRcbiAgICpcbiAgICogV2hldGhlciB0aGUgQW1hem9uIENvZ25pdG8gaWRlbnRpdHkgSUQgb2YgdGhlIGNhbGxlciBtYWtpbmcgdGhlIHJlcXVlc3Qgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IGNvbnRleHQuXG4gICAqIEF2YWlsYWJsZSBvbmx5IGlmIHRoZSByZXF1ZXN0IHdhcyBzaWduZWQgd2l0aCBBbWF6b24gQ29nbml0byBjcmVkZW50aWFscy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNvZ25pdG9JZGVudGl0eUlkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgaW5mb3JtYXRpb24gb2YgJGNvbnRleHQuaWRlbnRpdHkuY29nbml0b0lkZW50aXR5UG9vbElkXG4gICAqXG4gICAqIFdoZXRoZXIgdGhlIEFtYXpvbiBDb2duaXRvIGlkZW50aXR5IHBvb2wgSUQgb2YgdGhlIGNhbGxlciBtYWtpbmcgdGhlIHJlcXVlc3Qgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IGNvbnRleHQuXG4gICAqIEF2YWlsYWJsZSBvbmx5IGlmIHRoZSByZXF1ZXN0IHdhcyBzaWduZWQgd2l0aCBBbWF6b24gQ29nbml0byBjcmVkZW50aWFscy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNvZ25pdG9JZGVudGl0eVBvb2xJZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIG9mICRjb250ZXh0Lmh0dHBNZXRob2RcbiAgICpcbiAgICogV2hldGhlciB0aGUgSFRUUCBtZXRob2QgdXNlZCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgY29udGV4dC5cbiAgICogVmFsaWQgdmFsdWVzIGluY2x1ZGU6IERFTEVURSwgR0VULCBIRUFELCBPUFRJT05TLCBQQVRDSCwgUE9TVCwgYW5kIFBVVC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGh0dHBNZXRob2Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBpbmZvcm1hdGlvbiBvZiAkY29udGV4dC5zdGFnZVxuICAgKlxuICAgKiBXaGV0aGVyIHRoZSBkZXBsb3ltZW50IHN0YWdlIG9mIHRoZSBBUEkgcmVxdWVzdCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgY29udGV4dC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN0YWdlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgaW5mb3JtYXRpb24gb2YgJGNvbnRleHQuaWRlbnRpdHkuc291cmNlSXBcbiAgICpcbiAgICogV2hldGhlciB0aGUgc291cmNlIElQIGFkZHJlc3Mgb2YgdGhlIGltbWVkaWF0ZSBUQ1AgY29ubmVjdGlvbiBtYWtpbmcgdGhlIHJlcXVlc3RcbiAgICogdG8gQVBJIEdhdGV3YXkgZW5kcG9pbnQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IGNvbnRleHQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VJcD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIG9mICRjb250ZXh0LmlkZW50aXR5LnVzZXJcbiAgICpcbiAgICogV2hldGhlciB0aGUgcHJpbmNpcGFsIGlkZW50aWZpZXIgb2YgdGhlIHVzZXIgdGhhdCB3aWxsIGJlIGF1dGhvcml6ZWQgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IGNvbnRleHQuXG4gICAqIFN1cHBvcnRlZCBmb3IgcmVzb3VyY2VzIHRoYXQgdXNlIElBTSBhdXRob3JpemF0aW9uLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgdXNlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIG9mICRjb250ZXh0LmlkZW50aXR5LnVzZXJBZ2VudFxuICAgKlxuICAgKiBXaGV0aGVyIHRoZSBVc2VyLUFnZW50IGhlYWRlciBvZiB0aGUgQVBJIGNhbGxlciBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgY29udGV4dC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHVzZXJBZ2VudD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIG9mICRjb250ZXh0LmlkZW50aXR5LnVzZXJBcm5cbiAgICpcbiAgICogV2hldGhlciB0aGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIGVmZmVjdGl2ZSB1c2VyIGlkZW50aWZpZWQgYWZ0ZXIgYXV0aGVudGljYXRpb24gc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IGNvbnRleHQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB1c2VyQXJuPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmVwcmVzZW50cyB0aGUgaW5mb3JtYXRpb24gb2YgJGNvbnRleHQucmVxdWVzdElkXG4gICAqXG4gICAqIFdoZXRoZXIgdGhlIElEIGZvciB0aGUgcmVxdWVzdCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgY29udGV4dC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RJZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIG9mICRjb250ZXh0LnJlc291cmNlSWRcbiAgICpcbiAgICogV2hldGhlciB0aGUgaWRlbnRpZmllciB0aGF0IEFQSSBHYXRld2F5IGFzc2lnbnMgdG8geW91ciByZXNvdXJjZSBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgY29udGV4dC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlSWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBSZXByZXNlbnRzIHRoZSBpbmZvcm1hdGlvbiBvZiAkY29udGV4dC5yZXNvdXJjZVBhdGhcbiAgICpcbiAgICogV2hldGhlciB0aGUgcGF0aCB0byB0aGUgcmVzb3VyY2Ugc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IGNvbnRleHQuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZVBhdGg/OiBib29sZWFuO1xufVxuIl19
@@ -0,0 +1,102 @@
1
+ import { RequestContext } from ".";
2
+ import * as sfn from "..";
3
+ import { AwsIntegration } from "./aws";
4
+ import { IntegrationOptions } from "../integration";
5
+ /**
6
+ * Options when configuring Step Functions synchronous integration with Rest API
7
+ */
8
+ export interface StepFunctionsExecutionIntegrationOptions extends IntegrationOptions {
9
+ /**
10
+ * Which details of the incoming request must be passed onto the underlying state machine,
11
+ * such as, account id, user identity, request id, etc. The execution input will include a new key `requestContext`:
12
+ *
13
+ * {
14
+ * "body": {},
15
+ * "requestContext": {
16
+ * "key": "value"
17
+ * }
18
+ * }
19
+ *
20
+ * @default - all parameters within request context will be set as false
21
+ */
22
+ readonly requestContext?: RequestContext;
23
+ /**
24
+ * Check if querystring is to be included inside the execution input. The execution input will include a new key `queryString`:
25
+ *
26
+ * {
27
+ * "body": {},
28
+ * "querystring": {
29
+ * "key": "value"
30
+ * }
31
+ * }
32
+ *
33
+ * @default true
34
+ */
35
+ readonly querystring?: boolean;
36
+ /**
37
+ * Check if path is to be included inside the execution input. The execution input will include a new key `path`:
38
+ *
39
+ * {
40
+ * "body": {},
41
+ * "path": {
42
+ * "resourceName": "resourceValue"
43
+ * }
44
+ * }
45
+ *
46
+ * @default true
47
+ */
48
+ readonly path?: boolean;
49
+ /**
50
+ * Check if header is to be included inside the execution input. The execution input will include a new key `headers`:
51
+ *
52
+ * {
53
+ * "body": {},
54
+ * "headers": {
55
+ * "header1": "value",
56
+ * "header2": "value"
57
+ * }
58
+ * }
59
+ * @default false
60
+ */
61
+ readonly headers?: boolean;
62
+ /**
63
+ * If the whole authorizer object, including custom context values should be in the execution input. The execution input will include a new key `authorizer`:
64
+ *
65
+ * {
66
+ * "body": {},
67
+ * "authorizer": {
68
+ * "key": "value"
69
+ * }
70
+ * }
71
+ *
72
+ * @default false
73
+ */
74
+ readonly authorizer?: boolean;
75
+ /**
76
+ * Whether to add default response models with 200, 400, and 500 status codes to the method.
77
+ *
78
+ * @default true
79
+ */
80
+ readonly useDefaultMethodResponses?: boolean;
81
+ }
82
+ /**
83
+ * Options to integrate with various StepFunction API
84
+ */
85
+ export declare class StepFunctionsIntegration {
86
+ /**
87
+ * Integrates a Synchronous Express State Machine from AWS Step Functions to an API Gateway method.
88
+ *
89
+ * @example
90
+ *
91
+ * const stateMachine = new stepfunctions.StateMachine(this, 'MyStateMachine', {
92
+ * stateMachineType: stepfunctions.StateMachineType.EXPRESS,
93
+ * definition: stepfunctions.Chain.start(new stepfunctions.Pass(this, 'Pass')),
94
+ * });
95
+ *
96
+ * const api = new apigateway.RestApi(this, 'Api', {
97
+ * restApiName: 'MyApi',
98
+ * });
99
+ * api.root.addMethod('GET', apigateway.StepFunctionsIntegration.startExecution(stateMachine));
100
+ */
101
+ static startExecution(stateMachine: sfn.IStateMachine, options?: StepFunctionsExecutionIntegrationOptions): AwsIntegration;
102
+ }